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.