For more than four decades, various incarnations of IBM’s popular Virtual Machine mainframe hypervisor—VM/370, VM/SP, VM/XA, VM/ESA, and now z/VM, plus mutations such as High Performance Option (HPO)—have provided unparalleled virtualization of mainframe operating systems for testing, resource sharing, and all the other uses for which virtualization has become trendy.
In the late ’80s, VM/XA introduced the CP SET MACHINE command to set each virtual machine’s architecture to the original 370, XA, or (later) Enterprise System Architecture (ESA). Eventually, 370 emulation was removed; but the feature led VM customers to speculate on what would be required to add “SET MACHINE INTEL” to run PC applications under VM. Of course, everyone realized such a feature would require a huge effort and was probably impossible.
Everyone, that is, except the intrepid programmers at Mantissa Corp. They investigated PC emulation under VM in 1993. At the time, they concluded the chip speed relationships between PCs and mainframes were “all wrong” and the project was shelved. In late 2006, they reconsidered. With the raw processor speed of the z10 and other advances (faster networking, among others), it was time.
They weren’t strictly the first to consider such heresy: In 2001, Adam Thornton (who at the time worked for Sine Nomine Associates) ran the open source Bochs Intel emulator under Linux under VM on a Multiprise 3000. With the relatively modest processor speed of the Multiprise and the number of layers of software involved, this was beyond slow. He managed to start Windows and display the Exchange Server logo, but that last step alone took several minutes. Clearly, the technology wasn’t yet adequate for the challenge.
In 2008, Mantissa announced on the IBMVM discussion list they were creating an Intel-on-z/VM product called z/VOS. The news generated restrained excitement. Intel machines had seriously threatened the mainframe’s existence for decades, so embracing the newly hosted platform wasn’t necessarily attractive. Yet, replacing dozens or hundreds of “squatty little boxes” with virtual machines under z/VM was an exciting concept and could further aid the resurgence of the mainframe, as has Linux on System z.
Over the next few months, little news came from Mantissa. A SHARE presentation in early 2009 that had promised a demonstration was anticlimactic; it was only a canned demo. People suspected the project was a failure—until recently, when Mantissa detailed the product’s status and why it went dark for so long. The product, now named z86VM, is nearing market-ready status, following a year of re-architecting.
Some may wonder why x86 on z makes sense. Mantissa points to the traditional strengths of System z server consolidation:
- Ease of provisioning, administration, and customization
- Commonality of device definitions (no worries about different drivers)
- Reduced space, power, and storage requirements
- Improved capacity utilization.
In other words, the same motivations for Linux on System z apply to x86 on System z—perhaps more so, in some ways, since many Windows (and other x86 operating systems) applications aren’t available for Linux on System z.