64-bit Windows opens to an empty house
Windows Server 2003 Enterprise x64 Edition is great technology, even for 32-bit applications
Linux can't run roughshod over the 64-bit x86 landscape anymore. Microsoft has now shipped its 64-bit editions of Windows -- a lineup that includes Windows XP and a handful of varieties of Windows Server 2003 -- for AMD and Intel 64-bit x86 (Microsoft calls these x64, collectively) as well as Itanium 2 chips. If you weren't aware of this debut, don't be surprised. Most Microsoft customers don't know what 64-bit Windows is, whether they need it, or where to buy it.
Windows Server 2003 Enterprise x64 Edition, the focus of this review, is an unqualified hit when judged solely on technical merit. Only Microsoft's development tools spotlight the vendor's engineering prowess so well. The pity is that Microsoft didn't start evangelizing 64-bit Windows to developers soon enough, even internally. Windows Server 2003 Enterprise x64 Edition debuted with an anemic shelf of 64-bit apps. Skeptics will rejoice to learn that 64-bit Windows isn't load-and-run compatible with many, if not most, 32-bit Windows applications. But this shortcoming is balanced by the fact that 32-bit software runs beautifully on 64-bit Windows when hosted by Microsoft Virtual Server or a VMware virtualization engine.
Assembling the rig
I carried out the bulk of the testing for this review on a trio of AMD64 machines. A Tyan motherboard-based dual-processor, dual-core 2.2GHz Opteron server anchored the group. The wing positions were taken by a single-processor, dual-core 2.4GHz Athlon 64 X2 and a single-processor 2.8GHz Athlon 64 FX-57 system. All were set to dual-boot between 32- and 64-bit editions of Windows Server 2003 Enterprise.
Microsoft did a laudable job of packing the Windows Server 2003 x64 Enterprise install disc with a fat set of device drivers. That's essential -- no 32-bit device driver will work with 64-bit Windows, and at present, vendor-supplied 64-bit drivers are very hard to come by. If a device isn't on Microsoft's HCL (Hardware Compatibility List) for 64-bit Windows, take my word for it: Don't wing it. Migrating an existing server to Windows x64 will probably mean gutting it and installing expansion cards as they pop up in the HCL.
I had serious reliability and connectivity problems on the dual/dual Opteron server following installation, both with and without the driver that Tyan supplied. The trouble turned out to be related to NVidia's built-in hardware firewall, which required an arcane and undocumented process to disable. Apple's Xserve RAID array, Apple's LSI Logic PCI-X Fibre Channel adapters, and my Emulex 355 storage switch were all plug-and-play. Installing Windows x64 on the single-processor Athlon systems went without a hitch.
Windows x64 runs 32-bit applications stably or not at all; it won't allow an incompatible app to install or load. This is neither Microsoft's heavy hand nor bad engineering. It is genuinely impossible to run a great many 32-bit applications directly on AMD64 and its Intel derivative in pure 64-bit mode. But 32-bit Windows apps are very much at home running under Microsoft Virtual Server 2005, so much so that I believe a limited copy of that software, supporting maybe just a couple of virtual machines, should be bundled with Windows Server 2003 x64 editions. The preceding caveat about device drivers still applies: Virtual Server simulates 32-bit devices, but it still uses the host operating system's drivers. Even so, the vast majority of the Windows application library would be restored.