IBM Books

IBM LoadLeveler for AIX 5L: Using and Administering

Step 6: Prioritize the queue maintained by the negotiator

Each job submitted to LoadLeveler is assigned a system priority number, based on the evaluation of the SYSPRIO keyword expression in the configuration file of the central manager. The LoadLeveler system priority number is assigned when the central manager adds the new job to the queue of jobs eligible for dispatch. Once assigned, the system priority number for a job is never changed (unless jobs for a user swap their SYSPRIO, or NEGOTIATOR_RECALCULATE_SYSPRIO_INTERVAL is not zero). Jobs assigned higher SYSPRIO numbers are considered for dispatch before jobs with lower numbers. See How does a job's priority affect dispatching order? for more information on job priorities.

You can use the following LoadLeveler variables to define the SYSPRIO expression:

ClassSysprio
The priority for the class of the job step, defined in the class stanza in the administration file. The default is 0.

GroupQueuedJobs
The number of job steps associated with a LoadLeveler group which are either running or queued. (That is, job steps which are in one of these states: Checkpointing, Preempted, Preempt Pending, Resume Pending, Running, Starting, Pending, or Idle.)

GroupRunningJobs
The number of job steps for the LoadLeveler group which are in one of these states: Checkpointing, Preempted, Preempt Pending, Resume Pending, Running, Starting, or Pending.

GroupSysprio
The priority for the group of the job step, defined in the group stanza in the administration file. The default is 0.

GroupTotalJobs
The total number of job steps associated with this LoadLeveler group. Total job steps are all job steps reported by the llq command.

QDate
The difference in the UNIX date when the job step enters the queue and the UNIX date when the negotiator starts up.

UserPrio
The user-defined priority of the job step, specified in the job command file with the user_priority keyword. The default is 50.

UserQueuedJobs
The number of job steps either running or queued for the user. (That is, job steps which are in one of these states: Checkpointing, Preempted, Preempt Pending, Resume Pending, Running, Starting, Pending, or Idle.)

UserRunningJobs
The number of job step steps for the user which are in one of these states: Checkpointing, Preempted, Preempt Pending, Resume Pending, Running, Starting, or Pending.

UserSysprio
The priority of the user who submitted the job step, defined in the user stanza in the administration file. The default is 0.

UserTotalJobs
The total number of job steps associated with this user. Total job steps are all job steps reported by the llq command.

Usage notes for the SYSPRIO keyword

Using the SYSPRIO keyword - examples

Example 1

This example creates a FIFO job queue based on submission time:

SYSPRIO : 0 - (QDate)

Example 2

This example accounts for Class, User, and Group system priorities:

SYSPRIO : (ClassSysprio * 100) + (UserSysprio * 10) + (GroupSysprio * 1) - (QDate)

Example 3

This example orders the queue based on the number of jobs a user is currently running. The user who has the fewest jobs running is first in the queue. You should set NEGOTIATOR_RECALCULATE_SYSPRIO_INTERVAL in conjunction with this SYSPRIO expression.

SYSPRIO : 0 - UserRunningJobs


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]