|
|
Communicator 3000 MPE/iX Release 6.0 (Platform Software Release C.60.00): HP 3000 MPE/iX Computer Systems > Chapter 3 System Management User-Defined Job Queues and ALTJOB HIPRI Enhancements |
|
by Mohan Das Konanoor and Jayaram Previously MPE/iX had one job queue into which all the submitted jobs went before getting launched by the dispatcher. A few long jobs could prevent many short jobs from running. MPE/iX can now have up to 255 user-defined job queues, each having a separate limit on the number of jobs that can be run. Users can specify the queue to which their jobs should log on by using the newly added ;JOBQ= parameter of !JOB command or !STREAM command. There will be one default job queue named HPSYSJQ, which will be created during the system bootup.
Syntax:
The NEWJOBQ command creates a new job queue. SM/OP capability is required to execute this command. Limit is the only queue controlling property. The jobs in the queue are sorted by their INPRI. In case of a tie for INPRI, jobs are sorted by their INTRO time. The global limit takes precedence over individual queue limits. That is, even if a JOBQ has a slot available, if the overall limit has been reached, jobs have to wait until one of the jobs finishes or the global limit is increased. When a global slot becomes available, the next job is picked from among the eligible job queues (those which haven't yet reached their individual limits) using the following algorithm:
The job queues persist across reboots, provided a START RECOVERY is done. Any other system starts will cause the job queues to be deleted and they will have to be created again. This command is available in a session, job, or in BREAK. Pressing [Break] has no effect on this command. This command is not allowed in SYSSTART. Parameters: qname is the name of the queue to be created. Queue names can contain any characters. Queue names can be up to 8 characters in length and longer names will be truncated. If a queue of this name already exists, an error is indicated. limit is the maximum number of jobs that can be allowed in this queue. The limit value can be changed using the :LIMIT [+-]n;JOBQ= command. If omitted, a value of zero is assumed. Example:
Syntax:
The PURGEJOBQ command deletes a job queue. The queue will be deleted only if it is empty, that is if no jobs are waiting or executing in the queue. The default system job queue can not be purged. The user must have SM/OP capability to execute the command. This command is available in a session, job, or in BREAK. Pressing [Break] aborts the execution of this command. This command is not allowed in SYSSTART. Parameters: qname is the name of the queue to be deleted. Example:
Syntax:
The LISTJOBQ command allows the user to list all the existing job queues in the system. It displays the queue name, limit, number of jobs in the queue that are in the EXEC state and the total number jobs in the queue, (Number of jobs in the EXEC state + Number of jobs in the WAIT state). This command is not allowed in SYSSTART. Example:
Syntax:
The LIMIT command allows users with OP capability to change the job and session limits. As a result of this enhancement, it can be used to change the limit value of individual job queues. The LIMIT command now accepts a new parameter ;JOBQ=. It also accepts + or - before the numeric values to indicate increment or decrement. Parameters: qname is the name of the job queue whose limit is to be changed. If the queue name is not specified, LIMIT command will alter the global limit values. +/- if specified before the numeric value, the corresponding limit value will be incremented/decremented. Examples:
Syntax:
JOB command now accepts a new parameter ;JOBQ=. Users can specify the job queue name into which a particular job should log on. If a job queue is specified in the STREAM command then it overrides the name specified in the JOB command. If no queue name is specified default system job queue is used. Parameters: qname is the name of the queue into which the job should log on. Example:
Syntax:
ALTJOB alters the attributes of waiting or scheduling jobs. ALTJOB now accepts a new parameter ;JOBQ=. Jobs waiting or executing in a queue can moved to other queues. ;HIPRI is used to change the priority of the job as HIPRI. This option can be used to override the job limit. SM or OP capability is required for both JOBQ= and ;HIPRI. When an executing job is moved, the limit of the target queue is ignored and the job continues to execute in the new queue. A waiting job continues to wait in the new queue if the queue has already reached its limit. Parameters: qname is the name of the job queue into which the job is to be moved. hipri is the name of the option to change the priority of a job. Example:
Syntax:
STREAM command now accepts a new parameter ;JOBQ= User can specify the queue name into which a particular job should go. The name specified overrides the queue name specified in the JOB command. Parameters: qname is the name of the queue into which the job must log on. If no queue name is specified the default system job queue will be used. Example:
Syntax:
SHOWJOB command displays status information about jobs/sessions. It now accepts a new format parameter ;JOBQ which will indicate the queue name to which the job belongs. A new field JOBQ is added into the SHOWJOB output format. If the ;JOBQ option is not specified the SHOWJOB output will be the same as before. Example:
|
|