A relatively obscure virtualisation system has leapfrogged better-known rivals to make its way into an upcoming Linux kernel.
KVM (Kernel-based Virtual Machine) has been accepted by kernel gurus such as Linus Torvalds and Andrew Morton for inclusion in version 2.6.20 of the Linux kernel, developers said earlier this week. The system consists of a loadable kernel module and a user component, and is licensed under the GNU General Public License.
Its development is backed by Qumranet, an Israel-based start-up with finance from Sequoia Capital and Norwest Venture Partners, which is still in stealth mode. Qumranet is named after Qumran, an ancient settlement near the Dead Sea best known as being the closest to the caves where the Dead Sea Scrolls were discovered.
KVM was introduced only in October, but its small size and simplicity have allowed it to make quick progress. Xen, also open source, is an external hypervisor, taking control of the machine and doling out resources to guest operating systems, which all need to be modified to work with Xen.
KVM, by contrast, is designed to be part of Linux and uses Linux's existing scheduler and memory management. "This means that KVM is much smaller and simpler to use," said KVM's developers on the project's website.
The trade-off is that unlike Xen, KVM has no support for para-virtualisation, a technique that allows guest systems to run nearly as fast as non-virtualised systems. Xen has been aiming for inclusion in the Linux kernel for around two years.
KVM also relies on virtualisation technology built into more recent AMD and Intel processors, unlike Xen, which can work without such extensions as long as the guest systems have been modified to work with Xen.
The new system works with more recent kernels, 2.6.16 and later, according to project developers. A Linux host with KVM can run virtual machines with unmodified Linux or Windows images, each with its own virtualised hardware. Each virtual machine is seen by the host as a process, with each virtual CPU a thread in that process.
The project is still at a fairly early stage, and has a number of bugs to be worked out, including issues with 64-bit Windows, virtualised desktop performance and I/O device emulation, developers said. It doesn't yet support live migration from one hardware system to another.
"Currently a virtual desktop is responsive but consumes a lot of CPU," wrote Qumranet's Avi Kivity to a kernel developer mailing list. "Under Windows I tried playing pinball and watching a few flash movies; with a recent CPU one can hardly feel the virtualisation. Linux/X is slower, probably due to X being in a separate process."