Xen: Instant Karma

Imagine if you could run Windows XP, Mac OS X, and multiple versions of Linux on the same computer.  That's already a reality--you just have to reboot to switch between them.  Now imagine that you could run all these operating systems at the same time on the same computer.  You could run MS Word 2003 at the same time you're running Safari, all while programming in Eclipse.  It's possible.  The technology that makes it possible: Xen.

Xen is a virtualization technology that's based on Linux.  It lets you run multiple virtual computers ("guest" operating systems) on top of one master operating system (called the "host" OS).  In other words, you can run Windows and Linux on the same PC at the same time.

That's the sexy use, anyhow.  Xen's already in use by hosting companies to give customers their own computer.  Instead of having to give customers a physical PC, Xen allows the hosting companies to fit many virtual computers onto one PC.  If the customers don't need much computing power, why not?

At the Community Software Lab, we're in the process of putting together a Xen-based server so that we can emulate our current network of servers from within one machine.  Instead of having to prepare a new computer to become a server--install hard drives, memory, network cards, cd-rom drives, load the OS via cd-rom--we can type a few commands on the Xen server and have a working virtual computer in about five minutes.  What once took a day to do now takes minutes.

The kinks?  The Xen server has to share its memory among many virtual computers, and these days, people's personal computers use 256 MiB, 512 MiB, 1 GiB, or more.  This puts a limit to the number of virtual computers that can fit onto one host machine.

We're working the kinks out of our test server (now running computation-friendly virtual machines), and as soon as we hear from our server supplier, we'll be putting together the production server. 

Computer virtualization is nothing new, however.  IBM's been doing it in their mainframes for over 40 years.  VMWare is a widely-used virtualization product.  Various video-game emulators have been around for a while (I beat Rygar using good ol' Nesticle, all while surfing the web).  Xen just seems most promising for the moment.

I would be remiss in my duties if I didn't mention KVM (Kernel-based Virtual Machine--not Keyboard, Video, Mouse!).  New in the 2.6.20 Linux kernel (the core of the operating system that handles memory management, task switching, networking, etc.), KVM might give Xen a run for its money.  I'll try it out, but with time invested in Xen, that's where we're headed for the moment. 

but eclipse is available for many platforms

My goof! My intent was to pick something that's somewhat well-known and associated with Linux. Perhaps the GIMP would have been better, but it seems like most of the best F/OSS programs these days are cross-platform.

John Miller's Recent Field Reports

Coke, Cherry Blossoms, and Cha Cha Cha

Sitting next to Peter and gazing out at the Washington Monument, I realized that there weren't too many better ways to end my VISTA service than flying up the Potomac.  Just an hour earlier, I had been in a scowling mood, but the D. C. evening skyline changed that pretty quickly. For those who weren't there, the NTEN (Non-profit Technology Network) Conference was a smashing success.  People from both sides of the Atlantic came to Washington to sip beer, talk tech, and figure out how to use technology to benefit society.  I was fortunate enough to meet people from California, Illinois, New York, Manchester, London, and D. C. itself.  Washington had splendid weather, and the cherry blossoms were in bloom. …read more

Project: Web (part one)

Back in January, the folks at the Community Software Lab were asked by a university-based non-profit if we could translate an artist's Photoshop mock-up into HTML and CSS. Eager to please (and needing some money to keep the budget balanced), we said "sure" and submitted our estimate for 20 hours of work. It's March, and we're still working. What's the deal? For my part, I gratefully ignored things until the last week of February, content to let Dan, my boss, manage the project. He had subcontracted the work to Erich, our soon-to-be VISTA, and for the most part, let things be, receiving changes from Erich every few days. It worked great--as long as changes didn't need to be made immediately. Erich put together some pretty good code and certainly earned his 20 hours' paycheck. Then things began to pick up. …read more

Xen: Instant Karma

Imagine if you could run Windows XP, Mac OS X, and multiple versions of Linux on the same computer.  That's already a reality--you just have to reboot to switch between them.  Now imagine that you could run all these operating systems at the same time on the same computer.  You could run MS Word 2003 at the same time you're running Safari, all while programming in Eclipse.  It's possible.  The technology that makes it possible: Xen. …read more

The Web Design Holy War

Everyone on the CTC VISTA listserv probably noticed some extra e-mail today. Thanks for taking me into your inboxes, and thank you to Matt and Dina for some solid advice! One of my ongoing projects is creating a website for the UMass Lowell Engineering Service-Learning Program, affectionately known as SLICE (Service-Learning Integrated throughout the College of Engineering). I've been working on the site sporadically for about six months, having done most of the work in February and March. Now that the school year has started, it's time to bring the site online. That means debugging. …read more