The never ending story: Xen and Linux
Maybe my perspective to the world is somewhat heliocentric, but this discussion is a good example how boneheaded even intelligent people can get. In the Linux mailing list there was a discussion about the integration of Xen into the kernel to ease up the development. After reading the discussion i hope that they won´t integrate it. The best solution Ingo Molnar can think of is ripping paravirtualisation out of Xen and make it a Linux only thing. This would effectively obliterate two advantages of Xen: The plattform independence and its independence from Hardware Support. With Xen it´s feasible to use even older hardware for virtualisation. Removing PVM from Xen would remove this capability.
Ingo suggests, that the hard virtualisation stuff should be done in hardware. It´s one of the strange things in IT, that many people believe that hardware virtualisation is superior to paravirtualisation. But this is not the case: HVM was introduced as a hack to run unmodified operating systems in a VM without doing run-time binary translation like VMware. Whenever you have modified drivers for your operating system your for the paravirtualized hardware it´s more efficient, especially when you leave the skewed benchmarks that just do compute-intensive load in a VM. All this hardware virtualisation stuff available now and in future is just done to do virtualisation with unmodified operating systems more efficient, but that shouln´t lead you the conclusion that this will be the most efficient way.
Even more disturbing was the comment of Theodore Tso:
What would be lost is dom0 support for other OS's, but really, is that
such a major loss? Linux has far better device driver support than Solaris or FreeBSD, so there is really that much gain in using some other OS for dom0?
Theodore may deserve a large heap of kudos for his work on filesystem, but his comment is really a little bit disconnected from Enterprise IT. The driver thing is a non-issue in server space. At the end all servers consists out of pretty much the same components. You find some Intel networking chips or the chipset-stuff from Nvidia. Decent harddisk controllers are from LSI or Adaptec. No sound cards, no scanners, no tv-cards. So there is not advantage in having more drivers for strange or old hardware in virtualisation. But there are other things you should have: A fault management architecture, a fault anticipation architecture, thus a dying DIMM can´t take the whole server with it … perhaps with running dozens of VM. Or a decent way to sparse-provision your virtual disks to reduce disk consumption. Both is missing in Linux and and both things are really important to do virtualisation besides of one or two VMs. Some people really should elevate their thinking about their desktops under their desks. But at the end it´s just amusing: The media and the major proponents tell us at a regular schedule that the Linux developers are the brightest, biggest, most beautiful, most innovative community. But this community dances around the cow of Xen for years now and the integration hasn´t really done any significant step forward so far. In that time the communties around NetBSD and OpenSolaris integrated the stuff in their operating environments. So it can´t be really unintegrateable code or other technical problems as the processes and guidelines for coding are much more stringent in OpenSolaris. Perhaps it´s just NIH, as they have already an own virtualisation layer with KVM. But at the end i won´t really complain about it: When Linux cripples their Xen implementation there are other operating systems that fill that gap. And one of them is Opensolaris.