Red Hat, Novell To Package Xen
robyannetta writes "Watch out VMware and Microsoft. Here comes
Xen, an open-source virtualization for the Linux environment being pushed by Red Hat and Novell. Xen has also joined forces with leading Linux distributors, chip vendors and platform vendors to create a consortium that will more broadly enable open-source virtualization development and deployment." We've covered Xen before, but it's cool to see the momentum behind it growing, as more choice is a Good Thing.
http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
'Watch out VMware and Microsoft'? If im correct, Vmware and VPC doesnt require the host operating system to be actually ported to the virtual system, whereas Xen does. This might be fine for specific usage, but its next to useless for what I use vmware for - trying out new and interesting operating systems, configurations or such. The markets may overlap near the top end, but I see no reason why VMware/VPC need watch out, as the main market for these VMs is running Windows, and while there has been a developers port of WinXP to Xen, I severely doubt you will see that in the wild.
I was an early user of 1.0, and have followed developments of Xen since. It's very nicely done, open source, and builds on existing kernels and distributions (it's not really a standalone application, but integrates with the Linux kernel and adds some userland tools).
Xen lets you configure one physical system with multiple virtual systems. Hardware access (disk, net, video) is transparent via software.
This is kind of the conceptual opposite tools like Condor and Globus: rather than bundling lots of physical systems together as one (aka, grid computing), it is meant to take one system and subdivide. This makes for easier development (including testing for grid services, Web services, different distros, etc.), and of course is good for virtualization (like in Web hosting services).
Congrats, team!
Xen is *very* different than plex86. Xen is a virtual machine monitor - it directly executes most instructions, and achieves performance that is within a few percent of non-virtualized operating systems.
Plex86 is an emulator - it interprets most instructions, and it is dog-slow.
It's true that Xen requires the guest OS to be ported to the Xen virtual architecture, but this has been done for linux.
VMware works with a host operating system to provide a complete x86 virtual environment for a guest operating system.
Xen is an operating system in its own right. It's a "virtual machine monitor" or "hypervisor". It can spawn multiple guest operating virtual machines.
x86 is not a very good architecture for virtualization. To have a virtualizeable architecture, anything a user-level program can do should behave the same way it would in supervisor mode, or it should trap so the virtual machine monitor can emulate it. x86 has instructions that don't quite follow this guideline -- for instance, you can see what protection ring you are currently in. In supervisor mode, you would get something like ring 0. In user mode, you get ring 3. So an operating system trying to see what ring it was in would get ring 3, but you are trying to fool it into thinking it is in ring 0.
Anyway, Xen modifies the guest architecture. It disallows these "sensitive" instructions and creates some virtual devices that are easier to emulate (like a simple software-programmed TLB). This allows the performance to be very very good, faster than VMware, but it requires you to fiddle with your operating system a bit. Which, of course, is easy to do with Linux.
-- Erich
Slashdot reader since 1997
http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
q .html
"We have a fully functional ports of Linux 2.4 and 2.6 running over Xen, and regularly use it for running demanding applications like MySQL, Apache and PostgreSQL. Any Linux distribution (RedHat, SuSE, Debian, Mandrake) should run unmodified over the ported OS.
In addition to Linux, members of Xen's user community have contributed or are working on ports to other operating systems such as NetBSD (Christian Limpach), FreeBSD (Kip Macy) and Plan 9 (Ron Minnich). A port of Windows XP was developed for an earlier version of Xen, but is not available for release due to licence restrictions."
http://www.cl.cam.ac.uk/Research/SRG/netos/xen/fa
"To achieve such high performance, Xen requires that OSes are ported to run on it. So far we have stable ports of Linux 2.4, Linux 2.6, and NetBSD. Ports of FreeBSD and Plan 9 are nearing completion."
There are 4 ways (I think) to provide what is loosely referred to as "virtualization":
1. Hardware emulation. QEMU, VMWare, Bochs all fall in that category. QEMU is open source and is actually pretty cool - a great way to test kernels during development or testing that new ISO you're trying to put together. This method is the slowest of all since all hardware is simulated in software.
2. User Mode Linux. In this scenario the kernel is run as a user process. This method has the second most overhead. Security-wise, it is only as secure as the host system, so if there is a known userland exploit, it is vulnerable.
3. Xen. To the best of my understanding, Xen is a kernel which runs other kernels. So this architecturally similar to UML, but (if you believe them) is much better optimized. And if Xen is as exploit-free as is claimed, it should also be pretty pretty secure, though I believe only time will tell.
3. Separation. This is Linux VServer, which is a fantastic project that doesn't have the publicity engine and funding of a big university behind it. This isn't really virtualization as much as it is separation. This approach is also shared by SwSoft's Virtuozzo, FreeBSD jails and Solaris containers. Since there is only one kernel in this scenario, this method is not OS-independent, i.e. VServer only runs Linux, Jails are only for FreeBSD, etc. Performance-wise, this approach should far outrun any other method as it carries practically no overhead and takes advantage of all the existing UN*X optimization. It is also very secure, possibly most secure of all (short of hardware emulation like QEMU) since it directly addresses all known virtualization exploits such as chroot escapes. But, perhaps I'm biased...
With ESX VMware is making money on consolidating many underutilized servers onto one box (with redundant failover box if needed) without the fear that a bad app misbehaving & killing the OS on one virtual machine will lock up other virtual machines' OS. It also provides customizable virtual network(s) between the VMs. A true open source equivalent would be very cool (one that can run ANY i386 OS in VM) You can migrate virtual machines from one physical box to another, sync, and cut over without interruption if they're both on same subnet. Kewl, hope a true open source equivalent exists someday.
Nope. The greatest (from a business perspective) number of users of virtualization technology is in the enterprise market. That's the biggest reason people by systems like the z-Series--consolidation. The idea is that you consolidate a whole bunch of commody machines to one large system that's virtualized. You get the same network topology at the end of the day but a higher degree of reliability and a lower administration cost (hence lower TCO).
It's an amazingly powerful bussiness case.
The Xen researchers are mostly conscientious, smart people who, fairly enough, would like to see their work have some commercial impact. I really wish they'd stop beating their chests over benchmarks that show them beating a three year old version of our desktop product, though.
All right... so while I accept most of what you have said earlier as quite informative, I do take strong objection to the above statement. You do realize that the research community is forced to benchmark against Workstation 3.x because your EULA in later versions prevent any of us from publishing benchmarking numbers (Look at the Restrictions section in the EULA for Workstation 4.x).
While I understand that there might be commercial reasons behind it, it seems that VMware wants to play in the research field (publish papers at all the top systems conferences) but not allow anyone to try and reproduce what their research claims.
Disclaimer: I have worked on virtualization projects including Xen.
Does VMware's license forbid its use for comparison purposes?
The blanket license does, though we've made exceptions when researchers ask nicely. See, for example, Marko Zec's OASIS workshop paper from ASPLOS XI, which includes benchmark comparisons against a reasonably recent version of VMware Workstation (that show Workstation in a pretty unfavorable light, I might add). I can only speculate as to why the Xen folks don't get treated as well as Marko did; I don't even know for a fact whether they've asked.
Regardless, it's quite possible they asked and we turned them down, in which case, our bad. I'm not really objecting to the substance of the Xen comparisons; if Workstation 3 is all they can compare to, fine. What I object to is the tone with which the Xen guys usually make this comparison. They strive to leave the impression that they've clobbered the best the industry has to offer, when they're really beating up a straw man. No sane customer would use workstation 3 for the uses the Xen folks are measuring.