Slashdot Log In
Xen High-Performance x86 Virtualization Released
from the cool-beans dept.
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."
Pfff (Score:5, Informative)
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)
"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.
Parent
Re:Pfff (Score:5, Interesting)
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.
Parent
Re:Pfff (Score:3, Informative)
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.
xp licence/activation . (Score:3, Insightful)
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.
Re:Pfff (Score:5, Informative)
Parent
Re:Pfff (Score:2)
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)
Pfff...
Parent
How many licenses per machine? (Score:5, Interesting)
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
I am just curious.
Parent
Re:How many licenses per machine? (Score:3, Insightful)
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
Re:Pfff (Score:4, Interesting)
No, VMware runs unmodified binaries.
What they do provide is ready made installations of various operating systems you can just install, although you have to pay for these (well, the MS ones at least).
Parent
Re:Pfff (Score:3, Informative)
I could be wrong, but I didn't think so. Not supported means they don't support it, not that it doesn't work. The tweaking that is done when you select a specific OS only concerns the configuration, such as amount of memory and stuff. Things you can easi
Re:Pfff (Score:3, Informative)
Correct. Debian's not supported, but it works. OpenBSD isn't supported, but it (sort of) works. Basically, you have to be prepared to deal with some frustration in things being slow or sometimes unstable, but this does not have to do
Re:Pfff (Score:5, Informative)
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.
Parent
Re:Pfff (Score:5, Interesting)
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.
Parent
Re:Pfff (Score:3, Interesting)
Funny Guys (Score:5, Funny)
MOL for x86? (Score:5, Interesting)
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)
Contrary to the submitter's comments, this product is nothing like VMWare.
Parent
Interesting .. (Score:3, Insightful)
I guess such assumptions are incorrect, and quite probably a result of reading Slashdot too much!
Re:Interesting .. (Score:5, Informative)
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
Parent
Not really like VMWare (Score:5, Insightful)
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.
Re:Not really like VMWare (Score:2)
Re:Not really like VMWare (Score:3, Interesting)
I believe more information is needed on this before I make any decision as to whether it's better or worse than VMware.
GJC
Welcome (Score:2, Funny)
so its just an extra layer of abstraction? (Score:4, Insightful)
ob. Beowulf cluster comment (Score:5, Funny)
The only thing I'm wondering... (Score:2, Interesting)
Comparison with other free VMs? (Score:5, Informative)
Re:Comparison with other free VMs? (Score:3, Informative)
User Mode Linux
Plex86
Re:Comparison with other free VMs? (Score:3, Informative)
Virtual Virtual Machine? (Score:3, Funny)
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?
Nice jab at Mozilla! (Score:5, Funny)
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!
Re:Nice jab at Mozilla! (Score:3, Interesting)
For all those not just out of nappies/diapers... (Score:4, Funny)
(sry NYI)
User Mode Linux (Score:3, Interesting)
Why Microsoft+Intel? NGSCB backward compatibility! (Score:5, Interesting)
As I have stated before about Microsoft's purchase of Connectix's Virtual Server technology [oreillynet.com]
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)
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)
Source code not available (Score:3, Interesting)
Great Idea! Why all the whining? (Score:3, Insightful)
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
Why Is This So Hard? (Score:4, Insightful)
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)
How extensive and how non-trivial are the necessary changes?
Re:I bet it's not Open Source... (Score:3, Insightful)
RTFA. It's GPL.
(waiting for the 20 second delay to expire... @#%$! Slashdot)
Re:I bet it's not Open Source... (Score:5, Interesting)
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.
Parent
Re:I bet it's not Open Source... (Score:2, Informative)
"Modern computers are sufficiently powerful to use virtualization to present the illusion of many smaller virtual machines (VMs), each running a separate operating system instance. Successful partitioning of a machine to support the concurrent execution of multiple operating systems poses several challenges. Firstly, virtual machines must be isolated from one another: it is not acceptable for the execution of one to advers
Re:I bet it's not Open Source... (Score:3, Informative)
and read the page which was a whopping
8100 bytes in size you would of noticed
"Xen is Open Source software, released under the terms of the GNU General Public License. We have a fully functional port of Linux 2.4 running over Xen, and regularly use it for running demanding applications like MySQL, Apache and PostgreSQL. Any Linux distribution should run unmodified over the ported OS."
rather then just trolling off the two words "Microsoft Research"
Re:How is it ideal for secure virtual hosting? (Score:2)
Give each customer their own machine that they can do pretty much what they please with, root rights and all. No customer gets rights over the other customers' VMs, though.
Re:How is it ideal for secure virtual hosting? (Score:3, Informative)
Re:Very cool indeed (Score:3, Funny)
I would guess it is because Microsoft has a modest edge over Linux International when it comes to funding research grants.