The long VMware road to (CPU) para-virtualization

VMware spent great efforts over the last years affirming that its virtualization technology, the binary translation, was more performant and flexible than para-virtualization (used by the Xen hypervisor and its commercial derivates since ever) in most scenarios. But at the same time the company worked to use para-virtualization and increase the guest OS performance as much as possible.

One major step in this progression was the introduction of a para-virtualization standardized interface, the Virtual Machine Interface (VMI), which the company hoped to integrate in the Linux kernel.

Because of the long dispute with XenSource (now Citrix), VMI made its way in the Linux kernel only one year later in version 2.6.21. (Oracle was so sick and tired of the delays that proceeded building its own hypervisor).

Meanwhile VMware announced its plan to support VMI-para-virtualized guest OSes in its entire product line.
Today VMI is supported inside Workstation 6.0 and ESX Server 3.5. The upcoming Server 2.0 will support the interface as well.
The Linux distributions that support VMI out of the box are Novell SUSE, Ubuntu and Fedora.

Now, to further validate all its para-virtualization effort, VMware is publishing a benchmark analysis, comparing the performance of two Linux distributions (32bit only) with and without VMI flag on ESX Server 3.5:

This paper shows that VMI-style paravirtualization offers performance improvements for a wide variety of workloads. However the performance gains depend heavily on the nature of those workloads. Workloads that spend the majority of their time in user mode provide only a modest gain when run in a VMI virtual machine.
Workloads that spend a significant portion of their time in kernel mode, or that are memory management unit intensive, see the largest benefit from running in a VMI virtual machine.

Non-VMI-enabled guests continue to perform quite well with binary translation, and remain an appropriate choice for many situations. VMware is also working with hardware vendors to improve hardware virtualization. With support for binary translation, hardware virtualization, and VMI-style paravirtualization, ESX Server 3.5 allows the choice of the best virtualization technique for each virtual machine based on its workload and guest operating system.

Read the whole 17-pages paper at the source.