DATA CENTERS

Pages

Implementing Virtualization

Will new x86 processor capabilities help fulfill the promise of server virtualization? Here's the lowdown on Intel's and AMD's latest designs and what they mean for you.

Think you can't teach an old dog new tricks? Consider x86 processors. Though the core instruction set hasn't changed in nearly 20 years, Intel and AMD continue to add major improvements, including 64-bit extensions for increased memory addressing, additional instructions for handling graphics and enhancements in floating-point math. And, perhaps most important for companies pondering server virtualization, the latest x86 advances from Intel and AMD introduce chip-level virtualization-assist technologies that could, finally, make servervirtualization live up to the hype.

The big challenge thus far has been making x86 virtualization happen at all. Architecturally, the platform was never designed to support multiple OSes concurrently, meaning virtualization vendors were forced to overcome both hardware and software limitations to allocate and manage processor, memory and I/O resources. VMware has traditionally dominated this space, not only because it was first, but because it was able to overcome these hardware issues while providing a workable management environment for handling the problems inherent in large-scale virtualization.

Now that virtualization features in next-generation Intel and AMD processors are paving the way for efficient, hypervisor-based virtualization of x86 systems, the emphasis can shift to making the process reliable and efficient. Though based on different approaches, choosing among hypervisor technologies from VMware, Microsoft and the open-source Xen may be less crucial than addressing the management challenges presented by large-scale virtualization. Eventually, the real market winners will be vendors that offer the best capabilities for translating our physical environment into a more productive virtual one. But first, we'll need a little help from our friends, the processor vendors.

Of the two major server virtualization options today, OS partitioning and hypervisor-based server virtualization, a hypervisor solution presents the most problems. With OS partitioning, the host OS provides access to all hardware resources, eliminating many of the issues inherent in hypervisors but limiting us to the use of the host OS. Hypervisor-based virtualization offers the flexibility of bare-metal support for multiple OSes but creates numerous technical challenges, related to the allocation of CPU, memory and I/O resources, that have required a lot of software to fix. Fortunately, Intel and AMD have come up with new hardware remedies for these sticky problems.

In a normal x86 operating environment, the OS runs at protected ring 0. In virtualization without processor-assist, ring 0 is instead needed to run the VMM (virtual machine monitor) or hypervisor to manage hardware resources for VMs and their VOSes (virtual OSes). The challenge, then, for CPU virtualization was finding a way to make the OS function properly in a location other than ring 0. To solve this problem, chip-assisted virtualization creates a new, super-privileged and protected ring -1 for the VMM. This new location will allow VOSes to peacefully coexist in ring 0 with redirected communications to ring -1, without knowing that they share physical resources with other OSes on the same system.