The Importance of Hypervisors

Thursday Nov 2nd 2006 by Paul Rubens

Share:

A hypervisor is a critical component of a virtual server. But how important are their distinctions to a virtual infrastructure.

Hypervisors are like podcasts. A year ago, only the specialists knew what they were. Now, they are mainstream terms encountered daily in the specialist press and overheard while waiting for a latte at Starbucks.

That's because virtualization has hit the mainstream, and no conversation about virtualization is complete without mentioning the h-word, preferably also slipping in references to "bare-metal" whenever possible.

So what's the deal with hypervisors? They represent the latest big thing in virtualization, even though there are no standards, and many people are concerned about interoperability. It's a bit like the various flavors of 802.11  some work faster than others, but until they can all work together  or at least play nicely in each other's presence  no one knows the best one to invest in, and many will be reluctant to commit serious money.

There are two key hypervisors for now, three if you include the yet-to-be-released Microsoft hypervisor casting a long shadow over the other two. One is from VMware; the other is the free and open source Xen, which is principally developed by XenSource and packaged as part of a commercial solution from XenSource called XenEnterprise.

VMware, a subsidiary of Mass.-based storage company EMC, is the pioneer in x86 virtualization. It holds many patents for virtualization techniques and offers hosted virtualization (where the virtualization layer runs on top of an operating system) as well as bare metal virtualization (where the hypervisor runs directly on x86 hardware). VMware's hypervisor works in full virtualization mode, with the guest operating system running on the hypervisor unmodified. Since the guest operating system is "unaware" it is running on the hypervisor and not the hardware itself, (and thus running in ring 1 instead of ring 0, the most privileged layer, as it expects) this presents some challenges, such as ring aliasing, non-trapping instructions, excessive faulting, CPU state context switching, and address space compression.

The benefit of this full virtualization approach is that the hypervisor  in its VMware ESX Server product  can run a large variety of guest OSes completely unmodified  including Windows, Linux, Solaris and NetWare. In fact, it can run up to 128 virtual machines simultaneously in any combination, and a single virtual machine can use up to four physical processors at once.

The downside of this approach is the overhead associated with full virtualization: It manifests as a performance hit. How big this is depends on the type of workloads being run, but the overhead grows with every additional virtual machine the hypervisor is managing. The only concession VMware makes to this is to offer a set of enhanced device drivers for particular operating systems that can increase the efficiency of the guest operating systems because the device drivers are in effect specifically designed for the VMware virtual hardware on which the operating system thinks it is running.

Zen Over Xen

The Xen hypervisor takes this approach and runs with it, making full use of paravirtualization. It trades in universal compatibility for better performance because, although the overhead is less, it is achieved by patching guest operating systems to make them aware they are running on a hypervisor, not bare metal.

It's worth noting that if paravirtualized operating systems become widely adopted in commercial operating system distributions, it will be possible for VMware to add support for them in its hypervisor.

With the benefit of virtualization hardware support in Intel VT or AMD V enabled chips, this level of paravirtualization will not be necessary, and Xen will be able to support any operating system as long as specialized paravirtualization drivers are installed, according to Simon Crosby, XenSource's CTO. "With hardware support and special drivers, we can run virtual machines consistently at an overhead of 1 percent per server, not per guest OS." This, he says, contrasts favorably with VMware's hypervisor, on which the overhead rises with each additional guest OS on the physical server.

The benefit may be lower overhead, but the drawback of paravirtualization is support for fewer guest OSes. Xen-supported OSes include Windows Server, Red Hat Enterprise Linux, SUSE Linux Enterprise Server and Fedora Core 4.

How important is the hypervisor, really? At the moment, different hypervisors offer varying degrees of compatibility with guest OSes and performance levels. But what if all OSes were compatible with all three hypervisors, and hardware-assisted virtualization makes the potential performance differences far less significant?

Let's not forget another benefit of using the Xen hypervisor: It's free. When part of the XenEnterprise package from XenSource, it works out to be about one tenth of the price of a comparable VMware solution, Crosby estimates.

It's worth noting that Mass-based Virtual Iron recently unveiled a virtualization system based on the Xen hypervisor and Intel hardware-assisted virtualization, which runs Windows and Linux operating systems in a fully virtualized mode  unmodified, without paravirtualization.

Which brings us to Microsoft. Mike Neil, Microsoft's Senior Director of Virtualization Strategy says the hypervisor will be an integrated part of Windows Server Longhorn, and virtualization will require chip support in the form of either Intel's VT-x or AMD's AMD-V technology, or Intel's EM64T or AMD's AMD64 processor 64-bit extensions to the x86 instruction.

Windows Server Longhorn itself already includes paravirtualizations, or "enlightenments" as Microsoft terms them, to enable the software to run efficiently on the Microsoft hypervisor. The company is also working with XenSource to enable Xen-enabled Linux distributions to run on it.

But now we come to the really important question: How important is the hypervisor, really? At the moment, different hypervisors offer varying degrees of compatibility with guest OSes and performance levels. But what if all OSes were compatible with all three hypervisors, and hardware-assisted virtualization makes the potential performance differences far less significant?

It's an important question to pose because the latest developments in the virtualization space have seen VMware and Xen looking at cooperating on transparent paravirtualization, with the intention that paravirtualized (modified) OSes could run on either Xen or VMware hypervisors and can also run directly on bare metal. Since Xen and Microsoft are also looking to co-operate, there's a good chance that at some point in the future, virtual machines running on Xen's hypervisor could be switched to another physical server running VMware's ESX or onto Windows Server Longhorn, and back again, whenever necessary.

If that happens then, to paraphrase Lance Armstrong, it will no longer be about the hypervisor. It becomes all about the virtualization solution as a whole, including management infrastructure and the ability to move live virtual machines from one physical server to another while they run. "People won't care about the hypervisor, they'll need a stable system with management features. It will be about tools," says XenSource's Crosby.

This is echoed by Raghu Raghuram, VMware's VP of Platform Products. "We deliver virtual infrastructure, not just core virtualization, which is about 5 percent of our business. Is our business about the hypervisor or something more? We think it is about providing robust systems infrastructure, which is stable and secure."

Microsoft, by building Windows Server virtualization (which includes its hypervisor as well as the virtualization stack and the new virtualized I/O model) into Windows Server Longhorn, is clearly saying it is in the virtualization solutions business rather than the hypervisor business.

So hypervisors are important, but don't lose site of the important bit: The other software and services are what make a solution and really give the competitive edge to a virtual computing environment.