Virtual Machine I/O To support I/O processing in a virtual machine, CP must translate all
virtual machine channel command word (CCW) sequences to refer to real
storage and real devices and, in the case of minidisks, real cylinders. When a virtual machine issues an SID, CP must: 1. Intercept the virtual machine SID 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 CCW sequence building a Channel Indirect Data
Address list if the real storage locations cross page boundaries.
6. Schedule the I/O request.
7. Present the SID condition code to the virtual machine. 8. 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 SID operations required by a virtual machine can be
significantly reduced in several ways: Use of large blocking factors (of 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 SIO instructions. substitution of a faster resource
operations, by building small temporary rather than using an I/O device.
(virtual storage) for I/O data sets in virtual storage
Frequently, there can be a performance gain when CP paging is
substituted for virtual machine I/O operations. The performance of an
operating system such as OS can be improved by specifying as resident as many frequently used os functions (transient subroutines, ISlft indexes,
and so forth) as are possible. In this way, paging I/O is substituted
for virtual machine-initiated I/O. In this case, the only work to be
done by CP is to place into real storage the page that contains the
desired routine or data.
1-26 IB8 V8/370 System Logic and Problem Determination--Volume 1
Three CP performance options are available to reduce the CP overhead
associated with virtual machine I/O instructions or other privileged
instructions used by the virtual machine's I/O Supervisor: .. I. The virtual=real option resoves the need
reference translation and paging before
specific virtual machine. for CP to perform storage
each I/O operation for a
2. The virtual machine assist reduces the real supervisor state time used by V!/370. See PlanDiDg for a list of the processors on which it is available.
3. V!/370 Extended Control-Program Support further reduces the real
supervisor state time used by VM/370. See for a list of the processors on which it is
available.
Assignment and use of these options is discussed in "Preferred virtual !achines." Paging Considerations When virtual machines refer to virtual storage addresses that are not
currently in real storage, they cause a paging exception and the
associated CP paging activity. The addressing characteristics of programs executing in virtual storage have a significant effect on the number of page exceptions
experienced by that virtual machine. Routines that have widely
scattered storage tend to increase the paging load of a
particular virtual machine. When possible, of code that are
dependent upon each other should be located in the same page. Reference
tables, constants, and literals should also be located near the routines
that use them. Exception or error routines that are infrequently used
should not be placed within main routines, but located elsewhere. When an available page of virtual storage contains only reenter able
code, paging activity can be reduced, since the page, although referred
to, is never changed, and thus does not cause a write operation to the
paging device. The first copy of that page is written on the paging
device when that frame is needed for some other more active page. Only inactive pages that have changed must be paged out. Virtual machines that reduce !heir paging activity by controlling
their use of addressable space 1mprove resource management for that
virtual machine, the V!/370 system, and all other virtual .achines. The
total paging load that must be handled by CP is reduced, and more tiae
is available for productive virtual machine use.
Additional dynaaic paging storage may be gained by controlling free
storage allocation. The amount of free storage allocated at V!/370 initialization time can be controlled by the installation. When the Systea is being generated, the FREE operand of the SYSCOR macro statement may be used to specify the number of free storage pages to be
allocated at system load time. If, at IPt tiae, the amount of storage that these pages represent is
greater than 25 percent of the V!/370 storage size (not including the V=R area, if any), a default nuaber of pages is used. The default value
is 3 pages for the first 256K bytes of storage plus 1 page for each
additional 64K bytes (not including the V=R size, if any).
CP Introduction 1-27
Previous Page Next Page