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.
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."
This was first published in November 2007