Two and a half years ago, I assembled my current computer. From close to the beginning I used CPU undervolting (supplying the CPU with sufficient voltage, but less than the default for a given CPU speed) to reduce my maximum power draw. I knew ahead of time, from other forums, that the technique I had employed for software undervolting of the CPU would no longer work after upgrading to Ubuntu 9.04. The earlier versions of Linux PHC had hacked the speedstep_centrino module of the Linux kernel; this was now deprecated, and the logic had been moved to the acpi_cpufreq module. Further, the new release had all of the frequency regulating modules baked into the stock kernel, so you could not merely substitute a patched module, but would need another entire kernel. Linux PHC now provides such a kernel, tracking Ubuntu releases, but I haven't bothered to adopt that yet.
One effect of undervolting through software, rather than the PC BIOS, is that you can't go below the lowest legal voltage (applied when the CPU is idle), nor can you slow the CPU below the manufacturer's minimum speed (or faster than the maximum). The software can request an even lower voltage or speed, but the hardware ignores it. What this means is that the technique used above allowed me to reduce the power draw of my CPU when it was busy, but did not affect the idle state. When you're checking email and web browsing, your CPU spends a lot of time at that minimum state. When fully stressed calculating Mersenne primes, undervolting Vcore from 1.21 to 1.05 volts had saved about 13 watts (the whole box then drew about 77 watts). At idle, I was saving 0 watts out of 42.
So, the hassle factor is outweighing the being-green factor. Next year I plan to assemble a new system, and with care it should be faster, smaller, and draw less power (at least a bit) than the current box, even without undervolting. If undervolting becomes less trouble to maintain (Ubuntu releases a new kernel every couple of months), I'll certainly apply that technique too.
this makes sense
ReplyDeletethanks for sharing thoughts