Moving to 64-Bit Exchange

Microsoft announced last November that it would ship Exchange 12 only for 64-bit systems. Microsoft logic says that the world is fast becoming a 64-bit environment and that moving to 64-bit helps to solve some technical problems Exchange has on the 32-bit platform. Let's look at the technical issues behind Microsoft's decision and how the move to 64-bit systems will affect Exchange customers.

Microsoft's Dilemma
In the past decade, message and mailbox sizes have grown and servers have been required to support increasing numbers of concurrent authenticated connections. In addition, server consolidation means that Exchange servers support more mailboxes than ever and that storage systems are larger and more complex. Web Table 1 shows how changing configurations have increased the pressure on Exchange.

Microsoft's dilemma was whether to continue with a 32-bit version of Exchange during the development of 64-bit Exchange 12. Keeping a 32-bit version would have let customers use their existing hardware while moving to Exchange 12, and Microsoft could have told customers that Exchange 12 would be the last 32-bit version and prepared them to move to 64-bit in the next release. But that release might not occur until 2010, and keeping a 32-bit version would have kept Microsoft from addressing problems such as virtual memory fragmentation, which prevents the Information Store (IS) from scaling up.

Solving Problems, Improving Performance
As message, mailbox, and database sizes have grown, so has the number of I/O operations per second (IOPS). As servers scale up to support more than one thousand mailboxes, the storage subsystem's ability to meet users' I/O demands becomes critical. If those demands aren't met, bottlenecks in the IS degrade performance. The cost of storage for very large Exchange servers is one reason Exchange Server 2003 tops out at around 4000 mailboxes per server.

By moving to a 64-bit platform, Microsoft believes it can solve many IS problems. With more addressable memory, we should see less fragmentation of virtual memory, allowing Exchange to support more storage groups (SGs) and databases. The extra memory should also let the IS cache far more data than it can today and generate far fewer I/O operations. If Exchange could cache every user's inbox, the rules that typically process incoming messages, and the user's 50 most recent messages, the IS could provide this data from memory instead of constantly going to disk.

One calculation from the Exchange engineering group shows that the current 32-bit Joint Engine Technology (JET) cache can store 250KB per user on a server that supports 4000 mailboxes. By comparison, on a 64-bit server equipped with 16GB of RAM, the expanded JET cache can hold 3.5MB for each of those 4000 users, increasing by a factor of 14 the amount of data that the IS can access from memory.

Exchange 12 also increases the JET database engine page size from 4KB to 8KB. Microsoft believes this will enable the IS to hold more than 50 percent of all messages in one page, thus decreasing the number of read/ write operations performed for each message.

Generating data to show the effect 64-bit Exchange has on IOPS will take time. Based on data gathered from some of Microsoft's own systems, Microsoft engineers estimate that I/O demand will drop from 1 IOPS per user on a 32-bit platform to 0.25 to 0.3 IOPS per user on Exchange 12. Theoretically, such a drop in I/O demand could reduce storage costs. However, you might not realize those savings because you're unlikely to jettison your existing storage in favor of cheaper alternatives. Instead, you'll probably use the excess storage to host more servers or handle the increased workload of new applications, such as unified messaging. Consolidation and a longer storage lifetime are where you'll reap the real savings that will result from using Exchange 12.

The Administrator's Dilemma
Given that Exchange 12 won't run on 32-bit systems, should you keep the hardware you have or invest in new servers that are 64-bit ready? It's not a good idea to purchase pure 32-bit systems for future deployments unless you plan to replace those systems in the next two years. If you need new hardware, you should buy Intel or AMD systems that can run 64-bit Windows and Exchange. (If you've bought new hardware in the past year from an established company, chances are it's 64-bit ready.)

However, you won't be able to upgrade new servers from a 32-bit Windows Server 2003/Exchange 2003 configuration to a 64-bit Windows 2003/Exchange 12 configuration: The sheer complexity of the upgrade means that Microsoft won't provide the tools. You'll have to plan on fresh installs of both Windows 2003 x64 and Exchange 12 on the servers, then move mailboxes to transfer data from older servers to the new platform.

A hidden expense you should be aware of involves rebuilding your test environment to test Exchange 12 before deploying it. Microsoft has said it will generate 32-bit versions of Exchange 12 for testing, but even if it does, it's unlikely to optimize or thoroughly debug the code in test versions, so the 32-bit versions probably won't reflect the true nature of Exchange 12.

Ready or Not, Here It Comes
Microsoft's decision to move to the 64-bit platform for Exchange 12 marks a fundamental change that might very well result in better scalability and performance. Supporting only 64-bit platforms with Exchange seems to be a logical decision—provided Microsoft delivers a quality product at the end of the Exchange 12 development cycle.