In a previous post on virtualization, Direct2Dell reader John Oliver asked for a comparison between Xen and VMware. In this post, I’ll cover some of the differences in architecture behind these two virtualization products and how the technology is shaping up for the future. VMware ESX Server’s architecture is based on direct execution (run user-level virtual machine code natively on the hardware) and binary translation (dynamically translate any privileged code). Since essentially a full x86 platform is exported to a virtual machine, ESX Server enables almost any OS that can execute on x86 to run inside a Virtual Machine (VM) without modification. Xen’s architecture uses a paravirtualization technique that modifies the guest OS so that it knows it’s running in a virtualized environment. With hardware-assisted CPU virtualization technologies like Intel VT and AMD-V, Xen 3.x also supports unmodified or fully virtualized guest OSs. VMware has also made announcements regarding paravirtualization support in its products.
So what is the difference between these two approaches? The biggest difference is how they handle device I/O. How virtual machine I/O is routed to/from each physical I/O device has a lot of implications on performance, portability, sustainability and stability of a virtualized platform architecture. Xen follows a split driver model where the actual drivers reside in a service VM and special drivers inside other VMs communicate back to the service VM. This approach offers good performance but limits support for closed-source and legacy operating systems. In ESX, virtual device drivers in VMs communicate with the physical device drivers in the ESX kernel. ESX virtual machines can use off-the-shelf drivers for their virtual devices. This also provides high performance but also provides broader OS support. In this model, however, new device drivers must be ported into the ESX kernel (which I discussed in a previous post). To help address the trade-offs and complexities of I/O virtualization, Dell is working with partners like Intel, AMD and our peripheral hardware vendors to introduce virtualization support in chipset and I/O devices.
Another important component of an enterprise virtualization solution is its management. Products like Dell OpenManage coupled with VMware Virtual Center, P2V and VM Importer provide a comprehensive set of tools to efficiently deploy, monitor, automate operations and manage a virtualized IT data center. Both Novell and Red Hat are integrating management of Xen platforms into their operating systems through respective installation & configuration tools like YaST, Anaconda and management utilities like Virtual Machine Manager. As Winston Bumpus mentioned in a previous post, Dell is actively involved with various standards bodies. In this case, we are working with Distributed Management Task Force (DMTF) SVPC Workgroup to drive standardization of management interfaces for virtualized platforms.
Today, both ESX and Xen have their own benefits and tradeoffs. The choice ultimately depends on what you, the customer, require from your virtualization solution. With partners like VMware, Red Hat, Novell, Intel and AMD, we are committed to providing customers with a choice of virtualization technologies. For more information visit http://www.dell.com/virtualization.