Sending software to do hardware's job

In-hardware support for server virtualization is lacking, but that wasn't always the case

The top-notch developers at VMware and Connectix (now Microsoft) have spent much of their time inventing intricate work-arounds for design shortcomings of the x86 architecture. But that needn’t be the case. When virtualization gets help from hardware, its performance skyrockets. Such hardware assistance is commonplace on mainframes and other big iron, but few today remember that Intel set the precedent for hardware virtualization support on x86 chips nearly 20 years ago.

Intel’s 80286 processor allowed Microsoft to replace Windows’ original and much-derided software-based multitasking with a faster, safer hardware-based approach. It flew, but despite Microsoft pitching Windows 2.0 (later known as Windows/286) as a multitasking GUI for the masses, customers primarily wanted Windows to run multiple instances of DOS. Although that was referred to at the time as DOS multitasking, virtualization was the only way to run DOS on Windows.

When push came to shove, both Microsoft and Intel determined that software virtualization would be too slow to make customers happy. As a result, Intel designed a row of virtual 8086 processors into the 80386 chip. Each of the virtual 8086 units bootstrapped DOS -- or any OS designed for the 8086 -- and operated exactly like a stand-alone system. Even ill-behaved DOS apps could poke away at CPU registers and rewire interrupts without requiring the 80386 to so much as turn its head.

Today, PCs are heading for a jam very similar to the one that inspired Intel to create the 80386. Current 32-bit operating systems are the DOSes of IT’s modern age -- software that insists on owning the servers on which they run and poking directly at system hardware with no protective intervention. Some major steps forward are 64-bit CPUs and forthcoming multicore processors, but they fall short of enabling the dynamic enterprise IT needs.

Intel, which dropped the ball on PC virtualization, and AMD, which failed to pick it up, are now talking -- sans details -- about adding hardware virtualization support to future processors. But between now and the undisclosed dates when Intel’s Vanderpool and AMD’s Pacifica technologies might actually ship, IT will get stuck with a four-figure tab for every x86 server it wants to virtualize. Microsoft, SWsoft, VMware, and a few others are more than deserving of that revenue. But IT really needs brainpower focused on the much larger problem of how to manage large pools of VMs and storage, not on figuring out how to build x86 servers out of C++ with no help from hardware.