Entries on the dispatch list are the VKBLOKs for those virtual
machines in states 1, 2, 5, and 6, and represent the virtual machines
that can be run at any giventime. (States 2 and 6 remain in the
dispatch list even though they are not dispatchable.) The dispatch list
is sortedby dispatching priority, which is the ratio of processor tille
to waittille over the length of the current virtual machine task. A task is defined as that execution that takes place between terminal
reads or entry to enabled wait (that is,lIovement from state 4 or 8 to
state 1) and is re-projected for a virtualmachine each time it is
droppedfroll a queue. Virtual machines entering state 1 always have a priority- o-f9-. The eligible list contains virtual machines in states 3 and 7: these
virtuallIachines are potentially executable, but due to the current load
on thesystem they are not allowed to compete for the processor. Is soon as a virtual machine in the dispatch list is dropped froll queue,
the highest-priority virtual machine(s) in the eligible list is added to
the dispatch list. Conditions can arise where the virtualmachine that
is added to the dispatch list has a prOjected working set size that far
exceeds theremaining system capacity. The eligible list has two cOllponents; a section composed of those virtual machines waiting for Q1
(interactive) and a section composed of those virtual machines waiting
for02 (non-interactive). Each section of the list is sorted by
scheduling priority, which is determined at the time the virtualmachine is added to the eligible list, as follows:
1. The virtual machine's prOjected working set size, calculated the
lasttime it was dropped from a queue, is expressed as a percentage
of the amount ofmain storage'- available for paging. This
percentage, usually between0 and 100, is multiplied by the paging
bias factor (stored atDKKSCHPB). 2. The virtual machine's priority (the priority set by the directory
or the classA SET PRIORITY command) is multiplied by the user bias
factor (stored atDftKSCHUB). and is added to the paging bias
calculated in step 1.
3. Thesum of paging and user bias is divided by the sum of the bias
factors to obtain a weighted average.4. 1 base priority is obtained by storing the TOO clock and using the leftmost word, which increases by 1 approximately once per second.
This word is then modified by shifting it left or right based on
the priority delay factor (stored atDBKSCHPDj. If DBKSCHPD is positive, it indicates a right shift, thereby increasing the delay
interval of the base priority.A negative value indicates a left
shift.
5. The weighted average obtained in step 3 is then logically added to
the adjusted base obtained in step4. 6. If the virtual machine is entering 02 for the first time after
being droppedfrom Q1, the interactive bias factor (stored at DKKSCHIB) is subtracted froll the priority obtained in step 5. If
the virtualmachine is entering Q1, or if it was last dropped from 02, the interactive bias is not applied.
7. The result of steps 1 through 6 is the scheduling or eligible list
priority, and is stored in theVKEPRIOR field of the VKBLOK. The V!BLOK is then sorted into the appropriate section of the
eligible list in ascending value ofVKEPRIOR. The effects of the
various biases and the delay factor are illustratedby the following examples. CP Introduction 1-129
machines in states 1, 2, 5, and 6, and represent the virtual machines
that can be run at any given
dispatch list even though they are not dispatchable.) The dispatch list
is sorted
to wait
reads or entry to enabled wait (that is,
state 1) and is re-projected for a virtual
dropped
virtual
on the
the highest-priority virtual machine(s) in the eligible list is added to
the dispatch list. Conditions can arise where the virtual
is added to the dispatch list has a prOjected working set size that far
exceeds the
(interactive) and a section composed of those virtual machines waiting
for
scheduling priority, which is determined at the time the virtual
1. The virtual machine's prOjected working set size, calculated the
last
of the amount of
percentage, usually between
bias factor (stored at
or the class
factor (stored at
calculated in step 1.
3. The
factors to obtain a weighted average.
This word is then modified by shifting it left or right based on
the priority delay factor (stored at
interval of the base priority.
shift.
5. The weighted average obtained in step 3 is then logically added to
the adjusted base obtained in step
being dropped
the virtual
7. The result of steps 1 through 6 is the scheduling or eligible list
priority, and is stored in the
eligible list in ascending value of
various biases and the delay factor are illustrated