The majority of 2010 IT trends research reports observe that virtualization is moving toward mainstream adoption. Well, this isn’t exactly newsworthy for mainframe customers who’ve been served by virtual machines, virtual memory, virtual I/O, and virtual networks running mixed workloads for more than 40 years.
The mainframe’s longevity has long been fostered by IBM’s well-known commitment to maintaining upward compatibility and leveraging its hardware design talents when crafting solutions to eliminate nasty performance problems. Seldom are elegant, hardware-based features made known to customers. Why? Because the only people who really need to know about them are Operating System (OS) developers who write the control code and perhaps a few Independent Software Vendors (ISVs) whose products run close to the metal. These are facilities in the machine (hardware and firmware) that enhance virtualization in significant ways. Some are trade secrets, some are patented, and some were patented but their protection has lapsed. Although competitors have taken advantage of the third category, many have missed the significant facilities System z provides.
Since 1975, flagship mainframe OSes have run mixed workloads where applications and subsystems for transactions and databases occupy their own virtual memory address spaces, providing an extensible software architectural construct and the needed security foundation for true enterprise computing. Storage protection works across hardware, memory, the operating system, and middleware to inhibit memory buffer overflows and application overlays, which in turn inhibit viruses, Trojan horses, worms, and bad code. Initially, such isolation also made inter-address space communication a bottleneck, which impacted performance when processing high-volume transaction workloads. IBM countered with Cross Memory Services, specially designed hardware that cut huge amounts of this overhead while maintaining strict system security controls.
Running mixed workloads and distributing function across parallel systems makes system design more challenging. Have you ever heard of path-length explosion? It’s what happens when supervisory overhead (the effort to coordinate activity across nodes) rises exponentially and bogs down the system. Shared-resource serialization and coordination can create significant overhead, so several sophisticated performance optimizations have been implemented throughout mainframe components, many of them using novel, self-learning algorithms to dynamically react and adapt to changing levels of resource consumption. When building the parallel mainframe cluster complex, additional major performance obstacles had to be addressed. By the time the Parallel Sysplex coupling facility was introduced, IBM had registered 22 patents on the innovations that take care of path-length explosion.
Yet another example is the Intelligent Resource Director (IRD) that’s built into the Logical Partitioning (LPAR) hardware. System z also has Sysplex Distributor with Cisco and Parallel Sysplex. z/OS Workload Manager uses special hardware instructions for instrumentation. System z has put both IEEE decimal floating point instructions and crypto assist into microprocessor hardware, PKI crypto onto express cards, dozens of new instructions for compiler folks to use to improve performance (requires recompilation), and other instructions to support unicode as well as enhance Java Virtual Machine performance.
DB2, in particular, has added several performance enhancements to the z hardware architecture, including compression-assist in microprocessor hardware and large page support (to improve memory/caching efficiency), and improved the I/O programming model (called MIDAW).
VM has numerous assists. Host Page Management Assist (HPMA) is a shortcut that enables the machine to quickly respond to guest requirements for first-time referenced pages. QDIO Enhanced Buffer State Management in conjunction with another aspect of HPMA allows Linux guests to drive network and SCSI I/O directly (without hypervisor intervention in most cases) by automatically pinning and unpinning the guest I/O buffers in host memory as needed and supplying translated memory addresses to the I/O adapters. Collaborative Memory Management Assist (CMMA) introduced a new Extract and Set Storage Attributes (ESSA) instruction in millicode to facilitate guest collaboration with the host on the state of individual memory pages; and the list goes on.
For the mainframe, virtualization means mixed workload management and the ability to establish discrete service levels between workloads. The journey has taken a great deal of time and specialized hardware to cultivate the ability to drive high-volume, diverse workloads in a single container with security, resilience, capacity management, transaction integrity, and systems management. Indeed, there’s a considerable amount of elegant virtualization technology on the mainframe … and it’s virtually unknown.