When the resources of the processor (and real storage) are being
allocated, the dispatching and scheduling functions are implemented in
such a manner that options exist which allow an installation to
designate that certain virtual machines are to receive preferential
treatment.
The favored execution options allow an installation to modify the
algorithms described above and force the system to devote more of its
resources to a given virtual machine than would ordinarily be the case.
The options provided are:
1. The favored execution 2. The favored execution percentage.
The favored execution option means that the virtual machine so
designated is never to be dropped from the active (in-queue) subset by the scheduler. When the virtual machine is executable, it is to be
placed in the dispatchable list at its normal priority position.
However, any active virtual machine represents either an explicit or implicit commitment of main storage. An explicit storage commitment can
be specified by either the virtual=real option or the reserved page
option. An implicit commitment exists if neither of these options are
specified, and the scheduler recomputes the virtual machine's projected
work-set at what it would normally have been at queue-drop time. Multiple virtual machines can have the basic favored execution option
set. However, if their combined main storage requirements exceed the syte.'s capacity, performance can suffer due to thrashing.
The basic favored execution option removes the primary source of
elapsed time stretch-out in a loaded time-sharing environment. However,
if the favored task is highly compute-bound and must compete for the
processor with many other tasks of the same type, an installation can
define the processor allocation to be made •. In this case, the favored
execution percentage option can be selected for the virtual machine.
This option specifies that the selected virtual machine, in addition to remaining in queue, receives a given minimum percentage of the total
processor time, if he can use it. The percentage is assured in the following Banner: i. 2. The in-queue tiae and added to the
usage.
slice is multiplied by the requested percentage
virtual machine's current total processor time When the favored virtual
placed at the top of the
his guarantee. machine, is dispatchable list until it
it is always
has obtained
3. If the virtual machine obtains its guarantee before the interval
has elapsed, it is placed in the dispatchable list according to its
caluculated dispatching priority. 4. In any case, at the end of the in-queue time slice, the gUdrantee
is recomputed as in step 1 and the process repeated.
These options
machines and only
any given time. can impact the response time of interactive virtual
one favored percentage virtual machine is allowed at
CP Introduction 1-135
Most of the routines in the CP nucleus are reenterable and multiple
control program or virtual machine tasks can make use of one routine at
the same time. However, there are certain areas where requests for a
resource must be serialized (as in paging) or delayed while previous
requests are serviced (as in requests to schedule I/O). The routine handling the request obtains a CPEXBLOK from free storage
and stores the caller's registers in it; when the requested resource is free, the CPEIBLOK is stacked for the dispatcher via a call to the
request stack manager (DMKSTK). The dispatcher unstacks the block and
exits to the requesting routine the next time it is entered. I/O requests are stacked in the same manner, except that the stacking
vehicle is the IOBLOK, and return is passed to the address specified in
the interrupt return address (IOBIR1). In either case, it should be
noted that the dispatcher always unstacks and gives control to any
stacked IOBLOKs and CPEXBLOKs prior to dispatching a user. This
guarantees that CP information needed by a virtual machine (such as page
availability) is always as up to date as possible. CP SPOOLING The spooling support in CP performs three functions. Simulates the operation of the virtual unit record devices that are
attached to each user's virtual machine configuration. The simulation is done in such a way that it appears to the program in
the virtual .achine that it is controlling a real unit record device.
This support involves the interception and interpretation of virtual machine SIOs, the move.ent of data to and from the virtual machine's virtual storage space, and the reflection of the necessary
interruption codes and ending conditions in PSiS, CSWs, and sense
bytes. This support is provided by the virtual spooling executive. Operates the real unit record equipment, attached to the syste., that
transcribes virtual machine output spool files to the real printer or
punch and input from the real card reader to D1SD storage. This
function is provided by the real spooling executive. Provides an interface among the virtual machines, the system operator, and the spooling system so that the location, format, priority and utilization of the systems spooling data and resources
can be controlled.
1-136 IBM VM/370 System Logic and Problem Deter.ination--Volume 1
Previous Page Next Page