Although this guide focuses on how to obtain the best performance from Windows Server 2008, the increasing importance of power efficiency must also be recognized in enterprise and data center environments. High performance and low power usage are often conflicting goals, but by carefully selecting server components you can determine the correct balance between them. Table 3 contains guidelines for power characteristics and capabilities of server hardware components.
Table 3. Server Hardware Power Savings Recommendations
Frequency, operating voltage, cache size, and process technology all affect the power consumption of processors. Processors have a thermal design point (TDP) rating that gives a basic indication of power consumption relative to other models. In general, opt for the lowest-TDP processor that will meet your performance goals. Also, newer generations of processors are generally more power efficient and might expose more power states for the Windows power management algorithms, which enables better power management at all levels of performance.
Memory consumes an increasing amount of system power. Many factors affect the power consumption of a memory “stick” such as memory technology, error correction code (ECC), frequency, capacity, density, and number of ranks. Therefore, it is best to compare expected power consumption ratings before purchasing large quantities of memory. Low-power (“green”) memory is now available, but a performance or monetary trade-off must be considered. If paging is required, then the power cost of the paging disks should also be considered.
Higher RPM means increased power consumption. Also, new 2.5-inch drives consume less than half the power of older 3.5-inch drives. More information about the power cost for different RAID configurations is found in “Performance Tuning for Storage Subsystem” later in this guide.
Network and storage adapters
Some adapters decrease power consumption during idle periods. This becomes a more important consideration for 10Gb networking and high-bandwidth storage links.
Increasing power supply efficiency is a great way to reduce consumption without affecting performance. High-efficiency power supplies can save many kilowatt-hours per year, per server.
Fans, like power supplies, are an area where you can reduce power consumption without affecting system performance. Variable-speed fans can reduce RPM as system load decreases, eliminating otherwise unnecessary power consumption.
The default power plan for Windows Server 2008 is Balanced. This plan is optimized for maximum power efficiency; it matches computational capacity to computational demand by dynamically reducing or increasing CPU performance as workload changes. This approach keeps performance high while saving power whenever possible. For most scenarios, Balanced delivers excellent power efficiency with minimal effect on performance. Microsoft highly recommends using the default Balanced power plan, if possible.
However, Balanced might not be appropriate for all customers. For example, some applications require very low response times or very high throughput at high load. Other applications might have sensitive timing or synchronization requirements that cannot tolerate changes in processor clock frequency. In such cases, changing the power plan to High Performance might help you to achieve your business goals. Note that the power consumption and operating cost of your server might increase significantly if you select the High Performance plan.
Server BIOS settings can prevent Windows power management from working properly. Check whether such settings exist and if they do, enable operating system power management to ensure that the Balanced and High Performance plans perform as expected.
Changes to Default Power Policy Parameters in Service Pack 2
We modified the Balanced power plan parameters in Windows Server 2008 Service Pack 2 (SP2) to increase energy efficiency. Although there is a very small performance cost, the new Balanced power plan can provide significant reductions in energy usage and can increase power efficiency for some workloads by as much as ten percent. The cost savings of the new parameter settings can quickly add up for installations with a large number of servers.
To prevent overwriting of customer-applied performance or power settings, the new settings are applied only to fresh installations of Windows Server 2008 with SP2, not to upgrades. If you upgrade to Windows Server 2008 SP2 and you want to apply the new parameter settings, or if you perform a fresh SP2 installation and you want to revert to the pre-SP2 settings, see "Resources" for links to instructions. You can also apply these settings to Windows Server 2008 installations without SP2.
Interrupt affinity refers to the binding of interrupts from a specific device to one or more specific processors in a multiprocessor server. The binding forces interrupt processing to run on the specified processor or processors, unless the device specifies otherwise. For some scenarios, such as a file server, the network connections and file server sessions remain on the same network adapter. In those scenarios, binding interrupts from the network adapter to a processor allows for processing incoming packets (SMB requests and data) on a specific set of processors, which improves locality and scalability.
The Interrupt-Affinity Filter tool (IntFiltr) lets you change the CPU affinity of the interrupt service routine (ISR). The tool runs on most servers that run Windows Server 2008, regardless of what processor or interrupt controller is used. For IntFiltr to work on some systems, you must set the MAXPROCSPERCLUSTER=0 boot parameter. However, on some systems with more than eight logical processors or for devices that use MSI or MSI-X, the tool is limited by the Advanced Programmable Interrupt Controller (APIC) protocol. The Interrupt-Affinity Policy (IntPolicy) tool does not encounter this issue because it sets the CPU affinity through the affinity policy of a device.
You can use either tool to direct any device's ISR to a specific processor or set of processors (instead of sending interrupts to any of the CPUs in the system). Note that different devices can have different interrupt affinity settings. On some systems, directing the ISR to a processor on a different Non-Uniform Memory Access (NUMA) node can cause performance issues.