Four months ago, almost nobody had heard of an open-source virtualization software called KVM. But that was then.
The project, backed by a stealth-mode start-up called Qumranet, uses a technical and cultural approach that has quickly drawn powerful allies--including Red Hat and Linux founder Linus Torvalds.
That success is only a first step in KVM's push to make a mark in virtualization. But it signals significant influence over the technology, which is spurring a top-to-bottom revamp of the computing industry through its ability to make a single machine behave like many.
But does the world need another virtualization option? EMC subsidiary VMware rules the roost today. Microsoft is working on a project, called Viridian, that is set to debut in roughly a year. And numerous open-source allies already have focused attention on an open-source rival called Xen. While KVM delivers some new options and competition, it also brings new complications.
"In the near term, KVM will cause some pain because of the market confusion and developer dilution it will cause," said Illuminata analyst Gordon Haff. "But in the longer run, better technical options can only be good for Linux and open source."
KVM, which stands for "Kernel-based Virtual Machine," provides a new Linux-based mechanism for splitting a single physical computer into multiple virtual machines. It's going up against another approach, which uses a low-level software "hypervisor" to perform the same virtualization function.
The industry is scrambling to adopt virtualization for a range of reasons: so that groups of inefficient servers can be replaced with a fewer machines; so software can be tested in harmless partitions; and ultimately, so data centers packed with computers can fluidly adjust to shifting priorities.
Industry players such as Novell and IBM say they're watching to see how well KVM fares. But Brian Stevens, the chief technology officer of dominant Linux seller Red Hat, believes KVM is viable.
"There's a year of work, I'd guess, to really make it at parity to where Xen is today...But I think it's going to happen," Stevens said. "The (open-source programming) community is really going to gravitate (to KVM) much more so than (to) Xen."
Qumranet has funding from Sequoia Capital and Norwest Venture Partners, but Chief Executive Benny Schnaider is mum on the company's business plan. In an interview, he said only that Qumranet is "not planning to make money by selling or supporting KVM."
We did things the Linux way.
lead programmer of KVM
The KVM project got started in early 2006, Schnaider said. That's about the same time that Moshe Bar left XenSource, the Xen commercialization start-up that he co-founded. Bar, who now is Qumranet's chief technology officer, declined to comment for this story.
Qumranet is based in Santa Clara, Calif., with research and development in Israel. (Qumran is an ancient settlement near the caves where the Dead Sea Scrolls were found.) The start-up has more than 30 employees, most of them engineers, Schnaider said. Given that fewer than a dozen are working on KVM, according to lead programmer and Qumranet employee Avi Kivity, it's a good bet that the company has other technology in the works.
Kivity introduced the world to KVM with an October 19 posting to the Linux kernel mailing list. His patch updated Linux so that higher-level software could take advantage of hardware virtualization features built into the latest processors from Intel and Advanced Micro Devices. The result: Other operating systems, including Microsoft Windows, can be "guests" running on a Linux host foundation, on newer hardware.
KVM's approach differs from that of Xen, which governs access to hardware using a combination of a lightweight "hypervisor" foundation and a privileged operating system, which is typically Linux.
KVM's method is conceptually closer to one of two approaches used by VMware--the "hosted" model used in the free VMware Server and Player products. In that model, guest virtual machines run atop a copy of the operating system. In the second VMware approach, used in the higher-end ESX Server product, a full-featured, heavyweight hypervisor governs access to underlying hardware.
Unlike Xen additions to Linux, the KVM patch slipped nearly instantly into the mainstream kernel maintained by Torvalds and a group of deputies.
"We did things the Linux way," Kivity said in an interview. "I am a longtime lurker on the Linux kernel mailing list, so I know what's important to the kernel maintainers and tried to get things right the first time. Where I got things wrong, I fixed them quickly."
He introduced KVM with source code, not words. "Kernel maintainers only take you seriously if the first word in a message is 'PATCH,'" Kivity said.
Torvalds, who accepted the first KVM patches in December, said the technology's lack of intrusiveness and complications led to its inclusion.
"One reason KVM was so easy to merge was that it was really fairly straightforward, from the kernel's point of view," Torvalds said. And KVM programmers were easier to deal with than Xen programmers, he added: "I think they just had a lot less politics, and very few general policy issues."
Social factors also shouldn't be discounted. KVM puts the Linux kernel squarely in the center of the universe, whereas Xen shifts a lot of the brains of the computing operation to the separate hypervisor, so it's no surprise kernel engineers would be more interested in KVM.
"One reason KVM was so easy to merge was that it was really fairly straightforward, from the kernel's point of view."
--Linus Torvalds, Linux founder
Social dynamics may sound secondary to technical details, but in open-source programming they're closely related, Red Hat's Stevens said.
"I'm not separating the two. Technology...has to be done in a way that allows the community to build around it. KVM picked a technical approach that was clean and simple and easy to understand," and the programming interest followed, he added. Among those interested is Ingo Molnar, a top Red Hat programmer who has been improving KVM performance.
The importance of tight integration with the Linux kernel shouldn't be discounted, Stevens said.
"It's a more natural way to manage a community. We continue to bear the burden of merging Xen with the latest kernel. It's really expensive," Stevens said. "The developers are doing that work again and again and again--it takes weeks. They're always behind the latest kernel. That's what exciting about KVM: That work just goes away. Anything that doesn't check with Linux will be bounced or fixed right away."
For Qumranet, kernel integration means a lot of work is done for them, too. "Being part of the Linux kernel, KVM uses existing kernel components--for example, scheduler and memory manager--and saves overall programming resources, thus avoiding duplication of efforts for the open-source community," Schnaider said.
Xen programmers had originally planned to integrate their software with the Linux kernel, but have since backed away from that approach in favor of adding a hypervisor interface called paravirt-ops. That approach permits Linux to deal with other hypervisors, including VMware's.
"Xen is never going to be in the kernel, because it's not a kernel component," XenSource CTO Simon Crosby said. "But the interface between Xen and the kernel, paravirt-ops--that's going in." The first components are expected in the upcoming 2.6.21 kernel, he added.
Bumps in the KVM road
For Crosby, KVM is a nice idea--"Xen doesn't have a try-out mode"--but it's arrived late.
VMware did start off with a hosted model, but it now has moved to a true hypervisor. That's the preferred evolutionary direction, Crosby argued. Virtual machines are handy for developers who want to test new software in safe partitions, but hypervisors offer better performance, have security advantages, and juggle the competing needs of multiple virtual machines better, he said.
VMware has a similar belief in that evolutionary direction. Its higher-end and hypervisor-based ESX Server is the foundation of its Virtual Infrastructure software, which monitors a group of servers running virtual machines and shifts work from one to another according to preset rules.
"A hosted architecture works great but has not delivered what we call Virtual Infrastructure," said Raghu Raghuram, VMware's vice president of product and solutions marketing. "In order to do that, you need the separate hypervisor layer." However, KVM is both viable and helpful, he added.
Microsoft's next virtualization technology, Viridian, is based on the notion of a hypervisor, while its existing Virtual Server is not. The Viridian technology is likely to arrive in a 2008 service pack for Windows "Longhorn" Server, an update to the operating system that is set for release at the end of this year. Microsoft has been lagging rivals VMware and Xen in virtualization, which has given Linux something of an edge. Under that competitive pressure, Microsoft has linked up with XenSource to make sure Viridian can run versions of Linux that have been adapted for Xen.
Xen is more mature than KVM, Crosby argued, "not completely done, but the huge lift work to make a product that competes with VMware--that's done." KVM, he said, is in a more immature state than Xen was three years ago.
Holger Dyroff, vice president of product management for Novell's Suse Linux, estimates KVM will take one to two years to mature. Features he'd like to see are support for 64-bit virtual machines and for multiprocessor or multicore virtual machines, he said.
Qumranet's Kivity has a list of improvements under development, though, such as multiprocessor guest support and live migration that lets a running virtual machine be moved from one physical server to another. "We expect to have live migration working within a few days," Kivity said.
Another complication is that KVM could distract attention from Xen, which only made its commercial debut in Novell's Suse Linux Enterprise Server last July and is slated to arrive in Red Hat Enterprise Linux 5 with that product's March release.
Rusty Russell, a high-ranking Linux kernel developer who has mediated between Xen and VMware needs, and who wrote a hypervisor called lguest, doesn't see KVM as new competition for scarce developer resources.
"The main developers working on KVM are different from the ones working on Xen," he said. "KVM got people like legendary kernel developer Ingo Molnar excited about virtualization where he wasn't interested before, so it's looking like everyone's getting bigger slices of a growing pie."
But building, supporting and certifying a product imposes new constraints. While Novell is interested in KVM, it has no intention of supporting more than two virtualization technologies, Dyroff said. One of those technologies would be at a sub-operating system layer--as Xen is--and the other would compartmentalize a single operating system, as OpenVZ does.
Red Hat is warmer on KVM, but Stevens also is concerned about devoting resources to both Xen and the competitor. For example, the company is contemplating splitting the upcoming Fedora 7 Linux for enthusiasts into two versions, one with Xen and the other with KVM, Stevens said. That's because the company likes Fedora to track the mainstream Linux kernel, which now includes KVM. However, Xen uses an earlier kernel that doesn't have KVM built in.
Ironically, these complications could mean that the major beneficiary of KVM's open-source success, for now, could be its proprietary rival VMware, Haff said. "VMware will have to be loving it."