Xen, finally
I finally have Xen working on a system at home. I hadn’t expected this to be very difficult, but apparently Xen doesn’t like my new Athlon 64 system (bought mostly for running Xen). They’ll fix it eventually, but for now I’m using an old Athlon 700 system that I had sitting around. It needed a new CPU fan (just try finding Slot A fans these days!), but I was able to scrounge up 512 MB of RAM and an 80 GB hard drive, so it’s perfectly usable.
I built a couple quick disk images and booted them under Xen, and everything worked as expected. This is always a good sign, and it suggests that I’ll be able to make progress on my little virtual-server project without a whole lot of trouble.
Xen and lightweight virtual servers
I’ve been watching Xen for a while now, and I’m nearly ready to take the jump and do some testing with it. I’m thinking about ordering a cheap Athlon 64 box for home to use as a testbed for the lightweight server concept that I’ve been kicking around for years. In the 18 months that have passed since I last talked about it, virtualization on the PC has advanced by leaps and bounds; at the time, I was looking at UML, which wasn’t really fast or stable enough. Xen looks to be both fast and stable, and it has a clear migration path onto the virtualization hardware offered by the next generation of PC hardware. That makes it nearly ideal for my purposes.
The K9 does virtualization?
CNet has a summary of AMD’s latest analyst meeting, including details on future chips:
On the high end, AMD will release chips with two processing cores in 2005 and then follow in 2006 with chips based around a new chip core code-named Pacifica.
The company is relatively tight-lipped about Pacifica, but said it will be a dual-core chip that also contains virtualization technology–which allows a computer to run multiple OSes–and a security technology called Presidio. Pacifica will appear in desktops, notebooks and servers in 2006. AMD says it will also come out with a new ultra low-power chip for notebooks.
The article also mentions that Intel has been talking about virtualization lately. Considering that PCs have been fighting with virtualization since the 386 was first introduced, I’m amazed that it’s taken 20 years to get full-blown virtualization support in mainstream PC chips. Anyone who’s been around PCs for a while remembers the whole mess with 386–they could run multiple DOS programs at the same time, given a decent vm86 environment, like Desqview or Windows/386–but as soon as you tried to run something that needed 286- or 386-specific features, the whole house of cards came tumbling down, because the 386 couldn’t virtualize itself. Neither could the 486, Pentium, or any of the other x86 chips that have shown up since then.
Of course, we’re better at cheating now: programs like VMWare and Xen have shown that it isn’t really that hard to work around the CPU’s virtualization problems, but you end up paying a price. With VMWare, it’s performance; with Xen it’s patching the guest OSes to not use specific CPU instructions.
Even once that CPU’s been virtualized, the hardest part remains: virtualizing the rest of the machine. Xen’s approach is very open-source centric: they require the guest OS to be ported to Xen, including Xen-specific drivers, rather then emulate specific PC hardware in the virtual machine monitor. Long-term, that’s probably the most reasonable way to handle things, at least in the open-source world.
I’m looking forward to AMD’s new offerings. Pity we have to wait more then a year for them.
More PC virtualization
From Slashdot, of all places:
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. [Slashdot]
Looks like PC virtualization is getting more attention. Xen seems to suffer from the x86’s lack of native virtualizability–they need client OSes to be slightly modified to work correctly, but it’s a nice start. I’ll post more comments once I’ve had time to read their paper.