Problem solve Get help with specific problems with your technologies, process and projects.

Paravirtualized Ubuntu shows early performance promise

On the performance front VMI-enabled paravirtualization with Ubuntu and VMware Workstation 6 is delivering as promised, but it's no panacea just yet.

Early testing has shown that Ubuntu, when run as a virtual guest taking advantage of the new paravirt-ops paravirtualization interface, delivers as promised: it runs faster and more efficiently that it would as an unmodified guest. Ubuntu, a Linux distribution maintained by corporate sponsor Canonical Ltd., is the first commercially shipping operating system to support the paravirt_ops standard.

Paravirt_ops is an open interface that was developed by members of the Linux kernel community, including commercial vendors Red Hat, VMware, IBM and XenSource. It is designed to improve Linux virtualization performance by allowing the kernel to directly communicate with the hypervisor. It is based on the VMware's Virtual Machine Interface (VMI) proposed standard, and has been included in the mainline Linux kernel.

Drivers aren't an issue -- yet

Drivers aren't a concern in a virtual machine environment because that's the whole point of virtualization, said Ideas International analyst Tony Iams. "It's designed to insulate the guest operating system from the details of the hardware, but that could change in future."  

The change could arrive as hardware virtualization improves over next 12 to 18 months as Intel and AMD release better support for virtualized IO in their hardware, Iams said. The change would arrive because users would then be required to install guest drivers in the guest OS to work with the virtualized IO.

"If users want to have the best performance, it may be necessary at that point to consider a device driver as AMD and Intel begin to offer IO virtualization in their processors," he said. – J.L.

Mark Mayo, a virtualization blogger and a longtime user of VMware virtualization software, used a paravirtualized Ubuntu 7.04 Feisty Fawn guest to perform a Python extraction and build; for comparative purposes, he also tallied the results of a build with the VMI disabled. Python is an interpreted, object-oriented, extensible open source programming language.

Mayo found the results nothing short of amazing. "I'm pretty amazed at just how good virtualized guest performance is getting," said Mayo, who posted the performance results of the build on his blog, VMUNIX Blues. "If I had any doubts about how prevalent hypervisors will be in the future they've been erased now."

Mayo's Python extraction and configuration executed at 57% and 45% faster than with guests where VMI was disabled, respectively. When he compiled Python, Mayo noted a considerably smaller -- but expected -- 9% increase in performance. This was because the kind of load that generates system calls benefits the most, and the Python compile was completed in user space where VMware was already fairly efficient," he said.

"The advantage here is when you have paravirtualization the user can put extensions in a guest OS so it can interoperate more directly with the hypervisor," said Tony Iams, a senior analyst with Rye Brook, N.Y.-based Ideas International. "VMware already showed us it can run an unmodified OS very well on a virtual machine platform, but with paravirtualization the performance goes up."

For now users can expect similar results to Mayo's Python test -- in the neighborhood of a four to five times performance boost, Iams said. But that's only the beginning of what vendors like VMware and XenSource have in store for the technology.

"Paravirtualization will, over time, deliver improved performance for both CPU and IO intensive applications. I say 'over time' because not all of the pieces are in place yet," he said.

Better CPU and IO performance should be expected in a year to 18 months, Iams said, as VMware introduces missing "pieces" by tightening up the current host implementation of VMI, which is currently available as a preview release. The preview is based on a hosted virtual machine architecture (i.e. VMware Workstation 6), which means that virtual machines run on top of standard operating systems, he said.

In the future, however, bare-metal hypervisor architectures such as VMware ESX Server will begin to support paravirtualization, and demonstrate even further performance enhancements.

"Standard operating systems hosting VMware VMs have relatively little ability to interact directly with the paravirtualization functions in operating systems running within the virtual machines," Iams said. "Therefore, [over the next year] VMI usage will mainly result in improved performance for CPU-intensive workloads."

Email Jack Loftus with your comments and suggestions. You can also check out our blog, the Enterprise Linux Log, for more information on Linux and open source software

Dig Deeper on VMware performance enhancements