Performance Guidelines General Information
The performance characteristics of an operating system, when it is run
in a virtual machine environment, are difficult to predict. This
unpredictability is a result of several factors: The System/370 model used. The total number of virtual machines executing. The type of work being done by each virtual machine. The speed, capacity, and number of the paging devices. The amount of real storage available. The degree of channel and control unit contention, as well as arm
contention, affecting the paging device. The type and number of VM/370 performance options in use by one or
more virtual machines. I The degree of MSS 3330 volume use.
Performance of any virtual machine may be improved up
by the choice of hardware, operating system, and VM/370 topics discussed in this section address:
to some limit
options. The
1. The performance options available in VM/370 to improve the
performance of a particular virtual machine.
2. The system options and operational characteristics of operating
systems running in virtual machines that will affect their
execution in the virtual machine environment.
The performance of a specific virtual machine may never equal that of
the same operating system running standalone on the same System/370, but
the total throughput obtained in the virtual machine environment may
equal or better that obtained on a real machine.
When executing in a virtual machine, any function that cannot be
performed wholly by the hardware causes some degree of degradation in
the virtual machine's performance. As the control program for the real
machine, CP initially processes all real interrupts. A virtual machine
operating system's instructions are always executed in state.
Any privileged instruction issued by the virtual machine causes a real
privileged instruction exception interruption. 1he amount of work to be
done by CP to analyze and handle a virtual machine-initiated interrupt
depends upon the type and complexity of the interrupt.
The simulation effort required of CP may be trivial, as for a
supervisor call (SVC) interrupt (which is generally reflected back to
the virtual machine), or may be more complex, as in the case of a Start I/O (SIO) interrupt, which initiates extensive CP processing.
88 IBM VM/370 System Programmer's Guide
When planning for the virtual machine environment, consideration
should be given to the number and type of privileged instructions to be executed by the virtual machines. Any raduction in the number of privileged ipstructions issued by the virtual machine's operating system
will reduce the amount of extra work CP must do to support the machine. Virtual Machine I/O To support I/O processing in a virtual machine, CP must translate all
virtual machine channel command word (CCi) sequences to refer to real
storage and real devices and, in the case of minidisks, real cylinders. When a virtual machine issues an 510, CP must: 1. Intercept the virtual machine 510 interrupt.
2. Allocate real storage space to hold the real CCW list to be
created .. 3. Translate the virtual device addresses referred to in the virtual CCWs to real addresses: 4. Page into real
operation, all
operation.
storage and lock, for the duration of the I/O virtual storage pages required to support the I/O 5. Generate a new CCi sequence building a Channel Indirect Data
Address list if the real storage locations cross page boundaries. 6. If the real device is a 3330V, append an MSS cylinder fault prefix
to the CCW prefix to prevent the channel from doing channel command
retry.
7. Schedule the I/O request. 8. Present the SIO condition code to the virtual machine. Recognize an MSS cylinder fault, queue the I/O request, and
reschedule the request when the subsequent interruFtion is received
(indicating staging is complete). 10. Intercept, retranslate, and present the channel end and device end
interrupts to the appropriate virtual machine, where they must then
be processed by the virtual machine operating system. CP's handling of SIOs for virtual machines can be one of the most
significant causes of reduced performance in virtual machines.
The number of 510 operations required by a virtual machine can be
significantly reduced in several ways: Use of large blocking factors (up to 4096 bytes) for user data sets
to reduce the total number of SIOs needed. Use of preallocated data sets. Use of virtual machine operating system options (such as chained
scheduling in OS) that reduce the number of 510 instructions. Part 2. Control Program (CP) 89
Previous Page Next Page