Slashdot Mirror


Xen High-Performance x86 Virtualization Released

Xen Team writes "The University of Cambridge Computer Laboratory Systems Research Group is pleased to announce the open source release of Xen, a virtual machine monitor for x86. Xen lets you run multiple operating system images at the same time on the same PC hardware, with unprecedented levels of performance and resource isolation. Even under the most demanding workloads the performance overhead is just a few percent --- considerably less than alternatives such as VMware Workstation and User Mode Linux. This makes Xen ideal for use in providing secure virtual hosting, or even just for running multiple OSes on a desktop machine."

The Xen team continues: "Xen requires guest operating systems to be ported to run over it. Crucially, only the kernel needs to be ported, and all user-level application binaries and libraries can run unmodified. We have a fully functional port of Linux 2.4.22 running over Xen, and regularly use it for running demanding applications like Apache, PostgreSQL and Mozilla. Any Linux distribution should run unmodified over the ported kernel. With assistance from Microsoft Research, we have a port of Windows XP to Xen nearly complete, and are planning a FreeBSD 4.8 port in the near future.

"Visit the project homepage to find out more, and download the project source code or the XenDemoCD, a bootable 'live iso' image that enables you to play with Xen/Linux 2.4 without needing to install it on your hard drive. The CD also contains full source code, build tools, and benchmarks. Our SOSP paper gives an overview of the design of Xen, and evaluates the performance against other virtualization techniques.

"Work on Xen is supported by UK EPSRC grant GR/S01894, Intel Research Cambridge, and Microsoft Research Cambridge via an Embedded XP IFP award."

20 of 316 comments (clear)

  1. Pfff by AKAImBatman · · Score: 4, Informative

    > Xen requires guest operating systems to be ported to run over it.

    Get me all excited, then pull the rug out from under my why don't you? This is still pretty neat, but it's hardly a replacement for VMWare or Bochs.

    1. Re:Pfff by JohnFluxx · · Score: 4, Interesting

      I got excitted that windows would be ported to use it.. but then:

      "The Windows XP port is nearly finished. It's running user space applications and is generally in pretty good shape thanks to some hard work by the team over the summer. Of course, there are issues with releasing this code to others. We should be able to release the source and binaries to anyone that has signed the Microsoft academic
      source license, which these days has very reasonable terms. We are in discussions with Microsoft about the possibility of being able to make binary releases to a larger user community. Obviously, there are issues with product activation in this environment which need to be
      thought through."

      It would be a bitch if it was ported, worked perfectly, but then nobody was able to use it.

    2. Re:Pfff by rmohr02 · · Score: 4, Informative

      Only the kernel needs to be ported, and they have ported Linux 2.4.22 for you, and they're working on NetBSD, FreeBSD, and have almost finished Windows XP.

    3. Re:Pfff by spektr · · Score: 4, Interesting

      The Windows XP port is nearly finished. It's running user space applications and is generally in pretty good shape thanks to some hard work by the team over the summer.

      I'm surprised that this was possible at all with Windows XP. Microsoft's Shared Source program doesn't seem to be as useless as I thought.

      Of course, there are issues with releasing this code to others. We should be able to release the source and binaries to anyone that has signed the Microsoft academic source license, which these days has very reasonable terms. We are in
      discussions with Microsoft about the possibility of being able to make
      binary releases to a larger user community.


      I think there are two possibilities to do this. First, Microsoft incorporates the changes into their main trunk or releases patches for it. Second, Microsoft allowes a group of hackers to distribute modified Windows binaries. Both alternatives don't seem very probable.

    4. Re:Pfff by kscguru · · Score: 4, Informative
      I'm unsure why Xen needs guest OS mods, vs the way VMWare and Plex86 do things. I only skimmed the paper, so I might have missed something.

      VMWare and Plex86 need to trap priviledged instructions in running code and replace them with their own. I believe they do this by literally scanning code-to-be-executed, which slows down the virtual machine of course. Xen solves this by replacing all such instructions with Xen system calls; somewhat the same as User Mode Linux, where low level instructions are replaced with system calls to the host kernel.

      Not quite ... they just run the virtualized kernel in plain user-mode, then when a privilaged instruction comes up it trips a processor exception. The VMM (VMware or Plex86) then steps in, emulates the privilaged instruction, then gets out of the way. Privilaged instructions, for the non OS-enthusiasts, are usually hardware-related things like INP and OUTP, instructions to change the page tables, switch between 8086 and protected mode, etc. Since these instructions are so rare, VMWare is only ~10% slower than normal - and runs full speed on a large set of workloads.

      Not having read the Xen site yet, what they _probably_ do is replace all such instructions in the source code with their own function calls. VMware did something similar at one point, but didn't turn it into a product because they felt it didn't have commercial potential.

      --

      A witty [sig] proves nothing. --Voltaire

    5. Re:Pfff by kma · · Score: 4, Interesting

      Someone was bitching "why can't XYZ OS run under VMWare if it runs perfectly well under generic PC hardware". Someone responded to the effect that VMWare was tuned to make certain concessions for the OSs they supported.

      Right. The OS'es we "support." Not the OS'es "we're able to run." And those "concessions" are mostly performance trade-offs, not correctness.

      It's still true that some OS'es don't run; but that's because our software has bugs. OS'es sometimes have bugs, too, though if the OS is important enough, we'll work around it. The bugs that prevent you from running the OS that some drunken Swede cooked up for course credit are admittedly less important to fix than the bugs that, say, prevent you from running Linux. However, in the long run, we try to fix even the bugs exposed only by drunken Swedes.

      That's why AtheOS, OpenStep, BeOS, NetBSD, FreeDOS, B-Right, Plan9, QNX, and myriad other commercially unimportant OS'es run ok. Not because they're important to our customers (man, oh man, they aren't), but because they enable us to be sure our x86 virtualization layer is reasonably correct. That way, when Ingo Molnar decides to start using 80286-style 16-bit tasks with lots of grow-down and conforming code segments to do system calls in Linux 2.6, we won't get caught out too badly.

  2. Funny Guys by tomblackwell · · Score: 5, Funny

    ... to publish a paper called "Xen And The Art of Virtualization".

  3. Re:I bet it's not Open Source... by Trigun · · Score: 5, Interesting

    With assistance from Microsoft Research, we have a port of Windows XP to Xen nearly complete

    They won't release the source for XP, but you can probably get a compiled binary. I just wonder if you'll have to re-register every time you change your virtual hardware.

  4. MOL for x86? by Realistic_Dragon · · Score: 4, Interesting

    In the same way that Mac On Linux makes moving people to Linux on a Mac pretty painless (just give them an icon for OSX in a window) this might do the same for migrating Windows users.

    The biggest problem with emulators/virtualisation has always been speed. If a system can be set up that runs Linux but can boot XP easily and run fast, that will be a big improvement.

    Of course it's not going to be much good for gamers (doesn't look like it can use hardware accelaration) but it's still pretty promising.

    --
    Beep beep.
    1. Re:MOL for x86? by tgd · · Score: 5, Insightful

      This would not allow you to run Windows under Linux... it would allow you to run Windows and Linux under Xen, which is not nearly the same thing.

      Contrary to the submitter's comments, this product is nothing like VMWare.

  5. Not really like VMWare by javatips · · Score: 4, Insightful
    We have a fully functional port of Linux 2.4 running over Xen


    With assistance from Microsoft Research, we have a port of Windows XP to Xen nearly complete, and are planning a FreeBSD 4.8 port in the near future (volunteers welcome!).


    If one need to port an OS to make it work within Xen, then I will NOT compare it to VMWare. VMare can run your stock OS on a VM whithout the need to tweak it.


    The performance advantage it has over VMWare is probably related to that. By having a few restriction on the OS, they can probably offer better performances.

  6. so its just an extra layer of abstraction? by ikoleverhate · · Score: 4, Insightful

    So really, this is just an abstraction layer that means even the OS is unaware it's sharing hardware, so in theory theres no way for a malicious user to take advantage of other users. Pretty cool in a boring and limited sort of way. Kudos to the team who did it, I'm sure it's a real technological challenge. Not what the /. headline promised though ;)

  7. ob. Beowulf cluster comment by Vic+Metcalfe · · Score: 5, Funny

    Finally I can create a Beowulf cluster without the clutter of all those machines!

  8. Comparison with other free VMs? by Laur · · Score: 4, Informative

    So it looks like this is the third (or fourth) free VM for Linux, the others being Plex86 (and a different fork here) and User Mode Linux. Does anyone have a good comparison of these three? I know Zen compared UML on their site but not plex86. I'm not really sure of the differences between them, particularly the different versions of plex86 and UML (Zen explained their virtualization process pretty well on their site). Which is the best choice for different scenarios? It looks like Zen is the winner for running Linux as the guest OS, and the original Plex86 (first link) is the only one which offers a free choice in guest OS's.

    --
    When you lose something irreplaceable, you don't mourn for the thing you lost, you mourn for yourself. - Harpo Marx
  9. Nice jab at Mozilla! by seanmeister · · Score: 4, Funny

    "....and regularly use it for running demanding applications like Apache, PostgreSQL and Mozilla."

    That's kinda funny, lumping a web browser in the same category as server apps designed to handle gazillions of users.

    Come on, it's not THAT bloated!

  10. Re:Interesting .. by Gingko · · Score: 4, Informative

    This is Cambridge computer lab we're talking about - where Microsoft research have the very next building over.

    I live with one of the guys in the systems group and hope to go back there to do my PhD soon, and they do do very cool things there. Microsoft give them all the help they need, because academia is an excellent ideas feeder for the real world. Cambridge, being in a position of power with its serious reputation and fantastic set of minds, gets the benefit of the Microsoft help without any of the assumed costs.

    Henry

    --
    i don't do sigs. oops.
  11. For all those not just out of nappies/diapers... by jantheman · · Score: 4, Funny

    Oh, you mean this then?

    (sry NYI)

    --
    -- Mod me down. I am not a karma tart. ffs,gag
  12. Why Microsoft+Intel? NGSCB backward compatibility! by NZheretic · · Score: 4, Interesting
    A quick glance over Xen group's paper leaves me very impressed with the performance these techniques can achieve. That the Xen group has decided to relase the code under the GPL leaves me very greatful. However, that both Intel Research and Microsoft Research has funded it, leave me somewhat concerned.

    As I have stated before about Microsoft's purchase of Connectix's Virtual Server technology

    In my opinion Microsoft's acquisition of Connectix's Virtual Server technology has very little to do with running any other vendors operating system.

    Microsoft needs a Virtual Server for backward compatibility for it's NGSCB ( Next Generation Secure Computing Base ) DRM ( Denial of Rights Mechanism ) platform.

    Just as Microsoft's XP backward Win9x compatability opens up many locally exploitable API to gain SystemLocal privilege access, to the point where many programs need Adminstrator privilege to run, existing XP and win2k software would open up too many opportunities for helpfull hacker to bypass Microsoft's NGSCB DRM mechanisms.

    Microsofts all too obvious solution is to provide a "Virtual" PC mode, running a modified XP and WinME, with the NGSCB providing virtual filesystems and hardware access. All, access of course, with the NGSCB DRM scanning and control.

    Where do you want to go tomorrow?

    The Electronic Frontier Foundation are about to publish a paper criticizing a component of the "trusted computing" technology promoted by Microsoft, IBM and other technology companies, calling the feature a threat to computer users..
  13. Hardware support by Anonymous Coward · · Score: 4, Informative

    According to the README, it requires special hardware drivers and is not targetted at desktops. Don't expect stellar graphics performance. VMWare *does* give you something for the money.

    Hardware support
    ================

    Xen is intended to be run on server-class machines, and the current
    list of supported hardware very much reflects this, avoiding the need
    for us to write drivers for "legacy" hardware. It is likely that some
    desktop chipsets will fail to work properly with the default Xen
    configuration: specifying 'noacpi' or 'ignorebiostables' when booting
    Xen may help in these cases.

    Xen requires a "P6" or newer processor (e.g. Pentium Pro, Celeron,
    Pentium II, Pentium III, Pentium IV, Xeon, AMD Athlon, AMD Duron).
    Multiprocessor machines are supported, and we also have basic support
    for HyperThreading (SMT), although this remains a topic for ongoing
    research. We're also looking at an AMD x86_64 port (though it should
    run on Opterons in 32-bit mode just fine).

    Xen can currently use up to 4GB of memory. It's possible for x86
    machines to address more than that (64GB), but it requires using a
    different page table format (3-level rather than 2-level) that we
    currently don't support. Adding 3-level PAE support wouldn't be
    difficult, but we'd also need to add support to all the guest
    OSs. Volunteers welcome!

    We currently support a relatively modern set of network cards: Intel
    e1000, Broadcom BCM 57xx (tg3), 3COM 3c905 (3c59x). Adding support for
    other NICs that support hardware DMA scatter/gather from half-word
    aligned addresses is relatively straightforward, by porting the
    equivalent Linux driver. Drivers for a number of other older cards
    have recently been added [pcnet32, e100, tulip], but these are not
    recommended since they require extra packet copies.

  14. How many licenses per machine? by Glonoinha · · Score: 4, Interesting

    Silly question about activation .. actually not -about- activation, but inspired by activitation :

    If you only have a single computer with a single CPU, how many copies of WinXP do you need? That one is rhetorical of course, and the answer is One.

    Can you run whatever software on that legitimately licensed WinXP machine that you like, assuming it was also legitimately licensed? That one is also rhetorical and the answer is Yes.

    Now install VMware on that machine, WinXP as the host OS. By adding VMware you have not increased the number of CPUs or physical machines. If you created three virtual machines (if you had enough RAM and hard drive space, not a stretch at all) and wanted to run WinXP in each of those virtual machines simultaneously - do you need 1 license of WinXP or four licenses of WinXP (one for the host OS, and one for each VM)?

    Granted the activation and active license management in XP may not allow this to happen even if in theory it should be allowed according to the 1 license / physical machine license in the EULA - but swap it with Windows 2000 or whatever ... what are the facts?

    I am just curious.

    --
    Glonoinha the MebiByte Slayer