Virtualizing Resources on the Mainframe
How to virtually get the most from your System z platform.
Processors are often underutilized for many reasons. For example, the server's OS, its subsystems or its application programming stacks don't provide the multiprogramming or multiprocessing designs necessary to exploit the full capacities of the server's processors. By using processor-virtualization technologies, the system's processors can be transparently multi-programmed and multi-processed by a virtualization hypervisor to optimize processor sharing by multiple LPAR or VM instances, thereby increasing processor utilizations.
System z LPARs and VMs can be configured with dedicated sets of processors or, more commonly, they're configured to dynamically and transparently share physical processors with fine-grained processor consumption levels. System z hypervisors exploit workload-management techniques to monitor and dynamically readjust processor consumption levels for each sharing LPAR or VM to ensure user-supplied workload goals and priorities are met.
System z Processor Virtualization Effciency
Unless the server's underlying hardware and associated infrastructures are designed to accommodate processor virtualization, significant processor capacity may be absorbed by the hypervisor to accommodate processor sharing. The greater this overhead, the greater processor sharing will be compromised.
For the System z platform, transparent and highly efficient processor sharing is provided by the creation of processor "state descriptions" containing the processor execution states for the LPAR or VM to which they're assigned. These processor descriptions are loaded into a physical processor's execution controls when it's dispatched by the hypervisor on behalf of a LPAR or VM. Collections of these processor descriptions are configured to form any multi-processor capacity LPAR or VM desired.
Additionally, a complete set of low-overhead virtualization controls (hardware and firmware) is provided by each processor to assist the hypervisors in controlling shared-processor operations. These assists are provided for frequently executed events (e.g., supervisor state instructions, timer interruptions, I/O operations and interruptions, etc.) that would otherwise require hypervisor assistance. They operate with very low processor overhead and allow such events to "pass through" the hypervisor without its intervention.
The virtualization controls are transparent and compatible to System z OSs and their associated software stacks. This facilitates the concurrent deployment of different OS versions and their applications on a common scalable server. This can be significant in reducing the total number of servers that would otherwise be required for the testing and deployment of new applications, as well as legacy workloads common to most IT environments.