In many data centers, power consumption accounts for a clear percentage of the overall operating expenses. As a result, configuring servers to consume less power often yields real and immediate savings.
In some ways, energy-aware server provisioning happens by itself. Energy prices are rising as server hardware costs are falling. This combined with the now mature server virtualization market makes it natural for organizations to begin consolidating servers. And fewer servers equal less power consumption.
Creating more efficient servers
One of the most important ways to make your servers operate more efficiently is to look at the workload they will be hosting.
When a server's workload increases, so does its power consumption. But this doesn't mean the workload on the server should be decreased. In fact, the opposite is true.
This is because power consumption is not linear. While a server operating at 100% capacity consumes 100% of the power it is capable of consuming, an idle server does not consume 0% of the server's total potential power consumption. Instead, a completely idle modern server consumes about 60% of the server's total potential power consumption (this varies according to the server's make and model).
Therefore, it is important to try to get the highest possible use out of your servers, or at least the highest use that the servers can deliver without excessively diminishing performance. In general, a server operating at capacity consumes less power than two comparable idle servers.
Using Core Parking to reduce power consumption
Limiting the number of CPU cores also decreases server power consumptions, and newer processors allow individual CPU cores to be shutdown without forcing the entire processor into an idle state. This capability is available in Windows Server 2008 R2 through the new Core Parking feature.
The basic idea behind Core Parking is that the operating system is able to monitor how heavily each CPU core is used. If there are some cores servicing a very light workload, those processes can be dynamically reallocated to a different core. The previously used core is then powered down (parked) in an effort to conserve power. Whenever the server's workload increases, the core is automatically enabled and used in the normal manner.
Core Parking respects processor affinity. Therefore, if you have explicitly assigned a process to a specific core, the core parking feature will not attempt to reallocate the process.
While there is no Windows setting that directly enables Core Parking, the feature is enabled when the Balanced power plan is selected through the Windows Control Panel, and disabled when the High Performance power plan is selected.
In addition to Core Parking, Windows Server 2008 R2 supports all of the power management options in Windows Server 2003 and 2008. These various power management settings can -- and should -- be controlled through group policies.
Core Parking may not seem that beneficial now -- especially if your servers are already operating near capacity -- but keep in mind that server hardware will likely evolve before the next version of Windows.
While occasionally shutting down one or two cores on a quad-core CPU might seem trivial, Windows Server 2008 R2 supports up to 256 cores. As the server hardware scales upward, shutting down underused cores will prove to be more and more useful.
ABOUT THE AUTHOR
Brien M. Posey, MCSE, has received Microsoft's Most Valuable Professional Award four times for his work with Windows Server, IIS and Exchange Server. He has served as CIO for a nationwide chain of hospitals and healthcare facilities, and was once a network administrator for Fort Knox. You can visit his personal Web site at www.brienposey.com.