Advantages of 64-bit hardware and software (Windows SharePoint Services 3.0)
Updated: April 2, 2009
Applies To: Windows SharePoint Services 3.0
It is often more comfortable to continue to use something that is familiar and that we know works. The widespread adoption of the 64-bit environment for use with Windows SharePoint Services 3.0 has been slow to happen, probably because of the investment in time, money, and effort that went into installing and configuring 32-bit hardware and software. The main concerns appear to be that migration to 64-bit will be expensive, difficult, time-consuming, and incompatible with existing software. This article is intended to show that these concerns are exaggerated and far outweighed by the potential benefits.
Understanding the 64-bit environment
The 64-bit environment consists of both hardware and software components. Although the conversion to 64-bit hardware alone may improve performance somewhat, optimum benefit is derived only when 64-bit hardware and software are working together.
Although 64-bit processing capability has been used in specialized applications for decades, only in the last several years has it been widely available for Intel-based computers. The majority of new servers that are being sold now are 64-bit servers; however, most of the computers that are currently used as Windows-based servers still use a 32-bit architecture. The prevalence of 32-bit servers puts some limitations on the speed, reliability, and scalability of applications that require a lot of resources, such as Windows SharePoint Services 3.0.
In computer architecture, the term 64-bit most frequently refers to the design of the central processing unit (CPU), but can also relate to the size of the external data bus of the computer. Among other benefits, a 64-bit CPU can calculate individual tasks two times as fast as a 32-bit model and can address significantly more random access memory (RAM) than the 4-gigabyte (GB) limit imposed by 32-bit processors. A server that has both a 64-bit CPU and a 64-bit data bus is better able to process and manage the large database files associated with Windows SharePoint Services 3.0.
Not all 64-bit computers are the same. Intel’s Itanium series of 64-bit processors uses a proprietary design that is not compatible with Microsoft SharePoint Products and Technologies. Be sure to check the processor type when you acquire hardware for use in a Windows SharePoint Services 3.0 farm.
The benefits of 64-bit hardware can only be fully obtained if the software that you install is designed to use all the features of the hardware. Software intended for 32-bit computers, although compatible, will generate few, if any, of the desired benefits when it is installed on a 64-bit computer. Windows SharePoint Services 3.0 and all its prerequisite operating system and database software have installation options for 64-bit computers.
Windows Server 2003 and Windows Server 2008 offer 64-bit versions of the Standard and Enterprise editions. If you are a volume-licensing customer who wants to upgrade to 64-bit, the switch from 32-bit to 64-bit or Itanium editions is free. The Standard edition supports up to 32 GB of RAM on 1-way to 4-way servers. The Enterprise edition offers better support for large databases and up to 2 terabytes of RAM on 1-way to 8-way servers. For more information about Windows Server in a 64-bit environment, see Benefits of Microsoft Windows x64 Editions (http://go.microsoft.com/fwlink/?LinkId=147235).
The 32-bit and 64-bit versions of SQL Server are based on a common architecture. The 64-bit versions of SQL Server are optimized to run on servers that use AMD Opteron, AMD Athlon 64, Intel Xeon with support for Intel Extended Memory 64 Technology (EM64T), or Intel Pentium IV with support for EM64T. For more information about SQL Server in a 64-bit environment, see Advantages of a 64-bit Environment (http://go.microsoft.com/fwlink/?LinkId=147234).
There are no differences in the feature set or the installation process between the 32-bit edition and 64-bit edition of Windows SharePoint Services 3.0.
Advantages of 64-bit hardware and software
A 32-bit system architecture can directly address only a 4-GB address space. A 64-bit system architecture that is running a 64-bit edition of Windows Server can support up to 1,024 GB of both physical and addressable memory.
The 64-bit editions of Windows Server can address 16 terabytes of virtual memory by using a flat addressing model. Virtual memory is divided equally between virtual address space for applications and the operating system. Even 32-bit applications can benefit from increased virtual memory address space when they are running in a 64-bit environment. For example, although a 32-bit application is still restricted to 4 GB of virtual memory, it no longer has to share that memory space with the operating system. As a result, it receives an effective increase in available virtual memory.
Poor performance in 32-bit systems is often not the result of a lack of available memory, but the unavailability of large enough blocks of continuous memory. In a typical Windows SharePoint Services 3.0 deployment, Windows, Internet Information Services (IIS), common language runtime (CLR), ASP.NET, SharePoint Products and Technologies, SSPs, and MDACs can all claim a portion of a server’s available virtual memory and can leave a 32-bit address space quite fragmented. When the CLR or SharePoint services request new memory blocks, it can be difficult to find a 64-MB segment in the crowded 32-bit address space. A 64-bit system offers practically unlimited address space for user mode processes.
Better parallel processing
A server that is using 32-bit architecture is limited to 32 CPUs. Improvements in parallel processing and bus architectures enable 64-bit environments to support as many as 64 processors and provide almost linear scalability with each additional processor.
Faster bus architecture
A 64-bit architecture provides more and wider general-purpose registers, which contribute to greater overall application speed. When there are more registers, there is less need to write persistent data to memory and then have to read it back just a few instructions later. Function calls are also faster in a 64-bit environment because as many as four arguments at a time can be passed in registers to a function.
The 64-bit editions of Windows Server offer the following enhanced security features:
Buffer overflow protection
A buffer overflow occurs when a data buffer is congested with more data than it is designed to handle. In 64-bit editions of Windows Server, the first parameters of a procedure call are passed in registers. As a result, it is less likely that the buffer will overflow, because the correct values have to be set up in registers and the variables and addresses have to be aligned on the stack.
Data execution protection
The 64-bit processors made by AMD and Intel include hardware support for data execution prevention (DEP). Windows Server uses DEP to prevent malicious code from being able to execute, even when a buffer overrun occurs. Even without a processor that supports DEP, Windows Server can detect code that is running in memory locations where it should not be.
Microsoft Patch Guard technology prevents non-Microsoft programs from patching the Windows kernel. This technology prevents kernel mode drivers from extending or replacing kernel services, including system service dispatch tables, the interrupt descriptor table (IDT), and the global descriptor table (GDT). Third-party software is also prevented from allocating kernel stacks or patching any part of the kernel.
In a 64-bit environment, not only can database servers gain nearly unlimited virtual memory address space, but they also gain support for more physical memory. It is possible for a 64-bit server that is running 64-bit editions of Windows Server and SQL Server to get very large working data sets entirely into RAM, thereby improving performance and scalability. In addition, the number of application servers that are required to support a given user base can be substantially reduced because a 64-bit environment does not require worker processes to cycle as often. This reduced cycling results in fewer lost connections, improved I/O handling, and a better user experience.
Lower total cost of ownership
All the benefits of 64-bit operation that are listed in the previous sections enable you to do more with less. A 64-bit environment allows you to manage more data, serve more users, and run more applications while using less hardware. By reducing hardware, you are also able to reduce license, operations, and infrastructure costs. It takes up less floor space in your data center and costs less to maintain. Finally, because a Windows SharePoint Services 3.0 farm that uses 64-bit hardware and software provides more room for growth, you can spend less over time on equipment because the life cycle of your equipment is likely to be longer.
A 64-bit environment might not be ideal for every situation
Disadvantages of a 64-bit environment
Typically, 64-bit servers require more virtual memory than 32-bit servers. The 64-bit framework reserves memory in segments that are based on the number of processors. As a general rule, a 4-processor server should have a minimum of 5 GB of virtual memory and an 8-processor server should have a minimum of 6 GB.
The ability of 64-bit applications to access a larger physical and virtual memory space means that address tables are larger and can result in a larger data-transaction overhead. As a result, small or repetitive tasks may run marginally slower than in a 32-bit environment.
It is a common practice to repurpose idle server equipment. Therefore, if your organization has a lot of 32-bit servers available, it may be difficult to justify purchasing new 64-bit hardware on which to run Windows SharePoint Services 3.0. When you have to choose between purchasing new 64-bit equipment and repurposing old 32-bit servers, consider the potential for operational savings over time by using 64-bit servers and software.
Some third-party software or Windows SharePoint Services 3.0 features will not work in 64-bit mode. However, future versions of SharePoint Products and Technologies will be optimized for 64-bit operation and will not support 32-bit environments at all.
Deploying a 64-bit system
Deployment of Windows SharePoint Services 3.0 in a new 64-bit farm differs very little from a 32-bit deployment. The planning documentation available for new deployments includes information on configuring your farm to make optimum use of the increased capabilities of 64-bit hardware and software. For more information about planning and deploying Windows SharePoint Services 3.0 in a 64-bit environment, see Getting started for Windows SharePoint Services 3.0 technology.
Conversion of an existing deployment
It is not necessary to switch your whole Windows SharePoint Services 3.0 deployment to 64-bit servers all at once. In most cases, 32-bit and 64-bit servers can operate comfortably within the same farm, and performing the conversion incrementally can spread the cost out over time and help maintain continuity of service throughout the transition.
Incremental migration to 64-bit servers
If you choose to migrate your servers to 64-bit servers one at a time, it is good to know which servers will benefit most from the switch. By migrating the servers in a certain order, you can optimize the transition and take advantage of the performance improvements immediately. The following servers are listed in the order of those that benefit most from conversion to 64-bit:
SQL Server is very processor and memory intensive. Migrating to a 64-bit server can result in immediate benefits by allowing the database server to support more databases while handling more connections and more transactions.
Front-end Web servers and application servers
Worker processes can always benefit from additional memory. The more services and applications that you run on your server, the more they will all benefit from the improved memory management and higher memory limits a 64-bit environment offers. When you convert front-end Web servers to 64-bit, be sure to migrate all of them at the same time.
We recommend that you do not mix 32-bit and 64-bit front-end Web servers for long-term deployment. Server loads can become unbalanced if one or more servers are performing better than the rest.
Application servers running Excel Calculation Services
Excel calculation services are mostly a burden to the CPU. The faster architecture of the 64-bit processor and external data bus will yield a significant performance improvement.
Index servers require a fast processor and rapid disk I/O. They also have to maintain a large number of connections simultaneously. A 64-bit architecture offers the improved memory management and large data bus that can help reduce crawl times.
Query servers tend to be the quietest servers in the farm and may benefit the least from conversion to 64-bit hardware. However, in cases where the query server is processing a large number of search requests at a time, the increase in performance will be noticeable.
32-bit software on 64-bit hardware
It is possible to run 32-bit software on 64-bit hardware. The 64-bit editions of Windows Server include the Windows on Windows 64-bit (WOW64) translation layer, which can emulate a 32-bit operating system. In many cases, WOW64 enables 32-bit software and 64-bit software to run simultaneously on the same computer. However, only 64-bit versions of SharePoint Products and Technologies can be run on 64-bit editions of Windows Server.
Mixing 32-bit and 64-bit servers
Some important considerations when you are running a mixed 32-bit and 64-bit farm are as follows:
Do not use the /3GB switch in Windows Server 2003
On a 32-bit server with a total of 4 GB of virtual address space, the /3GB switch can optimize performance by transferring 1 GB of virtual address space from the kernel to the user mode processes. This is not recommended on 64-bit hardware because it leaves only 1 GB available to the kernel. The large address tables that are used by 64-bit hardware can cause that address space to be depleted. As a result, the computer may become destabilized. For more information, see the Knowledge Base article The Windows Server 2003 /3GB switch is not supported in Windows SharePoint Services 2.0 or in later versions or in SharePoint Portal Server 2003 SP2 or in later versions (http://go.microsoft.com/fwlink/?LinkId=105919).
Maintain 32-bit or 64-bit homogeneity at each topology layer
You can deploy an Windows SharePoint Services 3.0 farm on a mix of 32-bit and 64-bit servers provided that you maintain architecture homogeneity at each topology layer. For example, you can use 64-bit database servers with 32-bit front-end Web servers, or 64-bit application servers with 32-bit servers that are running Excel Services. However, we do not recommend combining 32-bit and 64-bit front-end Web servers within the same farm.
Mixing 32-bit and 64-bit servers can increase the maintenance overhead for the farm
In mixed 32-bit and 64-bit scenarios, it is necessary to manage things such as third-party applications, custom solutions, software patches, and updates independently for each platform.
If the 32-bit servers in a deployment are performing adequately and the users are satisfied with the operation of their sites, applications, and search requests, there may be no urgency to convert the Windows SharePoint Services 3.0 deployment to 64-bit. However, if performance of the server farm is not meeting your expectations or customers’ expectations, if the user base is growing rapidly, if the application pools are recycling more and more often, or if a scheduled equipment upgrade is approaching, it may be time to advance to a new and growing standard and migrate the equipment and software to 64-bit.