Who wants wasted cpu cycles? If you’ve paid for silicon, and it’s not warm, you’re wasting it. There’s no excuse if your workloads are peak heavy, the 7th version of Folding@Home will not only spend your unused cycles helping to simulate the trillions of ways proteins fold (and misfold) – the latest release stays firmly true to the Unix method with three separate packages representing the 3 distinct parts of the Folding@Home software. The choice to add a web UI or fancy visual to show exactly how the current workload would appear if wasn’t so ridiculously tiny. Here’s a bootstrap script that will install only the compute part, with no GUI or visuals, inject a ready-made config with my team ID, then run it. Adapt to your needs.
Fedora 23 Onward (DNF instead of Yum)
dnf -y install https://fah.stanford.edu/file-releases/public/release/fahclient/centos-5.3-64bit/v7.4/fahclient-7.4.4-1.x86_64.rpm && curl https://raw.githubusercontent.com/leefuller23/configs-and-that/master/etc/fahclient/config.xml > /etc/fahclient/config.xml && /etc/init.d/FAHClient restart
Debian and derivatives. Have your team ID to hand or roll with defaults to stay anonymous.
wget https://fah.stanford.edu/file-releases/public/release/fahclient/debian-testing-64bit/v7.4/fahclient_7.4.4_amd64.deb && dpkg -i --force-depends fahclient_7.4.4_amd64.deb
In an event-driven environment like private IaaS you can optimise and consolidate production workloads in real-time, and instead of your server’s sitting idle when there load drops off, and assuming you aren’t running batch jobs or have some other use for idle periods, you can spec FAH at the lowest QoS priority and when there’s nothing else to do, your server farm will contribute with a bit of lovely distributed protein folding simulation.
If your breakpoints are transient (as in, hours not days between peak duty cycles) you can even shutdown the VM and restart it, as the checkpoint feature commits work to disk and will restore it’s probable the work unit can be completed before the expiry date. I applaud.
If you’re cynical, I understand why – but medicine is a long process and we are only about a decade into this idea. Consider that even with medical proof, it takes 10 years simply to get a new drug approved. There have been several very significant breakthroughs, and there will be many more to come. Cancer affects all of us, somehow. if your stack has bare metal, and your costs are fixed, I urge you to consider delegating your overnight idle-time to help the research continue.
If you’re running OpenStack you could use Heat to automate the entire process, filling gaps of idle time with low priority autoscaling groups. Even if you need to terminate VMs to handle uptick, it’s not an issue. Each work unit is delegated to many donors and FAH doesn’t mind if you don’t finish in time. Instead, it adjusts and delegates less intensive WUs to increase the chance of success next time.
If you can control power to your hypervisors it would certainly be wise to migrate VMs onto fewer running boxes to save energy, but a running server deserves a workload, and curing cancer seems like a good way to soak up unspent cycles. Only a truly selfish asshole would disagree.