Slashdot Mirror


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.

22 of 233 comments (clear)

  1. Giving me a headcrab-ache by SIGALRM · · Score: 4, Funny
    Xen has also joined forces with leading Linux distributors
    Am I missing something or does this mean Vortigaunts might enter Earth through portals ... wearing Fedoras?

    Oh my, it all makes sense now.
    --
    Sigs cause cancer.
  2. USE THiS XEN LINK by Anonymous Coward · · Score: 5, Informative
  3. Uhm... by Richard_at_work · · Score: 5, Informative

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

    1. Re:Uhm... by interiot · · Score: 4, Informative
      From the article...
      • Xen does not support Windows today because it uses a technique called para-virtualization to achieve high performance that involves modifying the operating system kernel, Pratt said. However, the debut of virtualization features in next-generation CPUs from Intel and AMD will make it easier to support unmodified operating systems, Pratt said.
      • "At that time we will reconsider Windows support," he said.

      And more here:
      • Full virtualization requires no changes to the guest OS. But it is not well suited for x86 architecture as x86 is not virtualizable. x86 has machine instructions that are termed sensitive. Sensitive instructions will fail without trap when executed in the guest OS. This requires dynamic rewrite of guest OS kernel during run time and shadow system structures which results in a performance hit. Para-virtualization solves the above issues but it requires changes to the guest OS kernel although are required for the Application Binary Interface (ABI) and hence applications can run as they are on the guest OS.
    2. Re:Uhm... by mccalli · · Score: 3, Informative
      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.

      You're right. However, for once people are using their terms correctly whereas they normally get mixed together.

      Virtual PC, despite the name, is not virtualisation software. It's an emulator - has the whole chip and other bits of hardware under there to run, even if it's natively running on an x86 anyway. That's why it's useful to me over VMWare, as I swap the same virtual machine between Mac and Windows platforms.

      VMWare is virtualisation software. It doesn't emulate as such, instead it provides hooks to access the native platform as if it were a separate environment. That normally makes it quicker than an emulator, and I believe this is normally borne out in various speed comparisons with Virtual PC.

      I've not encountered Xen, but from how things sound it really is a proper virtualisation package and not any form of emulator. It sounds like it is providing kernel hooks to access its current Linux environment as if there were multiple environments. So it definitely is virtualisation. Think of IBM's zSeries virtualisation - that needs special coding too, from what I recall.

      "I see no reason why VMware/VPC need watch out, as the main market for these VMs is running Windows..." may be how most people think of it, but Virtual PC is not a VM - it's an emulated environment.

      Cheers,
      Ian

    3. Re:Uhm... by Richard_at_work · · Score: 3, Informative
      Interesting, because the Xen homepage has this to offer:

      1.3 Which OSes run on Xen?

      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.

      1.4 Does Xen support Microsoft Windows?

      Unfortunately there are no plans to support any versions of Windows in the near future. Furthermore, a port of Windows would be encumbered by licensing issues. Longer term, virtualisation features in next-generation CPUs should make it much easier to support unmodified OSes: at that time we will reconsider Windows support.


      Personally, I trust the homepage more than the article.
    4. Re:Uhm... by ScoLgo · · Score: 4, Funny

      Shatner? Is that you?

      --
      "Michael, I did nothing. I did absolutely nothing - and it was everything that I thought it could be."
    5. Re:Uhm... by interiot · · Score: 3, Interesting

      Are there any good benchmarks out there comparing Xen to VMWare? this PDF contains benchmarks for very specific operations, not entire programs, but indicates that Xen is much faster for those operations. Though it also notes that VMWare's license prevents people from publishing benchmarks. So... This might mean that VMWare itself realizes that they have severe performance problems in places?

    6. Re:Uhm... by homer_ca · · Score: 3, Informative

      Umm... VirtualPC is both. Virtual PC for the Mac is an emulator that translates x86 code to PowerPC. Virtual PC for Windows is a virtual machine that executes x86 code natively.

    7. Re:Uhm... by lakeland · · Score: 4, Insightful

      Xen won't run an OS unless that OS has been especially ported to Xen. I.e. it is ideal for running linux, BSD, and not much else. It is also x86 only (I can't use it as a MOL replacement).

      It has one huge benefit over VMWare, it is extremely fast. The virtual machine has so close to the performance of the host that it would be reasonable to do such things as: implement a 100% reliable server on your computer and then implement an up-to-date desktop machine inside it. Implement virtual hosting on cheap x86 hardware. Run two distros simultaneously, etc.

      Personally I think running a reliable server on the same hardware as your unreliable desktop would be nice. Have the one machine always work correctly for handling mail, printing, web serving, etc. But still up to date.

  4. Xen is good stuff by gbnewby · · Score: 3, Informative

    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!

  5. What about Qemu ? by Anne+Honime · · Score: 3, Interesting
    I'm a happy Qemu user on fedora 2 ; although not as flexible as plex86 wrt host architecture, nor as polished as VMware, Qemu has windows support, and just does the job fine, after minor tweakings.

    I've yet to try Xen, but as of now, I just need basic windows compatibility to launch closed softwares (most of them being databases of law articles on CD-ROM to copy / paste extracts in linux Openoffice for research purpose), and Qemu does just that.

    I only wish it could play GTA3-VC !

  6. "Porting" by vlad_petric · · Score: 4, Interesting
    That's a little bit overstated. For Linux, the changes are a couple thousand lines of code. That's a number I took from their research papers.

    But what do you have to change ? First of all, the system has to be made aware that it's not the "top top". Its physical memory is no longer contiguous (you ask Xen for memory pages, and it gives them to you in arbitrary places), it also has to be aware of absolute time that's no longer tick++. Second, you need drivers for the abstract network card and disk. Those are generally easy to write, because you just delegate the real work to Xen. VMWare is already doing something similar with its vmxnet driver for Windoze.

    I'd really expect these kind of changes to the OS to be incorporated in the main linux tree, as they mature.

    What do you gain from all this ? Well, SPEED. I mean, SPEED. Take a look at their research papers (wrong suggestion for the "I won't RTFA" crowd, but still ...). Their slowdowns/throughput losses (they run Postgres and Apache on a couple of virtual nodes, as opposed to a single, consolidated machine), are negligible (less than 10%). On some configurations they even got performance improvements! At the same time, VMWare and UML do considerably worse.

    In general, it's very easy to "virtualize" stuff that's running mostly in user space. As soon as you have considerable OS+I/O overhead, your performance drops significantly. The para-virtualization approach (employed by Xen), pretty much gets you the best of both worlds.

    --

    The Raven

  7. What is Xen? Here you go... by Erich · · Score: 5, Informative
    Thought everyone might like an explanation of what Xen does, in comparison to VMware.

    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

  8. Virtualization by gtrubetskoy · · Score: 3, Informative

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

    1. Re:Virtualization by IntergalacticWalrus · · Score: 4, Informative

      VMWare is NOT an emulator, it is a virtual machine. x86 instructions are run natively with some magic to fool the kernel into thinking it is having control of the CPU. Think Xen without the necessary kernel hacking.

      The Windows version of Microsoft Virtual PC is a virtual machine, too, while the Mac version is, quite naturally, not a virtual machine but an actual hardware emulator since it runs a different target machine than the host. (Yes, they did give two completely different products the same name.)

      Another virtual machine, but running on PPC instead, is Mac-On-Linux.

  9. I see a distribution paradigm by argoff · · Score: 4, Interesting

    IMHO, this cound change the entire distribution paradigm - for example - if you wanted an email server - you just download the virtual image off the network of a linux system that already has it preinstalled and mostly set up, of if you want a web server/ldap server/dns server - same thing. It is a very nice way to have the best of a full featured linux system while at the same time the xen application os has the minimal stuff nesissary to run what you want.

  10. History lesson... by Bozdune · · Score: 3, Insightful

    Back in the 70's, CP/CMS on the 360 architecture was open-source. CP originally was a pure emulator: privileged machine instructions caused interrupts and were then emulated by CP. So we used to debug entire CP/CMS operating systems on top of CP, which was pretty cool. IBM eventually released a commercial version of CP/CMS called VM370.

    Meanwhile a bunch of independent companies, mostly time-sharing outfits, figured out that emulating privileged instructions was, well, dumb and slow. Instead, if you modified CMS to use traps instead of executing emulated privileged instructions, it could run many times faster.

    Which is why commercial timesharing outfits like National CSS, etc., were routinely able to support 250+ users on 370/168's, roughly three times the user load that IBM could support with VM370. That, and the fact that National CSS bought up every single drum drive they could find as paging devices. Ridiculously fast for the time -- nearly zero seek time, and delightfully high RPM's -- but when the bearings froze, those suckers would often burst right out of the glass case and blow holes in concrete walls.

    Anyway Xen is not a new idea. It's a very old (and good) idea.

  11. Re:Target audience? by iggymanz · · Score: 3, Informative

    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.

  12. Xen is the real deal. by kma · · Score: 4, Interesting

    Disclaimer: I work for VMware, but they don't pay me to post on slashdot.

    There are a lot of replies of the form, "Wait a minute, Xen requires that you hack up your guests! What a crock! Typical slashdot hype!" It's true that Xen is more limited than VMware's products, in that you do need to modify guests. However, this doesn't mean that Xen is a joke. (Plex86, for instance, really is a joke, because Kevin Lawton seems to pursue it only in fulfillment of an elaborate VMware-centered revenge fantasy.)

    The Xen folks, on the other hand, are smart and mostly serious people. Xen, along with appropriately modified guests, solves some of the problems that our products solve, and for those areas where it fits the bill, it does so in a way that should have lasting performance advantages over full x86 virtualization. What Xen is not, in my opinion, is a virtual machine monitor, for any reasonable definition of VMM. Xen is a microkernel. They don't call it that, because it's hard to get papers about microkernels published these days, but if you think about it, the process of porting an OS to run as a guest under Xen isn't cocnceptually distinct from porting it to run as a personality under Mach or Chorus or whatever. The L4 people didn't even bother renaming their microkernel before repurposing it as a paravirtualization platform.

    I think the microkernel analogy helps clarify ones thinking about the promises and limitations of so-called "paravirtualization." Hypervisors are microkernels. In the mid-90's, there was a hope that the whole world would be able to settle on the Mach microkernel. It never happened. Anybody hoping to become the only 'para-hypervisor' will face the same political and commercial challenges.

    So to recap: Xen is not a replacement for VMware's products. Xen will probably not take over the world to the degree that its creators would like. Xen is not, however, a joke. 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.

    1. Re:Xen is the real deal. by Ivan+the+Terrible · · Score: 4, Insightful
      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.

      Does VMware's license forbid its use for comparison purposes? If so, it's up to you (VMware) to change it. The ball is in your court.

      If not, why don't you give them a copy to benchmark with? It's not like you'll lose a sale, so the out-of-pocket cost is effectively zero. In fact, it's probably a net gain because of the less-than-favorable publicity they generate. Again, the ball is in your court.

      Or, if can't or won't give the s/w away, why don't you publish some benchmarks? Yes, again, the ball is in your court.

      Let us (the Greater Slashdot Community ) know what you plan to do.

    2. Re:Xen is the real deal. by Doodhwala · · Score: 5, Informative

      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.