Spelunking CPUs

As the masthead on my blog says, I’m a Mac lover. I’ve used pretty much only Macs since those days in the 1990s when I was working on hush-hush corporate collaboration schemes between Sun and Apple. Of course at both Amazon.com and Huawei I’ve been required to use Windows laptops for corporate stuff – locked-down beasts, centrally managed, with Microsoft Outlook and all of the trappings of the Redmond monoculture. But I always had Macs for my personal use.
Then I bought my little netbook, an Asus EeePC. OK, that doesn’t really count – it’s like that smartphone that I used to have, which ran Windows Mobile. And pretty soon I replaced Windows XP on the netbook with Ubuntu Netbook Remix. so cosmic balance was restored.
But this week, I decided that I needed a machine for hacking. Something to play with Xen and Eucalyptus and Open Nebula and all of the cool Cloud stuff that’s coming down. Something to write a little Groovy on. And not a big developer workstation, but something I could take along with me on my travels.
Wouldn’t the netbook do? Not really. I had this idea that I could set up a dual boot configuration in which I could either run Ubuntu to do my coding, or start in Xen and load several VMs to let me simulate a network configuration. Perhaps I could combine them: do my coding in a guest VM under Xen, build a new OVF package on the fly, and launch it in a new VM. In any case, I’d really need a multicore CPU with a decent amount of RAM, and enough disk to manage a number of guest OS images. And ideally the CPU should support virtualization, just for efficiency. But I didn’t want to spend a lot of money: blowing over $1200 for a MacBook was not an option.

So I spent an evening at Fry’s and Best Buy, looking at my choices. There were plenty of really cool, and amazingly cheap, laptops. But the frustrating thing was trying to find one with CPU virtualization. There are so many different Intel and AMD CPUs out there, and even though there are only a few brand names – Core Solo, Core Duo, Athlon, and so on – the different model numbers hide a vast divergence in capabilities. Fortunately I had my iPhone handy, and I quickly got into the rhythm of checking the “System” Control Panel info on each unit and then searching the web for chip features. I found Ed Bott’s useful table, but that came out in May, and by now there were several new chips. I started to see a pattern – most cheap Intel chips did not have virtualization, while all AMD CPUs did. That lasted for a while until I bumped in to the AMD Athlon Neo, which doesn’t have virtualization. Sh!t…
The other thing that I noticed was that over the last 18 months or so the AMD:Intel ratio has shifted decisively in favour of Intel. There were relatively few AMD-powered laptops around, and even fewer in the thin-and-light category. Market forces, or market distortion? Hmmm.
Eventually I found what I was looking for at Best Buy: an HP dv4-2045dx with an AMD Turion II (dual-core M500 at 2.2GHz), a 14.1″ screen, 4GB RAM (expandable to 8GB), and a 320GB HD. Yes, the battery life isn’t all that great, and it’s a bit too thick, and the swoopy-dots-on-white design makes it look as if it’s been keyed in the parking lot, but otherwise it’s perfect. And at $575, it was almost exactly half the price of a 13″ Apple MacBook Pro.
Yes, it’s a Windows machine. Or it was – I just loaded Ubuntu 9.10 onto it… Next step, Xen.
Did I really need to go through all of that? And what about non-geeks? After all, Windows 7 requires hardware virtualization in order to run Windows XP mode. There are plenty of stories surfacing of frustrated PC customers who find that they can’t run some favourite application on their brand new Windows 7 machine. If it was so much work for me, how could the average buyer be expected to get it right? Microsoft really screwed up on this one – and Intel too, I think.