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!
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
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.
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.