5 ms·
What is the difference between undervolting and just changing the processor governor?
by eznzt 6y ago
What is the difference between undervolting and just changing the processor governor?
- gravypod 6y agoI'm a laymen so don't take this as definitive but my understanding is Power = Volts * Amps. The amount of Amps going into something is the amount of electrons moving into it (water in a pipe). Volts is how hard you're pushing the electrons through a circuit (pressure in a pipe). Because of magic I don't understand amps is ~constant while how much force is behind those electrons have is changeable (how wide you open your faucet). Processor governors change the clock speed of the CPU (how many dishes you're washing). Dynamic voltage control is changing how hard you're pushing electrons through the CPU to let it stably operate at a given frequency (opening/closing the faucet as your scrubbing your dishes). By doing this we can lower the amount of Power (water) we use while getting the same amount of work done (dishes washed).
- aidenn0 6y agoPower used is roughly proportional to the clock times the square of the voltage. Changing the processor governor affects the clock, undervolting affects the voltage. If you use a more conservative governor you lower performance and power consumption both linearly; this means that e.g. the total energy used for running a long batch job is roughly constant. If you lower the voltage, you don't decrease performance at all, but still lower the power consumption. It's a free lunch, right up until your CPU starts silently generating the wrong results and possibly corrupting your entire system. On top of this, CPUs now often will (internally, or with the help of the motherboard chipset) dynamically alter their clock based on the temperature. So undervolting reduces the power consumed at a given temperature, which will increase the speed your CPU runs at, if you are thermally limited. This means a setup with poor cooling will use the same amount of power before but run faster.
- rektide 6y agoamdctl[1] might be useful to look at to learn a little here, as it meddles with these things. the CPU has different ACPI P-States, different power level modes that the governor will switch between. but each of those states has an assigned voltage to it. you can tell a governor to keep using lower power states, but those states may still be supplying more voltage/power than the CPU requires to run. under-volting is about adjusting the power level for a given state. there's a very broad ranging article on AMD Zen architecture[1] that i love, from Matt Dillon, creator of DragonflyBSD, and it talks some to undervolting & how it can be useful for their big build-servers & others. [edit: wait no, wrong link: it was THIS other huge thread from Dillon[3] that included low power musings, but still no explicit undervolting, just setting the thermal limit lower]. [1] https://github.com/kevinlekiller/amdctl https://github.com/kevinlekiller/amdctl [2] https://news.ycombinator.com/item?id=20795054 https://news.ycombinator.com/item?id=20795054 [3] http://apollo.backplane.com/DFlyMisc/threadripper.txt http://apollo.backplane.com/DFlyMisc/threadripper.txt