Energy efficiency is key when building a cruncher. Simply, because the cost for electricity will add up over time. Depending on how much you pay for electricity, it will come close to or even surpass the cost for the hardware itself after several years.
In this guide I list some things I learned, that will improve the energy efficiency of a computer used solely or mostly for crunching. I start with the most important ones and go down to the less important, but still useful ones.
0. Get a power meter
This one will not save energy, but you can only improve what you can measure. So get yourself a power meter, sometimes also called kill-a-watt. You plug it into the power socket and connect the power cord of the computer with it, and it shows how many Watt you are using. That’s your starting point, now try to get it down as much as possible, while not giving up too much performance!
1. Use a modern CPU + GPU
It might be tempting to use an old PC for crunching, especially when you have some old hardware lying around unused. Don’t do that, the electricity cost will cost you more over time, than the savings on hardware.
The newest CPU or GPU is not necessarily, the best choice, not under all circumstances will its higher efficiency make up for the additional cost. But anything older than 3 years is normally not a good choice.
2. Don’t overclock
Overclocking might be tempting, as it gives you the impression of getting the most out of your hardware. However, for a few percent more clock rate, energy usage increases dramatically. There is a reason, that server CPU’s run at very low clock rates. High clock rates are only useful, if a high single thread speed is required – which is not the case for distributed computing projects.
I normally run my crunchers at stock speed and even deactivate turbo boost – it is just not worth the additional electricity usage.
Another advantage of moderate clock rates is the much easier cooling of your CPU. You will not need a high-end cooler to keep it at reasonable temperatures. You can also save on the mainboard. Running a CPU at high clock rates, drawing high currents, stresses the voltage regulator modules (VRM’s) of your mainboard, so you need an expensive one with sufficiently dimensioned VRM’s. If you do not overclock, you are fine with a mid-range or even entry-level mainboard.
The energy a CPU consumes is dependent on core voltage – the higher the voltage, the more energy is consumed. Unfortunately, the core voltage cannot be lowered infinitely, as if it is too low, the CPU works not properly anymore and the system crashes (don’t be afraid, unlike with overclocking there is no danger to destroy the CPU). The higher the clock rate, the higher is the voltage needed – and power consumption rises with voltage squared (this is also the reason why you should not overclock). Unfortunately, the voltage needed for a given CPU model at a given clock speed is not always the same, as every piece of silicon is a bit different. To be on the safe side, CPU manufacturers apply the same voltage to every CPU, that is in most cases higher than needed. This gives you some room for improvement, if you test what voltage is really needed for your specific CPU and set this value in the BIOS.
To do this, you need a mainboard that supports undervolting! Normally, all mainboards supporting overclocking also support undervolting.
The savings are not insignificant: for example, I got a Ryzen 1700 running at stock speed with 100% CPU load from 111 W at standard settings to 85 W undervolted, without reducing clock rate.
4. Use an efficient power supply
A power supply transforms the high voltage from the power socket to lower voltages used by your computer. Unfortunately, no power supply can do this without energy losses. So if your power supply has an efficiency of 80% and your computer needs a power of 100 W, the power supply will draw 100 W / 0.8 = 125 W from the wall.
Luckily, choosing an efficient power supply is made easy by the 80 Plus certification. A power supply having an 80 Plus certification has an efficiency of at lest 80% at 20% load and above. 80 Plus Bronze, Silver, Gold, Platinum and Titanium certify even higher efficiency. As a rule of thumb I would recommend to get an 80 Plus Gold rated power supply for a cruncher running 24/7. Prices for these are still reasonable and efficiency is good. Platinum and Titanium PSU’s offer even higher efficiency, but are also much more expensive, therefore they are not always the best choice. To learn more, read the Wikipedia article on 80 Plus
Also keep in mind, that power supplies are most efficient at 50% load. So if your computer uses 200 W, a 400 W power supply would be optimal. Precision is not needed here, but a 1000 W power supply would be overkill in that case, costing you more while offering lower efficiency.
5. Use air cooling instead of water cooling
Water cooling is a cool thing – water simply transports heat much better than air. Unfortunately, it also uses more energy than air cooling, due to the additional pumps needed. And as you do not overclock and do undervolt your CPU (see 2+3), removing the heat is no big issue anyway – you are fine with air cooling!
6. Do not use 3.5’‘ HDD’s
The drive you install the OS on might not be the most power hungry component, but choosing the right one saves some energy nonetheless. 3.5’‘ hard disk drives use by far the most energy, especially when they run at 7200 rpm or faster. 2.5’‘ HDD’s are a much better choice. If you have one you do not need or find a used one very cheap, this is a viable choice. Even better are SSD’s. For a cruncher you normally need not much disk space, so a small, inexpensive one should be sufficient. You can even use a USB flash drive as the only drive. These are slow, but absolutely sufficient for many distributed computing projects. They are cheap and use very little electricity. However, my experiences with them are mixed, as they are less reliable and sometimes fail. But I know other people, who prefer them over SSD’s and had good experiences with them.
7. Remove all components not needed
This one is easy to understand: every component needs energy, so remove all DVD drives, secondary hard drives, floppy drives or whatever you have and don’t need. Also a monitor, mouse and keyboard are not needed, just remote control by Teamviewer or SSH. Even RAM consumes energy. So even here install only as much as you need and not more!
You can also run your computer without a GPU – and I do not mean using a CPU with integrated graphics. A computer only dedicated to (CPU-) crunching needs no graphics card. Just use SSH to control everything. Unfortunately not all mainboards boot without a GPU. Server mainboards do in any case, but several consumer mainboards do so, too.