powernow considered harmful (to benchmarking)

I had an interesting epiphany over the last few days. We normally turn on powernow to let idle machines … idle … during low load times. This way they consume less power.

Of course, the road to penultimate benchmark results are paved with such good intentions.

I noticed that when run this way, several CPU/memory/IO benchmarks didn’t always hit the throttle on the CPU. It remained clocked lower. Which meant I was getting very odd buffer cache timing, that I could not quite grok. About 1/2 or lower of what I expected.

While playing with the machine over the weekend, prepping it for a customer, I noticed something. The clock speed in /proc/cpuinfo was basically at 1000 MHz (1 GHz). Hmm … I thought, what if powernow didn’t let the CPU get all the way back up, or didn’t detect the benchmark as a legitimate load …

So I turned it off. And re-ran the tests.

Ugh. Buffer cache speed more than doubled. Reported bonnie++ bandwidths significantly increased. This is not a highly tuned configuration either. This is a stock ubuntu edgy kernel (server variant) with a rebuilt raid driver (they shipped the old one, and we wanted the new one). I have a feeling that the previous group who had this box and looked at it were also running with powernow on.

All of our previous results were with the powernow settings on. There is nothing wrong with the previous results, they are excellent (and even better considering we are comparing RAID6 to others RAID5). I am rerunning an IOzone to be sure, but a quick eyeballing of the results suggests that the impact upon buffer cache may have had an impact on the overall performance. More later when I get a chance to analyze the results.

Viewed 14013 times by 2853 viewers