Performance system values: Dynamically adjust job priorities within priority bands

The Dynamically adjust job priorities within priority bands system value is also known as QDYNPTYSCD. You can use this system value to specify whether to dynamically adjust job priorities. The task scheduler uses this system value to determine the scheduling of jobs for the processor.

Quick reference
Location From IBM® Navigator for i, select Configuration and Service > System Values. Right-click on Performance and click Properties, then select the General tab.
Special authority All object (*ALLOBJ) and security administrator (*SECADM).
Default value Selected. Dynamically adjust job priorities within priority bands is turned on.
Changes take effect At the next restart of the system.
Lockable No.

What can I do with this system value?

This system value sets the task scheduling policy. A change to this system value takes effect at the next IPL. You can select to use the static priority scheduling policy (0) or the dynamic priority scheduling policy (1). Under both policies, the scheduler favors lower numeric priority values over higher numeric priority values (priority 0 is the most favorable and priority 99 is the least favorable).

A task is the basic unit of program processing in the system. All jobs, processes, and threads run as tasks and are subject to the task scheduling policy. High priority tasks have low numerical priority value, and low priority tasks have high numerical priority value.

Static priority scheduling

Under the static priority scheduling policy, when multiple tasks are ready to run, the scheduler assigns the processor to the highest priority task (the task with the lowest numerical priority value) and uses round-robin scheduling to break ties. The operating system does not alter the assigned priority values (priorities are fixed). You must use the static scheduling policy with caution because a CPU bound high priority task can monopolize the CPU to the exclusion of lower priority tasks (tasks with higher numerical priority value).

Dynamic priority scheduling

Under the dynamic priority scheduling policy, priorities are divided into two ranges: the fixed range (priorities 0-9) and the dynamic range (priorities 10-99).

Priorities 0-9, which are always more favorable than the priorities in the dynamic range, are treated using the static priority scheduling policy when the scheduler assigns the processor. Therefore, you must use priorities 0-9 with caution.

Tasks of priorities 10-99 are dynamically scheduled.

When assigning the processor to a task, the scheduler refers to the task's cost. A task's cost is the task's initial cost plus the cost that results from the task waiting for service. High priority tasks have high initial cost while low priority tasks have low initial cost. Higher priority tasks accumulate cost faster than lower priority tasks.

The scheduler assigns the processor to the task that has the highest cost when multiple tasks are ready to run. Therefore, high priority tasks get better service than low priority tasks, and all tasks get service. The dynamic priority scheduling policy reduces the risk of starvation because the lowest priority tasks get service when their costs exceed those of high priority tasks.

The priorities of tasks in the dynamic range are not fixed. When a task uses more CPU or I/O than it should use, if several tasks are waiting to be processed, the system might temporarily modify the task's priority, making the task less favorable so that other tasks can use system resources.

Priorities 10-99 are grouped into bands. The difference in relative favorability between priorities of the same band is much less significant than the difference in relative favorability between priorities of different bands. Some bands might also have CPU and I/O limits defined. For example, on a particular system, the priorities might be grouped into bands as follows:

Band 1 priorities 10-16
*Band 2 priorities 17-22
*Band 3 priorities 23-35
Band 4 priorities 36-46
Band 5 priorities 47-51
Band 6 priorities 52-89
Band 7 priorities 90-99
* CPU and I/O limits are defined for the band.

When dynamic priority scheduling is in use, CPU and I/O limits are imposed on the transactions of jobs in the dynamic priority range. When a job has exceeded its CPU or I/O limits, the system might temporarily reduce the job's priority to favor jobs that have not exceeded their limits. When this occurs, the job's priority is typically reduced enough to move to the next lower priority band until the job completes the current transaction. When the transaction is completed, the job's priority is restored. For example, a job of priority 17 might be temporarily reduced to priority 23.