My column last week about how political concerns can affect messaging deployments generated a ton of mail. I'm still sorting through it; my apologies if you haven't received a response yet. (If you haven't written with your tips or tales of woe, you still have time!)
This week, I revisit the topic of 64-bit CPUs and what they mean to us from an Exchange Server standpoint. I've already written about Microsoft's announcement that Exchange 12 will run only on 64-bit versions of Windows (Windows Server 2003 at launch and Longhorn Server at some point in the future). I expected this announcement to generate a lot of discussion, and it has, but most people I've spoken with understand why Microsoft is making the leap to 64-bit, and most of them are both excited about the performance and scalability benefits and understanding of the fact that new hardware is required.
However, I want to talk more about something that's largely been overlooked in the discussion thus far: the performance improvements that come from using Windows 2003 x64 for Global Catalog (GC) servers and domain controllers (DCs) in your existing Exchange organization. Tony Redmond's statement from the Microsoft IT Forum 2005 show stating that HP had been able to achieve an 11:1 server consolidation for GCs by moving to one dual-Opteron GC sounded good, but I suspect that many administrators dismissed the news as not pertinent--after all, most of us don't have the large deployments that would seem to benefit most by the advent of x64 for Active Directory (AD) services. But it turns out that the performance benefits of x64 are applicable to smaller shops, too. The benefits fall into two main categories.
First, when you move to x64, you also move to multicore processors. That makes a huge difference right off the bat, and it's essentially free. If you replace an older dual-processor Xeon box with a dual-processor Opteron or Xeon box, you're essentially getting four processor cores; this has an obvious effect on how much work the server is able to do. You also get other architectural improvements now found in x64-capable servers (particularly faster bus speeds and better I/O systems). These make a big difference for applications such as file and print services, enabling a greater degree of consolidation. Microsoft field engineers tell me their customers are thrilled with the new ability to consolidate performance-intensive work such as Windows Terminal Server workloads onto a much smaller number of x64 servers.
Second, the x64 architecture allows much larger address spaces. The increase raises the possibility of being able to keep the entire AD directory information tree (DIT) in memory at once. The performance impact is obvious; even though the AD implementation of Joint Engine Technology (JET) is highly optimized for what it does, caching data in RAM is always faster than fetching it from disk. A midsized organization's DIT can easily grow beyond 1GB, at which time it can be difficult to keep the entire DIT in RAM if you have a conventional x86 architecture server.
The address space expansion possible with x64 also helps increase the number of kernel objects that can be held in the kernel's portion of the address space. As Terry Myerson points out on the Exchange team blog (http://blogs.technet.com/exchange/archive/2005/12/29/416613.aspx ), kernel address space currently places a non-negotiable limit on how many concurrent mailboxes you can support. I particularly liked his observation that (under some conditions) a Windows 2003 Service Pack 1 (SP1) box uses about 10 percent more kernel memory than the same computer running the Windows 2003 release to manufacturing (RTM) version. Increasing the address space available to the kernel helps both Exchange and Windows perform and scale better.
What does all this mean? To me, it's an argument in favor of moving to x64 for DCs as part of your regular upgrade cycle. This argument gets even stronger if you're in the process of migrating to Windows 2003 and likely buying new servers anyway. You'll get the immediate performance benefits of x64 now, and you'll have an architecture that will scale and perform well when you deploy Exchange 12.