KVM emerged out of an Israeli company, Qumranet, last year as lead developer Avi Kivity posted 12,000 lines of code to a Linux kernel mailing list. The Oct. 19 post "came out of nowhere" and was added to the kernel after a review of "just a few months," said Jonathan Corbet, kernel developer and author of the Linux Weather Forecast, a Linux Foundation update on weekly kernel developments, in an interview.
"It looked like it was kernel-ready on day one. It was an exceptional patch in many ways," said Andrew Morton, Linux kernel maintainer and one of Linux Torvalds' top lieutenants. By "patch," Morton means a donation of new code, not a bug fix or repair of existing code.
The kernel developers didn't know Kivity from previous contributions -- he hadn't made any. Nor was there good information available on his company. "I went to the Qumranet Web site. It didn't tell me much," said Morton. Qumranet, a venture capital backed start up, was still in stealth mode at the time.
Morton handed off the code to developers familiar with both virtualization engines and the Linux kernel and they concluded it appeared to be a strong addition.
The Linux kernel in the fall of 2006 had no modules that could take advantage of the new virtualization assists being built into the latest Intel and AMD chips. XenSource's Xen is supported in Novell and Red Hat enterprise distributions but it remains outside the kernel. Adopting KVM would be one way of allowing the kernel to capitalize on chip developments, thought Morton.
With the code passing muster, Morton and other kernel maintainers "took a moderate risk" and integrated KVM into the kernel in early 2007. The risk in such a situation is that KVM's "developer and his company might not be around in a year," leaving a module of the kernel without further support. But if that happened, thought Morton, "KVM would be easy enough to remove. It doesn't affect much of anything else. It was designed that way."
Qumranet, which had its coming out at the DemoFall 07 show Tuesday in San Diego, has revealed that it's backed by Sequoia Capital and Norwest Venture Partners. It's CTO is Moshe Bar, who co-founded XenSource, the open source supplier of the Xen hypervisor. Bar left XenSource in early 2006 to start Qumranet. The firm, with offices in Sunnyvale, Calif., and Netanya, Israel, launched a desktop virtualization product based on KVM, Solid ICE, at the Demo show.
KVM can generate virtual machines making use of the scheduler and other resources in the Linux kernel, while other virtualization software, including VMware's ESX Server, have to create such governing mechanisms for themselves. If a virtualization hypervisor is in some respects a stripped down operating system, then KVM, with its access to kernel resources, is a stripped down hypervisor. KVM can generate virtual machines to run either Linux or Windows.
KVM has not yet made its way into the enterprise distributions of Linux, which explains why so little is understood about its marketplace potential. It's been added only to the community releases of Linux, the version aimed at developers and experimenters with all the latest technology additions: Red Hat's Fedora 6.0 community release with KVM came out May 31. Novell's openSuse 10.3 with KVM will be released in the next week or so, Novell spokesmen say. Enterprise Linux releases are considered more stable than community editions because they contain less leading edge code.
KVM's addition to the current version 5 of Red Hat Enterprise Linux is unlikely, said Joel Berman, product management director, "but the future RHEL 6.0 is a different ballgame." KVM may find its way into an early release of 6.0 because "it's a very simple way to do things. It's very clean," he said.
KVM and XenSource are likely to compete as the best virtualization engine for Linux. Both are licensed under the Free Software Foundation's GPL, making each of their features freely raidable by the other. Berman believes the open source code process will eventually either merge the two or give them each a subdirectory inside the Linux kernel. Either way, virtualization under Linux is about to move forward.
Microsoft in less than a year is slated to offer a similar approach when it puts the Viridian hypervisor inside Windows Server 2008, due out next February. Viridian will be added within six months of Windows Server 2008's launch, and beta code of the hypervisor is reportedly already circulating among select Microsoft customers.
Theoretically, both KVM and Viridian will be in a position to exploit the latest gains available from interfacing directly to the virtualization-optimized chips and from running inside the operating system. The hope is that one or both will play these advantages for performance gains, bringing down virtualization's overhead, which sometimes represents a 15 or 20% performance penalty.
So far, KVM is a leaner and meaner virtualization engine. It still has a ways to go performance-wise, Morton said, but that's not unusual in code that's just emerged. Additional performance may flow from further development.
If so, virtualization adopters may be witnessing the start of an intense competition between KVM, Xen, Viridian and ESX Server. Such a competition could bring virtualized applications closer to the moment when they run as fast in virtual machines as they do natively on a server.