FLOSS Weekly recently ran an interview with the creator of the Xen project, Ian Pratt from the University of Cambridge (and now working for Citrix since they bought Xensource). Since I happen to like virtual things, even the so-much-talked-about-it-hurts IT/server/desktop virtualization world this was a must-listen. It was a good show, but lacking some in the humble background department.
I was a bit disappointed that they did not discuss paravirtualization, the concept that at least I think is the main contribution of Xen. Paravirtualization is the idea of modifying the hardware interface of an operating system just slightly to make it much more convenient and efficient to run it on top of a hypervisor. This is really not that different from the architecture in the classic heavy-duty server world, with the programming interface of the Sun Niagara, IBM POWER, and IBM zSeries machines all being not bare-metal but rather a more structured API to a layer partially implemented in software.
Xen is shaping up nicely to be a lot of things to a lot of people. I liked their work on live migration (done in the same way as I think I read IBM doing it in POWER). The discussion on snapshotting was also good, even if I felt he introduced it as something completely new, which it is not. VMWare has had it for ages. And my favorite simulator, Simics, also has it in an even more powerful way. Another interesting aspect is the use of Xen on ARM-based mobile devices, even where no real hardware support exists for virtualization (incidentally, this was the starting point for Xen on the x86 back in 2001 and the reason I understand for going with a paravirtual solution rather than a VmWare-style binary rewrite solution). Busy field, with lots of contenders.
The open-source nature of Xen is also very important to the project (and the reason for Ian Pratt being interviewed by FLOSS Weekly, as that show is all about open-source projects). In addition to enabling the exploration of new additions to the core “product”, it also means that Xen is a great research tool. With Xen, researchers can implement virtualization-related ideas in a real industrial-strength product, which makes it much easier to do applicable and realistic research. Indeed, one of the greatest thing with the current strong open-source trend in the world is that research institutions have a complete system and application software stack that can be modified at any point to try new ideas. From the hypervisor to operating systems, compilers, middleware, language virtual machines, and lots of server and desktop application software.
Pratt was not exactly overly humble, but I think he is correct in taking some credit for having put virtualization front-and-center in the x86 market. Before Xen, it was not at all as hot as a topic. Or it might just be coincidence. I was a bit annoyed at his lack of painting a bigger picture: I would have liked more credits and more comparisons to previous work, especially the IBM classic architectures and what VmWare and others have been doing on the PC. If you had no context and listened to this show, you could well come away with the impression that Xen invented virtualization, which is not really the case at all.
Note that FLOSS weekly is still one of my regular podcasts, despite the occasional episode that I take issue with.