QUEUE MONITOR Andy Gosselin September 4, 1985 Northeastern Univ. Boston, MA (617) 437-4430 Queue Monitor User's Guide Page 2 1 PURPOSE The queue monitoring program is designed to provide automated management of the batch queues. Based on a configuration specified at the start of the program, the queue monitor acts as an operator who pauses or starts queues. The current number of interactive users will allow it to make such operator decisions. This utility was designed based on a need to prioritize time slices for the interactive users, verses for batch jobs. It is related somewhat to managing an overnight-holiday queue. A future release will be based o the percentage of idle cpu time as this is clearly more indicative of system load. The present incarnation still fills the void as a stop-gap. 2 INSTALLATION In order to help install the monitor on your system there exists a command file called 'INSTALL.COM'. Its function is to take the source files from a directory indicated by the user and produce an executable image. It also makes an entry into the system logical name table pointing to that directory. The logical name used is QUEMON$LIBRARY. Once installed the program can be run as a detached process by executing the command file called 'START.COM'. A data file for the queue configurations is built during the first part of this procedure. The later part involves the creation of a detached process. For input formats read the next paragraphs. All input and output, plus all code is to be found in the directory indicated by QUEMON$LIBRARY. START.COM is AUTOMATICALLY invoked by the installation procedure. The monitor can be a process that is automatically started up by the system by placing a couple of lines in the system startup procedure. These lines are: $ ASSIGN/SYS name_of_the_queue_monitor_library QUEMON$LIBRARY $ @QUE_MONITOR Where 'QUEMONITOR.COM' creates a detached process. It assumes the data file 'CONFIG.DAT' has already been built. 3 DESIGN METHODOLOGY Upon starting the queue monitor, the program will request configuration specifications. Currently these specifications include three things, the name of the target queue, the time slice or interval in which the monitor returns to make a check on the queue, and the critical number of users which can be supported before the queue is stopped. Up to 256 configurations can be specified, however it is suggested that not more than one configuration be entered for each queue. Since the specifications are entered sequentially in the order mentioned above. The input format follows: Queue Monitor User's Guide Page 3 Queue Name: 1. Maximum of 31 characters indicating a queue name which can be found in the SHOW QUEUE command. 2. The end of file or Z will indicate that no more queue configurations wish to be entered. Time Slice: 1. The time slice should be entered in a time format based on military time, (hh:mm:ss.cc). 2. The maximum slice is slightly less than 24 hours. 3. Parts of the time can be defaulted to the current time by their elimination, (eg. 12:00:. defaults to the current number of seconds and miliseconds plus 12 hours). Critical Load: 1. An integer representing the tolerance level for the number of interactive users. The target queue is stopped once the tolerance has been broken. Once the configurations have been entered, the driver program calls the monitor routine. The monitor runs indefinitely from that point on, simply surviving on the interrupts that check the queues. For this reason it is suggested that the program be run as a detached process, with an input file being used to describe the queues' configurations. There are two output files that are created by the queue monitor. The first one is created as the configurations are read in. Its name is 'CONFIG.DEF'. It is closed before the monitoring routine is called. The second file is a log file which contains entries indicating when a queue operation was made. Its name is 'QUEMONIT.LOG'. Both of these files are created anew each time the queue monitor is started.