Is CPU throttling the most important piece of server power management?
With in-state servers, the vast amount of power goes to the CPU. With today's hardware and infrastructure, the CPUs are the biggest and best control we have. Also, we're putting more CPUs into a single box with multiple cores. Today, I think that's the biggest bang for the buck. Will servers take a performance hit?
That's largely a perception. We do this so many times a second on a laptop; it's a mature technology. The transmission latencies are so small, and Intel and AMD have done tremendous work to make sure the parts of the chips can be powered down seamlessly. What about running high-performance workloads?
A server running at 80% plus utilization is going to stay in a high processor state anyway. When the processor backs off, Windows can step it down. Also, in Windows Server 2008 you can lock a processor in a state right off the bat. We also have finer grade controls for thresholds that can address cases where the default settings don't fit what you want to do. The defaults that come out of the box are going to be good for the vast majority of people. At a recent conference I attended, the majority of attendees said they weren't using the existing throttle-down feature on Windows servers. Why is that?
The primary reason most people weren't using it is because it wasn't enabled out of the box. With Windows Server 2003, we were far more concerned about performance; it reflected the needs of the market at the time. We worried about getting every bit of performance out of machines, so the default was not to turn it on.
In short, P states trade performance for lower power consumption by adjusting the frequency and voltage of the CPU. These are relevant when the system is executing code. C states put the processor to sleep in order to conserve power. These are relevant when the system is not executing code, when the system is idle. C states were the old way of doing CPU throttling, and P states are the newer method?
Yes, that is correct. Another way to look at this is that P states give you savings when you are working by adjusting the power required to do the job; C states save you power when you are not working. Is there a big difference between the way Windows Server 2008 manages power with Intel and AMD platforms or with server vendors?
There isn't a big difference. Both AMD and Intel have similar technology offerings. While they work in different manners the results are very close.
In general, for "good" power management support on Windows, a number of things need to be in place. First, the processors need to support these features. Second server vendors need to supply systems that enable and take advantage of these features. Third, server vendors need to properly expose them to Windows (via the ACPI [Advanced Configuration and Power Interface]). If all that is in place, Windows can effectively manage power on the system.
Let us know what you think about the story; email: Matt Stansberry, Site Editor.