Forgot your password?
typodupeerror

Xen High-Performance x86 Virtualization Released 316

Posted by michael
from the cool-beans dept.
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."

This discussion has been archived. No new comments can be posted.

Xen High-Performance x86 Virtualization Released

Comments Filter:
  • Pfff (Score:5, Informative)

    by AKAImBatman (238306) <akaimbatman @ g m a i l . c om> on Thursday October 02, 2003 @10:02AM (#7113067) Homepage Journal
    > 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.

    • Re:Pfff (Score:5, Interesting)

      by JohnFluxx (413620) on Thursday October 02, 2003 @10:09AM (#7113137)
      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.
      • Re:Pfff (Score:5, Interesting)

        by spektr (466069) on Thursday October 02, 2003 @10:30AM (#7113287)
        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.
        • Re:Pfff (Score:2, Insightful)

          by beezly (197427)
          The license used to enable them to do this modification isn't the Shared Source License, it's the Microsoft Academic Source License. It's completely different.
        • Re:Pfff (Score:3, Informative)

          by Fluffy the Cat (29157)
          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.

          Microsoft Research UK is literally next door to the University of Cambridge Computer Laboratory. Microsoft Research UK desperately wants the university to like it in order to gain more academic credability.
      • by leuk_he (194174)
        If they ever release the XP binary you will have to bet that it will be some hight priced version of xp that runs it. Or else you will run into all kind of license problems.

        If it will be a concurrent of The virtual machine solution they bought from connectix [microsoft.com] This will not be released.

        And if it will work with a standard XP home/pro you will have all kind of activation [vmware.com] loopholes like in vmware.
      • I can see it now...

        The Xen layer wil have some sort of deep down DRM. It'll be set up so XP won't run on any but an MS signed Xen binary which MS then bundles with XP. The don't charge for the Xen software since that's GPL'd but they can and do charge for the enabling signature.

        Suddenlly MS have a windows platform that runs linux. If the distro has a MS digital signature that is. They get to charge for that too. Probably they'll require linux apps to each bear a separate signature so they can sell

        • The Xen layer wil have some sort of deep down DRM.

          I am also thinking that DRM may be involved with this, but from another angle. Microsoft has been hinting for a while about a "trusted" computing environment, and this may be an easy way for them to get started.

          With multiple virtual machines running, one can be the standard XP/2000 desktop running regular Win32 apps, and another can be the DRM sandbox running their new generation of "trusted" software. By creating a separate virtual machine, they don't
    • Re:Pfff (Score:5, Informative)

      by rmohr02 (208447) <mohr,42&osu,edu> on Thursday October 02, 2003 @10:10AM (#7113139)
      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.
      • They're not working on FreeBSD.

        Unfortunately, the NetBSD port has stalled due to lack of man power. We believe most of the hard stuff has already been done, and are hoping to get the ball rolling again soon. In hindsight, a FreeBSD 4 port might have been more useful to the community. Any volunteers? :-)

    • read the article.

      Xen only requires the OS *kernel* to be ported, not apps. For most users this is more than "good enough"... and makes it a viable replacement for vmware, especially given the reported (tiny) resource overhead.
      • Re:Pfff (Score:4, Insightful)

        by kzinti (9651) on Thursday October 02, 2003 @10:35AM (#7113334) Homepage Journal
        In being so quick to chastise the guy for not reading the article, you missed the point. If anything at all needs to be ported, it means that an OS like XP can't be installed on Xen out of the box. It means that a port of the XP kernel has to be completed, and that MS has to authorize the ported kernel to be distributed. For lots of folks, this is not good enough... even assuming that MS ever would allow the ported kernel to be distributed (and then we have to worry about activation issues too). So, while Xen is great for allowing linux users to run multiple distros at max performance at the same time, it doesn't much help someone who wants to run XP, and might never help them. Those folks still have to resort to VMWare or Bochs.

        Pfff...
        • by Glonoinha (587375) on Thursday October 02, 2003 @11:28AM (#7113847) Journal
          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.
          • I think it is something they havent had to deal with yet.

            I am running Win2K+visual studio in one vmware vm right now; I can bring up Win2K3 to run office 2003 when I need to go on exchange. But with the block MSDN license *and* a volume 'no activation' key for XP, office, etc. I get to skip activation.

            But imagine if I did have to activate stuff everytime I rebuilt a new VM? Within a month I'd have the activation police complaining I'd activated onto 5+ systems, and that therefore I was violating some lice
    • Well, why not? It's definitely a replacement for user-mode linux, given the performance stats on their site, and it can replace VMWare for running Linux, if that's what you do with it. They say they have a port of Windows almost complete, but it'll be a cold day in hell before Microsoft lets them distribute it. So you can't run that last application that's tying you to Windows, or your games. But it can replace VMWare for quite a few other applications, or even play new roles that VMWare couldn't for pe
      • Re:Pfff (Score:3, Interesting)

        by kalidasa (577403) *
        MS is one of their sponsors. How much you want to bet that MS licenses the technology and distributes it under their own logo? We already know from the VirtualPC purchase that this is a future direction for them.
        • I don't see what this technology can do for Microsoft. They don't want you to be able to run Windows on Linux, because that would make it easier to switch to Linux. They don't want you running Linux on Windows because they'd rather you just ran Windows. Xen can't run Windows on Mac OS, or vice versa. The only way I could see Microsoft using this technology is as a way to run multiple copies of Windows at the same time. That might be useful for developers or people who want sandbox systems for security
      • Not quite true. Say I want to grab the latest Knoppix or Red Hat and do some testing of my application. I'd have to build my own modified distro of these in order to run them. VMWare and Bochs allow me to simply create a virtual hard disk, point to the ISO, and install. And trust me, all distros are NOT created equal.

    • Not exactly. As far as I can tell from the quick scan of the PDFs and the statement that it just requires the kernel to be reconfigured, it's just a replacement hardware abstraction layer. I'm guessing that on NT/XP the only component that will need replacing is the HAL, and maybe some device drivers. If the concept takes off, then that's no different for a vendor than providing a different kernel/HAL tweaked for both single CPU and SMP systems, as many distros and Microsoft already do.

      True, it's not a

  • Funny Guys (Score:5, Funny)

    by tomblackwell (6196) on Thursday October 02, 2003 @10:04AM (#7113082) Homepage
    ... to publish a paper called "Xen And The Art of Virtualization".
  • MOL for x86? (Score:5, Interesting)

    by Realistic_Dragon (655151) on Thursday October 02, 2003 @10:05AM (#7113097) Homepage
    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.
    • Re:MOL for x86? (Score:5, Insightful)

      by tgd (2822) on Thursday October 02, 2003 @10:20AM (#7113216)
      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.
      • it would allow you to run Windows and Linux under Xen, which is not nearly the same thing.

        If it's true that Xen is the base and doesn't sit on a host OS (I can't RTFA, because it appears to be slashdotted at the moment,) it would be very much like VMWare's ESX Server. This is different from their GSX Server in that it is practically its own OS, and is installed on the bare metal of the box.
      • Actually based on my skimming the article it merely removes the requirement for the host OS in VMware - Xen sort of creates a (Null) host OS from which virtual machines are started.

        In that respect it is pretty much like a version of VMware that doesn't require a host OS. Oh yea - and it doesn't actually run any commercially available OS without modifying and recompiling.

        It looks cool, no doubt, and a LOT faster in certain aspects where multiple layers of abstraction are slowing down VMware (according to
    • Really, besides moral arguments about "freedom", why on earth would we want to migrate users en masse, or even at all, from OS X to linux? I used LinuxPPC/YDL for ages on my 6400, and I don't buy the arguments about linuxPPC being a more stable or more mature OS than X - sure, the UI and other high-level stuff might be a little rougher around the edges, but Darwin, IMHO, is already better than LinuxPPC in every arena, usability, robustness, hardware support, ease of configuration, etc etc etc (then again, I
  • Interesting .. (Score:3, Insightful)

    by Anonymous Coward on Thursday October 02, 2003 @10:07AM (#7113115)
    I'm really surprised they got assistance for windows XP. You'd think that Microsoft would want to stay well clear of anything linked to the GPL.

    I guess such assumptions are incorrect, and quite probably a result of reading Slashdot too much!
    • Re:Interesting .. (Score:5, Informative)

      by Gingko (195226) on Thursday October 02, 2003 @10:23AM (#7113237)
      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

  • by javatips (66293) on Thursday October 02, 2003 @10:07AM (#7113117) Homepage
    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.

    • They've ported Linux 2.4.22 and are nearly done with a port of Windows XP. If it's relatively easy to change these, I will definitely try it.
    • This depends on what is meant by "port". Is it possible that they mean that they have written drivers to work on those operating systems to make it work?

      I believe more information is needed on this before I make any decision as to whether it's better or worse than VMware.

      GJC
    • Note also that they only benchmarked against VMWare 3.x. VMWare 4 is significantly faster than 3.
  • Welcome (Score:2, Funny)

    by show me (696663)
    I, for one, welcome our new Xen masters.
  • by ikoleverhate (607286) on Thursday October 02, 2003 @10:07AM (#7113125)
    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 ;)
    • Sounds to me like Xen is a microkernel like thingy (what with the hardware abstraction layer and all) which you have to port your operating system personality to. What would make this different than the port of linux [tu-dresden.de] to the L4 microkernel [l4ka.org] (besides the Windows XP part)?
  • by Vic Metcalfe (355) on Thursday October 02, 2003 @10:10AM (#7113142) Homepage
    Finally I can create a Beowulf cluster without the clutter of all those machines!
  • ...is if you can copy and paste between the OSs. That always annoyed me when I had Linux open remotely through a Windows machine. I had to leave a submission form open on my website as a "back door" to copy stuff in. This goes for things like Gnumeric to Excel data too.
  • by Laur (673497) on Thursday October 02, 2003 @10:19AM (#7113211)
    So it looks like this is the third (or fourth) free VM for Linux, the others being Plex86 [nongnu.org] (and a different fork here) [sourceforge.net] and User Mode Linux [sourceforge.net]. 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.
    • Well:
      User Mode Linux
      1. Is linux Ported to the linux syscalls
      2. Has been ported partially to windows as well
      3. No hardware access only software modificatade to be hardware
      4. Is just Linux
      5. Extremly Easy do install 2 Files to download and then start NO configuration
      6. Very Fast emulation of linux, 10% Slow down while compiling the kernel
      7. Support SWAP partition as memory for virtual machines

      Plex86

      1. Is X86 & Bios ported to C
      2. Runs multiple OSs
      3. Runs on multiple OSs
      4. Very hard to conigure
      5. SLOW!
      6. Thourgh Em
      • Thanks for the info, however you seem to be confusing Plex86 with Bochs [sourceforge.net]. They share a lot of code, however while Bochs emulates the entire hardware (and thus can be used on any platform) Plex86 virtualizes many things and so can only be run on x86 hardware, but is supposed to have much better performance because of this. Also, AFAIK Plex86 is only available for Linux (as the host OS). The original Plex86 [nongnu.org] should run any x86 OS. The new Plex86 fork [sourceforge.net] simplifies the virtualization even more and only runs Li
  • by Stiletto (12066) on Thursday October 02, 2003 @10:20AM (#7113214)

    So when do I get a Virtual Virtual Machine, to allow me to run all these VM's at the same time? Because as we all know, it makes much more sense to do this, than, oh I don't know... Buy another $299 computer?
    • You know that is funny, I was thinking that the other day ... can you cascade VMware? I mean on a VM running Linux on a Windows 2000 host, can you install VMware for Linux and create a VM and install Windows 2000 on it?

      Or would that be the equivalent of putting a portable hole into a bag of holding (or vice versa,) causing either a dimensional rift which either imploded sucking everyone and thing in immediate area into another plane or exploding and destroying everything within immediate area.
  • by seanmeister (156224) on Thursday October 02, 2003 @10:20AM (#7113222) Homepage
    "....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!
  • by spotter (5662)
    How is Xen (published this year at SOSP) different than Denali (published last year at OSDI, OSDI and SOSP are basically equivalent level conferences, held in alternating years)

    They both seem to be scalable hardware monitor type virtualization architectures, in skimming through the paper I was left wondering what makes Xen special.
  • by jantheman (113125) on Thursday October 02, 2003 @10:26AM (#7113264)
    Oh, you mean this [old-computers.com] then?

    (sry NYI)
  • 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.

    Ha. That's easy for you to say. Every time I try to run in Xen I have to dodge Headcrabs and be on the look out for Vortigaunts, not to mention the dreaded Gonarch [primagames.com].

  • User Mode Linux (Score:3, Interesting)

    by shird (566377) on Thursday October 02, 2003 @10:30AM (#7113292) Homepage Journal
    Sounds an awful lot like usermode linux. Get a vesion of the kernel/OS which makes calls to a host virtual machine rather than directly to the hardware for privileged instructions. Everything else can run directly through the CPU without being emulated because it is running in 'usermode' (or ring 1).
  • Grab the BitTorrent from here [cam.ac.uk] (and leave your windows open for a while!)
  • by NZheretic (23872) on Thursday October 02, 2003 @10:34AM (#7113325) Homepage Journal
    A quick glance over Xen group's paper [cam.ac.uk] 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 [oreillynet.com]

    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 [microsoft.com] ) DRM ( Denial of Rights Mechanism [slashdot.org] ) 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 [eff.org] are about to publish a paper [com.com] criticizing a component of the "trusted computing" technology promoted by Microsoft, IBM and other technology companies, calling the feature a threat to computer users..
  • Hardware support (Score:4, Informative)

    by Anonymous Coward on Thursday October 02, 2003 @10:35AM (#7113330)
    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.
  • Microsoft Research (Score:3, Informative)

    by non (130182) on Thursday October 02, 2003 @10:36AM (#7113338) Homepage Journal
    in case anyone forgot, not only is microsoft research [microsoft.com] their neighbor, but it was also the first microsoft research center outside the us. wired [wired.com] has more [wired.com] about what you can get for $80 million.
  • by avenj (673782) <avenj&tellink,net> on Thursday October 02, 2003 @10:40AM (#7113369)
    The source code is only available via BitKeeper, as far as I can tell from their site. The BitKeeper tools are not free software and cannot be used by anyone who has contributed to a competing product, according to the license for the free-as-in-beer version of BitKeeper. Is there somewhere else to get source and I'm just missing it?
  • The university's link is a bit hosed, so I've mirrored the site and paper here [recoil.org], and you can grab the ISO via BitTorrent from here [recoil.org]

  • From the title I thought it was about a new video card which was built specifically for Half-Life 1/2.
  • The irony... (Score:2, Redundant)

    by Alkarismi (48631)
    From the site:

    "Work on Xen is supported by UK EPSRC grant GR/S01894, Intel Research, and Microsoft Research.
  • Is it just me or is the use of SPEC INT2000 a little odd? They claim they use t because it is the most CPU instensive as opposed to other benchmarks that are more IO intensive. Real apps are a mix of both. Wouldn't you want to include IO performance?
  • The idea sounds frightening.. having to modify your kernels just to run it as a VM..

    And they are porting XP? how does one even get a hold of a modified kernel. is that even legal to distribute to another person that doesn't have the same agreement with Microsoft..
  • NomadBIOS (Score:2, Interesting)

    by Anonymous Coward
    NomadBIOS [nomadbios.dk] did this a year ago, including swift migration of Guest OSes betweeen hosts, but with only two people and without a MS-research grant... But Xen looks nice, and the porting effort seems to be smaller.
  • Adeos (Score:2, Informative)

    by joe_plastic (704135)
    http://www.opersys.com/adeos/index.html
    http://sa vannah.nongnu.org/projects/adeos

    "The purpose of Adeos is to provide a flexible environment for sharing hardware resources among multiple operating systems, or among multiple instances of a single OS."

    This is similiar to xen and the new plex86 and it has some experience with supporting rtos
  • The only thing Xen means to me is this [sasg.com].
  • by HopeOS (74340) on Thursday October 02, 2003 @12:41PM (#7114636)
    The x86 architecture is not designed to be virtualized, at least not for code expecting to run in ring 0. The work that VMWare must do to emulate ring 0 without the guest OS coming unglued is simply daunting, including traps for every detail from setting and clearing interrupts to modifying page tables. A lot of that work requires predicting code execution paths and dynamically modifying the code at runtime. It's a real nightmare.

    Plex86 promised to provide an open-source solution to this problem, but the last time I checked (which admittedly was awhile ago), they were planning on using bochs to emulate ring 0. This is not exactly satisfactory, but I don't blame them. It's a hard problem, one for which VMWare is entitled and deserving of reward for having solved.

    So how do you get real virtual host performance out of your x86 machine? You design around the flaw. Operating systems that are written to run in ring 1 and call the Xen hypervisor instead of performing ring 0 functions will run at nearly full speed. Those that do not or will not make these compromises will see at best, an emulated ring 0. It's really that simple.

    Personally, I don't see much value in being able to run any arbitrary operating system in a single environment if it's impossible to get real, sustained performance out of it. Cross-platform testing: sure. Kernel debugging: certainly. But host virtualization? What I want is the capability of running multiple hosts simultaneously, and if the operating system needs delibrate tweaking to make this possible, then obviously that's the direction to go.

    To answer the gripes of people who want just that transparent hosting of unmodified OSes, it would be interesting to see a follow-on project for dynamically modifying the guest OS to thunk-out all the privileged calls to use the Xen extensions directly rather than trapping exceptions as they do now. This would probably not work well for page tables modifications, so a hybrid system might be employed. In this fashion, the best of both worlds may be achieved.


    -Hope
  • by Chasuk (62477) <chasuk@gmail.com> on Thursday October 02, 2003 @12:59PM (#7114803)
    Is it really that fucking difficult to write an accurate summary?

    A person reads the summary, and reasonably thinks:
    "Great! An Open Source equivalent of VMware Workstation! Now I'll be able to run multiple OS's on my Desktop machine without the expense!"

    Then he reads:

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

    This changes the picture dramatically, and should have appeared MUCH earlier in the summary.

    Come on, I know this is only Slashdot, but stupidity and dishonesty like this get really annoying.
  • Xenify, anyone? (Score:3, Interesting)

    by leob (154345) on Thursday October 02, 2003 @09:40PM (#7120151)
    With all the achievements in x86 binary code analysis, instrumentation and compilation (think of valgrind or Transmeta, to name just a few), wouldn't it be possible to read the kernel binary into some kind of a compiler, find all uses of the instructions that have to be replaced, replace them (and the adjoining code, if necessary) with the Xen interface calls, then reassemble and relink the kernel?

    How extensive and how non-trivial are the necessary changes?

You can bring any calculator you like to the midterm, as long as it doesn't dim the lights when you turn it on. -- Hepler, Systems Design 182

Working...