Windows done right

05.04.2005
Von Tom Yager

And now, the moment you"ve all been waiting for...

Such a buildup usually guarantees an anti-climax, but with Windows 2003 Server x64 Editions and AMD Opteron CPUs, get ready for the thrill that keeps on thrilling. The 64-bit extended address space and x86 instruction set and register enhancements are just the beginning. But let"s get beyond watching the horizon. Right here, right now: Windows x64 and Opteron.

Microsoft"s 64-bit pitch to date, adapted from Intel"s, has been utterly uninspiring: Big databases will go faster because they"ll have access to more memory. That draws a big shrug even from me. So let"s flesh out what they"re trying to tell us. Few IT shops are fretting over memory-bound database apps. Besides, it"s already possible to stuff 16GB of RAM into a 32-bit PC server, right? Wrong. You never actually have more than 4GB of directly usable RAM in a Xeon server. Intel"s PAE (Physical Address Extension) is a hack that lets you map pages of RAM into and out of 32-bit Xeon"s limited address space. PAE is virtual memory done with RAM, which sounds great until you consider the enormous overhead imposed as the CPU rewrites its memory map, potentially thousands of times per second.

When running Windows x64, EM64T (Extended Memory 64 Technology) Xeon and Opteron do away with PAE, giving your applications unpaged, direct access to as much RAM as your motherboard will hold. Both give you a virtual address space that, for the next 10 years or so, is effectively infinite. Windows loves virtual memory and manages it well, a fact that Windows enterprise apps use to great advantage. The 64-bit version of Windows should give you the ability to raise virtual-to-physical memory ratios. A 32-bit Windows server with 4GB of physical memory can usually use virtual memory to mimic a system with 6GB of memory. Yes, this type of virtual memory is slower than PAE, but it"s easy to tune, requires no hardware upgrades, and it adapts to the execution patterns of your applications.

PAE is evil, an egregious flaw in the PC architecture that forces organizations to overspend on servers and software licenses. But the shortcomings of Xeon"s memory handling are just one link in the chain that binds PC server users to high costs and low expectations. It takes more than some extra pins and fresh microcode to create a true 64-bit enterprise architecture that"s wholly compatible with 32-bit software. AMD figured that taking the PC to the datacenter required reworking the entire system architecture. They"re right. Intel figured that it could skate by selling the market on a whole system architecture that has more in common with an 80386 system than with any other 64-bit servers on the market.

I may be overstating the case when I say that Opteron"s total system architecture has more in common with a mainframe or big-iron Unix box than it does with a 32-bit PC. I"m probably overstating the case when I refer to EM64T as an Opteron simulator -- but not by much.

Windows x64 is designed for Opteron. I"ll back that up with facts, but I won"t rush it. Nobody"s going to run out to buy 64-bit hardware the second they get their hands on Windows x64 CDs. I"ll take my time, but by the time I"m done, if you opt for EM64T Xeon over Opteron, you"re a lost cause.