Behind The Scenes Of Folding@Home: How Do You Fight A Virus With Distributed Computing?

A great big Thank You to everyone who answered the call to participate in Folding@Home, helping to understand proteins interactions of SARS-CoV-2 virus that causes COVID-19. Some members of the FAH research team hosted an AMA (Ask Me Anything) session on Reddit to provide us with behind-the-scenes details. Unsurprisingly, the top two topics are “Why isn’t my computer doing anything?” and “What does this actually accomplish?”

The first is easier to answer. Thanks to people spreading the word — like the amazing growth of Team Hackaday — there has been a huge infusion of new participants. We could see this happening on the leader boards, but in this AMA we have numbers direct from the source. Before this month there were roughly thirty thousand regular contributors. Since then, several hundred thousands more started pitching in. This has overwhelmed their server infrastructure and resulted in what’s been termed a friendly-fire DDoS attack.

The most succinct information was posted by a folding support forum moderator.

Here’s a summary of current Folding@Home situation :
* We know about the work unit shortage
* It’s happening because of an approximately 20x increase in demand
* We are working on it and hope to have a solution very soon.
* Keep your machines running, they will eventually fold on their own.
* Every time we double our server resources, the number of Donors trying to help goes up by a factor of 4, outstripping whatever we do.

Why don’t they just buy more servers?

The answer can be found on Folding@Home donation FAQ. Most of their research grants have restrictions on how that funding is spent. These restrictions typically exclude capital equipment and infrastructure spending, meaning researchers can’t “just” buy more servers. Fortunately they are optimistic this recent fame has also attracted attention from enough donors with the right resources to help. As of this writing, their backend infrastructure has grown though not yet caught up to the flood. They’re still working on it, hang tight!

Computing hardware aside, there are human limitations on both input and output sides of this distributed supercomputer. Folding@Home need field experts to put together work units to be sent out to our computers, and such expertise is also required to review and interpret our submitted results. The good news is that our contribution has sped up their iteration cycle tremendously. Results that used to take weeks or months now return in days, informing where the next set of work units should investigate.

Is this work actually useful?

In a word, yes. Folding@Home results are available to researchers at no cost, and this data has contributed to many published papers and even more in the pipeline. For more details on publishing see our earlier update, but there were a few new questions in this AMA beyond papers.

This global pandemic has attracted attention at all levels, so there are many other computational research projects running like AlphaFold and efforts at Oak Ridge National Laboratory. Folding@Home isn’t even the only distributed computing platform, with Rosetta@Home on BOINC also vying for time on people’s personal computers. Are we all just duplicating effort? The team assured us that we are not. All of these are complementary efforts attacking the challenge from different sides. They are coordinating with, not competing against, all of these other researchers.

They do acknowledge it’s hard to make their work understandable outside of medical researchers. But public outreach is something they very much want to improve upon. They haven’t found a way to condense such a complex field into a single tweet, but in the meantime they’ll settle for efforts like this eleven-part thread summarizing how Folding@Home helps drug discovery and development.

What does the future hold?

We’re big fans of open source here at Hackaday, and thankfully someone brought up that topic. There is intent to open-source the Folding@Home client but that hasn’t happened yet and obviously not their top priority at the moment. They hope opening their source will attract contributors to bring Folding@Home to more platforms. BOINC is an obvious candidate, and we can also think of upcoming powerful video game consoles with teraflops to spare. Software developers who have a newfound interest in this field can get started by looking over the existing open-source foundations: GROMACS for their CPU folding core, and OpenMM for their GPU folding core. Additional technical background can be found on the folding support forum.

We’d love to have you join in the effort, if you do, use the team code #44851 to track your stats as part of Team Hackaday. And, we encourage all participants to continue even after this specific crisis is over, whenever that may be. After the original SARS subsided, research attention withered and in hindsight that might have been a mistake. Yes, we need to focus on SARS-CoV-2 today, but researchers want a better general understanding of the whole family. It’s only a matter of time before SARS-CoV-3 (or whatever its name will be) makes its appearance, how prepared will we be? Your support of Folding@Home will continue to be valuable long after this pandemic has been retired to the history books.

[Main image source: Simulation of millisecond protein folding: NTL9 (from Folding@home)]

25 thoughts on “Behind The Scenes Of Folding@Home: How Do You Fight A Virus With Distributed Computing?

  1. Thank you for the update!
    I’ve been letting my computer chew away on work units since the first article in this series came out, with some time off now and then to reduce wear and tear from thermal cycling.
    Speaking of thermal wear and tear, there is a very useful piece of software out there that allows for excellent control of your GPU’s fan based on temperature called MSI Afterburner:

    https://www.msi.com/page/afterburner

    For those worried about their CPU temps, I believe that Speedfan offers some control of that (I haven’t needed it), but not with all motherboards:

    http://www.almico.com/speedfan.php

  2. My only concern is that the project wastes energy using general-purpose hardware that isn’t optimized for these tasks…

    Anyways, the project is still viable because the cost of this overhead is spread between the volunteers… Also I love distributed systems so it’s a well spent waste haha

    Anyone know what licensing format they use to publish the results of their research?

      1. Agreed the best-case scenario is running in a place currently using electric baseboard heaters or some other electric heating. The electricity would have ended up as heat anyway, so they might as well do a little bit of good on their journey.

    1. Don’t let perfection get in the way of progress. This may not be the most energy-efficient method of calculating the results, but it’s better than not doing anything while waiting for a more energy-efficient alternative.

    2. Not too worried about cycling. I just built a VM Host, built a VM Machine on that host. A nice simple ubuntu, with Bonic. Joined Folding@Home, (Plus a few others I wanted to help). Assigned many CPUs to the VM; and let it go. It managed itself very well. Plus the fact that I had other machines running on the host, doing a plethora of other things. The host does manage the VM resource usage. And being able to tune Bonic. All was good. Power is on, and some of the CPUs arent doing much. Been running near 80 to 90 % for …. well at least a year.

      Thanks to all who helped!

      Cheers, and be safe!

    3. Conserving energy is important, but so is ending a pandemic that’s killing thousands a day. We spend more energy on much less important things. Video games just for one. Inefficient over-powered cars are another. All a lot less important than saving lives and ending a plague. Sitting here talking rubbish on websites is another, I just remembered!

      Systems like this are flexible, the computing power can come together and disappear again as needed. That’s probably better than building supercomputers, and certainly it’s cheaper, it’s a public-donated cloud (eurgh!) supercomputer.

  3. HaD seems to like Folding@Home. Is Folding@Home doing more for the current pandemic or in some way better than Rosetta@Home?

    I’ve ran Boinc for a long time and appreciate the fact that I can select multiple projects and adjust the percentage of CPU/Memory/Etc.. that I donate to each according to my own changing interests / priorites and now apparently to the status of a current pandemic.

    Before Covid19 I would have said that Folding@Homes decision to go with their own standalone client meant I would never contribute to that project. Not when there are other projects that play nice together anyway. But then I didn’t expect the world to be shut down by a virus either. So, is it better?

    1. It is mentioned in the article both are complimentry projects. F@H and Rosetta are analysing the virus with different methods.
      Since you prefer and are already running BOINC, you can continue with Rosetta and help to defeat this virus.

    2. AFAIK Rosetta does not use graphics processors for their calculations. This has apparently been an ongoing issue. For this reason I’m giving my spare machine cycles to Folding.

    3. From the article:

      Folding@Home isn’t even the only distributed computing platform, with Rosetta@Home on BOINC also vying for time on people’s personal computers. Are we all just duplicating effort? The team assured us that we are not. All of these are complementary efforts attacking the challenge from different sides. They are coordinating with, not competing against, all of these other researchers.

      In other words: don’t worry about switching over just because F@H is popular. It’s just one perspective on a very large problem. Even if one project gives the golden ticket that solves the issue, chances are they wouldn’t have if it wasn’t for contributions from other projects giving additional food for thought.

    4. TL;DR: if you’re already up and running on BOINC, I personally see no reason to switch.

      Folding@Home is an easy entry point for distributed computing beginners. Two clicks and they’re up and folding anonymously. (Five keys “44851” and one more click to anonymously fold on team Hackaday.) Setting up BOINC requires quite a few more steps. But if you’ve already done the work, thank you for contributing to distributed computing!

      They’re all part of a large worldwide collaborative effort to beat this thing, results from each project highlight promising venues for other projects to investigate. Every one applying their own strengths, there’s no one “better” than another.

      The BOINC question was covered in the AMA: Folding@Home’s “decision to go with their own standalone client” was because BOINC didn’t exist when they started. (SETI@Home did, but it was itself a standalone client at the time. Its generalization to BOINC didn’t come about until later.)

  4. I used to heavily contribute to folding@home, and stopped when the power bills eventually became too much and the systems I had running were outdated.

    I threw my highest powered computers at this as soon as they put out this latest call, and I’ve got them both running 100%, so glad to see everyone else took up the cause as well.

    Who would have thought at the start of the folding@home project that we’d ever see 1.5 exaFLOPs throughput, that is just insane!

  5. I personally have both running in the following configuration
    – The Rosetta@Home client is running on the CPU, as they can only use CPUs
    – The Folding@Home client is running on my GPU (they probably have enough CPUs anyway as it’s the more popular client)
    I recommend going for this approach unless you don’t have a GPU.

    I also got rosetta@home running on my android phone, where it works whenever it’s plugged in. They’ve just recently released that

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.