Riding the x64 Wave

Once a futuristic technology, 64-bit computing has rapidly taken hold in both the Windows Server space and in the database world, a move made possible by the x64 platform. Unlike its Intel Itanium 64-bit predecessor, the x64 architecture has full binary compatibility with both existing 32-bit executable programs and native 64-bit programs.The Itanium instruction set and system architecture, called Explicitly Parallel Instruction Computing (EPIC), provides high-end performance on native 64-bit applications created explicitly for the Itanium platform, but Microsoft doesn't support running its 32-bit server applications, such as SQL Server, by using Itanium's 32-bit emulation layer.

Because of the way Windows allocates RAM, only 2GB is actually available for applications like SQL Server.To address the problem of inaccessible memory, Microsoft developed a technology called Address Windowing Extensions (AWE), which lets applications specifically written with AWE support access up to 64GB of RAM on Windows Server 2003 Datacenter Edition. But AWE is no silver bullet. Its paged access imposes overhead, offers no help to the base OS operations, and only limited parts of the application can use it. For example, SQL Server can use AWE to expand the buffer cache but not the procedure cache.

With the x64 architecture, the maximum addressable memory increases to 1TB on the AMD Opteron line and 64GB on the Intel Extended Memory 64Technology (EM64T) line of processors. Applications don't have to be written specially to take advantage of x64, and unlike the limited AWE implementation, x64 architecture memory can be used freely by both the OS and applications with no additional overhead. And the system design in the x64 platform enables improved parallelism for threading and enhanced I/O and memory-access speeds.

SQL Server can take advantage of the 64-bit x64 architecture's increased memory space to improve performance. Increased buffer and procedure cache sizes reduce the need for I/O and statement recompilation. Analysis Services has better support for very large dimensions and processes cubes faster by eliminating the need for temporary files. SQL Server Integration Services (SSIS) can use the memory for operations, such as aggregations and sorting, that require the entire dataset in memory. Even if you're unable to upgrade to 64-bit SQL Server, each 32-bit process on the x64 platform is able to address up to 4GB of RAM.

Microsoft has fully adopted the x64 platform, with SQL Sever 2005 Enterprise and Standard editions providing native x64 support. Microsoft Exchange Server (Exchange 12) is dropping 32-bit support altogether and will be released as a native x64 application. Windows Server 2003 R2 has dropped Itanium support in favor of the x64 architecture. Visual Studio 2005 provides support for creating native x64 applications.And the Windows .NET Framework 2.0 provides full 64-bit support.

If you start down the 64-bit path, one key point to remember is that to take full advantage of the x64 platform, you need to step out of the old 32-bit mindset and configure the system with enough RAM to let you step beyond the 32-bit boundaries. A good starting point is to plan on at least doubling the RAM of your 32-bit system. Increased memory isn't a panacea for all database performance issues, but it's about as close as it comes. Memory is like time:You can never have too much of it.

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.