2 dynamic priority scheduling – Intel AS/400 RISC Server User Manual
Page 303
This web site is primarily focused on results for systems that the Volano company measures themselves.
These results tend to be for much smaller, Intel-based systems that are not comparable with iSeries
servers. The web site also references articles written by other groups regarding their measurements of the
benchmark, including AS/400 and iSeries articles. iSeries servers have demonstrated significant strengths
in this benchmark, particularly in scaling to large systems.
19.2 Dynamic Priority Scheduling
On an AS/400 CISC-model, all ready-to-run OS/400 jobs and Licensed Internal Code (LIC) tasks are
sequenced on the Task Dispatching Queue (TDQ) based on priority assigned at creation time. In addition,
for N-way models, there is a cache affinity field used by Horizontal Licensed Internal Code (HLIC) to
keep track of the processor on which the job was most recently active. A job is assigned to the processor
for which it has cache affinity, unless that would result in a processor remaining idle or an excessive
number of higher-priority jobs being skipped. The priority of jobs varies very little such that the
resequencing for execution only affects jobs of the same initially assigned priority. This is referred to as
Fixed Priority Scheduling.
For V3R6 and beyond, the new algorithm being used is Dynamic Priority Scheduling. This new
scheduler schedules jobs according to "delay costs" dynamically computed based on their time waiting in
the TDQ as well as priority. The job priority may be adjusted if it exceeded its resource usage limit. The
cache affinity field is no longer used in a N-way multiprocessor machine. Thus, on an N-way
multiprocessor machine, a job will have equal affinity for all processors, based only on delay cost.
A new system value, QDYNPTYSCD, has been implemented to select the type of job dispatching. The
job scheduler uses this system value to determine the algorithm for scheduling jobs running on the
system. The default for this system value is to use Dynamic Priority Scheduling (set to '1'). This
scheduling scheme allows the CPU resource to be spread to all jobs in the system.
The benefits of Dynamic Priority Scheduling are:
y
No job or set of jobs will monopolize the CPU
y
Low priority jobs, like batch, will have a chance to progress
y
Jobs which use too much resource will be penalized by having their priority reduced
y
Jobs response time/throughput will still behave much like fixed priority scheduling
By providing this type of scheduling, long running, batch-type interactive transactions, such as a query,
will not run at priority 20 all the time. In addition, batch jobs will get some CPU resources rather than
interactive jobs running at high CPU utilization and delivering response times that may be faster than
required.
To use Fixed Priority Scheduling, the system value has to be set to '0'.
Delay Cost Terminology
y
Delay Cost
Delay cost refers to how expensive it is to keep a job in the system. The longer a job spends in the
system waiting for resources, the larger its delay cost. The higher the delay cost, the higher the
priority. Just like the priority value, jobs of higher delay cost will be dispatched ahead of other jobs
IBM i 6.1 Performance Capabilities Reference - January/April/October 2008
©
Copyright IBM Corp. 2008
Chapter 19 - Misc Perf Information
303