Dynamic Power Management: A Quantitative Approach
by Johan De Gelas on January 18, 2010 2:00 AM EST- Posted in
- IT Computing
Overview
So let's summarize what we have seen so far. First we look at system power.
At the system level, the power savings of the Balanced power plan are pretty disappointing. Especially when benchmarking with two threads, we would have expected better power savings. Of course, we tested with only one CPU. The power savings should be better as you add more CPUs to the server. On the X3470 power savings are better, but the reason is not so much "SpeedStep" but more the fact that this turns off Turbo Boost. The most spectacular power savings cannot be seen in this picture: the automatic power and clock gating. As we have shown in this article, power and clock gating happen in both power plans and are responsible for some very significant savings, especially on the "Nehalem Lynnfield" Xeons. SpeedStep and PowerNow! are no longer very impressive for the following reasons:
- Clock gating and "deep sleep" core C-states already save a lot of power
- They are limited to frequency scaling; voltage scaling is only possible if all cores are running at a low P-state
In the case of Intel, frequency scaling is demoted to a pretty insignificant role: it is more important to power gate cores than to clock them down to a lower P-state.
For AMD, P-state changes are still important, but their effect is dubious: performance is up to 20% lower. Even the specific AMD driver in Windows 2008 (amdppm.sys) is not capable of working optimally under low load. Cores frequently stay at 800MHz too long or only get to 1400MHz before a thread is moved to another core. Ideally our two thread benchmark should get at least two CPU cores to quickly ramp up to 2.6GHz and stay there, but that's not what happened in our tests.
We'll make a simple performance/watt calculation by multiplying the performance numbers by 1000 and dividing them by our power numbers.
Look at the green bars of the AMD Opteron processors: performance/watt is clearly lower when running in Balanced mode. This is of course not the case when we run four threads on the quad-core and six threads on the six-core Opteron. In that case the operating system gets very few chances to drop the power. Still, it is important to note that PowerNow! results in a significant performance loss, a performance loss that is not justified by the meager power savings. The result is that the six-core Opteron in Performance mode offers the best performance/watt ratio when we focus on the Opteron family. It is a shame that the Windows 2008 CPU driver does not adapt better: the six-core Opteron is pretty competitive in performance/watt.
The situation is a lot more complex in the Intel Xeon family. With low thread counts, the Xeon is capable of using Turbo Boost. From a "system power" perspective, power is only a bit higher, while performance goes up by a third. But with low TDPs, there is little wiggle room, and Turbo Boost is quickly put out of action. With more than two threads, the L3426 never clocks above 1.86GHz. With "normal" Xeons, there is no significant difference between the two power plans.
35 Comments
View All Comments
UrQuan3 - Thursday, January 21, 2010 - link
I'm trying to remember for 2008, but wasn't there a way to either force or suggest thread/core affinity? It looks like the scheduler was hopping all over the place on the Opterons.JarredWalton - Thursday, January 21, 2010 - link
You guys better pay attention and answer this post, or his species will try to enslave and/or wipe out the entire galaxy! ;-)mino - Wednesday, January 20, 2010 - link
I mean, not, why do you use them for this article.They are fine examples of low-power platforms, even if from vastly different markets.
But,
WHY ON EARTH DO YOU KEEP TALKING LIKE THEY WERE COMPARABLE THROUGHOUT THE ARTICLE ???
IntelUser2000 - Wednesday, January 20, 2010 - link
By the way, I don't know if you have the settings wrong or that's how it works, the Turbo Boost mode is not affected on the Home PC versions of Windows. Balanced uses Turbo Boost just as well on my Windows 7 Home Premium with Core i5 661.JarredWalton - Wednesday, January 20, 2010 - link
I was wondering this as well, but I'm not familiar with Windows Server... what I do know is that Power Saver on consumer Windows OSes really limits the CPU frequency scaling features, and it sort of looks like Balanced on the Server OS has aspects of consumer "Power Saver" as well as some elements of "Balanced". Odd to see only two power settings available, where Win7 now has at least 3 and often 5.mino - Wednesday, January 20, 2010 - link
It seems a classic example of KISS strategy of choosing the most-sensible options and so reducing decision complexity for IT people.Modes like "Max battery" have anyway no reason for existence on a server box.
RobinBee - Tuesday, January 19, 2010 - link
If you use your pc as a music server:Power saving methods ruin sound quality even if using a good sound card. The problem is »electronic« sound distortion. I do not know why this happens.
Also: The chosen number of IRQ pr. second in a net card can ruin sound quality too. Why, I do not know.
Anato - Tuesday, January 19, 2010 - link
I'm interested to see results from different operating systems which may be better at controlling processes in different CPU's. Namely no CPU hopping and is their power management as efficient as Windows is.Most interested at:
Linux and Solaris
JohanAnandtech - Tuesday, January 19, 2010 - link
Excellent suggestion :-). Problem is to keep the application the same. We currently tested SQL Server 2008 on Windows 2008 and of course this can not be done on Linux. However, I am not stranger to linux as a server.I am no fan of MySQL on Windows, but maybe this has improved. Would MySQL on Windows and Linux makes sense as a comparison?
maveric7911 - Tuesday, January 19, 2010 - link
Why not use oracle ;)