Thanks to the backward, "all software owns the entire system" design of the x86 CPU architecture, PC client and server virtualisation is one of the most challenging tasks facing system software developers. Even at their best, the benefits of x86 virtualisation solutions from VMware and Microsoft are limited to reliability, convenience, and manageability.
But virtualisation's promise as a pathway to consolidation and the way to turn aggregated compute cycles into a provisionable distributed resource remains just that. Don't blame VMware and Microsoft. There's only so much virtualisation one can do in software.
The sense of wonder one feels on first seeing a system split itself in two can be tough to sustain. We can be so impressed that we can run two copies of Windows simultaneously, or Windows and Linux, or Linux and that phoney pirated copy of the Intel edition of OS X Tiger, that the end goal of virtualisation is ignored or given up for lost. The dawn of the x86 virtualisation era will break with the advent of two upheavals: CPU-assisted virtualisation and para-virtualisation.
CPU-assisted virtualisation will carry x86 systems closer to the essential goal of linear virtualisation, that is, the ability to split a CPU core into two virtual cores that operate at close to 50 per cent of the performance of their real parent. Truly linear virtualisation would require a zero-overhead VMM (virtual machine manager, or hypervisor) -- a theoretical goal on par with a 100 per cent efficient solar panel.
But the Pacifica technology from AMD and Intel's forthcoming Vanderpool technology will obviate the need for the performance-sapping work-arounds that make software-based x86 virtualisation behave a lot like emulation.
Connectix, the company Microsoft acquired to bring Virtual PC and Virtual Server to its product line, illustrated this beautifully by releasing an x86 emulation solution for the PowerPC-based Macintosh that is functionally identical to its virtualisation solution for x86 systems. It's as if Connectix figured that since x86 virtualisation called for emulating some of the operation of the CPU itself, it might as well go the extra mile and craft an x86 entirely in software.
The Pacifica and Vanderpool on-CPU virtualisation technologies eliminate the need to emulate an x86 to virtualise it. I have not seen either technology in hardware, but virtualisation done with the Pacifica or Vanderpool hardware assist will simply blow the doors off software virtualisation at its debut, assuming a virtual machine manager exists that exploits x86 hardware virtualisation.
In my estimation, AMD and Intel have placed virtualisation within the reach of open source developers. AMD's delivery of a software-based CPU emulator incorporating the Pacifica specification guarantees that Pacifica will have software ready to roll on day one.
In the run-up to Pacifica and Vanderpool, the x86 virtualisation landscape is evolving so rapidly that there seems to be more confusion than excitement. But there is ample reason for excitement; just keep your eyes on the prize and not on vendors' positioning.
What's the prize? Operating systems that deliver secure, transparent, high-performance, hardware-based virtualisation as a standard feature, and management tools that take advantage of the ability to create, destroy, suspend, relocate, and monitor virtual machines throughout an enterprise.