The Linux computer we built for the augmented reality sandbox will be spending time idle between sandbox sessions. What other ways can we put the computer to use? Distributed computing projects like Folding@Home rely on idle time to complete calculations. So, let’s put our computer to good use contributing to scientific research!
- What is Folding@Home and Distributed Computing?
- How Powerful is the Folding@Home Project?
- Why Use the Linux (AR Sandbox) Computer?
- How to Contribute to Folding@Home
- Getting F@H Up and Running on a Linux Machine
- Choosing the Correct NVIDIA Drivers on Mint
- Our Research Statistics
What is Folding@Home and Distributed Computing?
Folding@Home is a distributed computing project that specializes in researching diseases. This research relies on countless mathematical calculations that have to be completed. There are only a few supercomputers in the world that can handle making progress on this work. Instead, it’s easier to have thousands of smaller computers take small “bites” of the larger puzzle and work on them separately, all while putting the larger puzzle together. This is where distributed computing comes into the Folding@Home equation.
Distributed computing is the process of taking multiple computers that are networked together (though normally housed separately) to complete tasks by coordinating with a central system. This allows the computers to work together to complete common goals or projects.
In the case of Folding@Home or BOINC (another research contribution project coming soon!), you can allow your computer to complete small sets of computations for larger projects in its idle time or in the background as you work normally.
Most computers complete what are called “CPU only” calculations, which are, as the name suggests, only completed by your CPU. This is much slower than GPU-led calculations, which uses the graphics processing unit to crunch numbers at a much higher rate. This is why computers built for gaming are much better suited for the job thanks to their use of higher level graphics cards.
Currently, Folding@Home is prioritizing their resources on creating work units (WUs) that work towards the “COVID Moonshot Collaboration,” which is aiding companies in creating and assessing potential treatment options for the virus. You can also contribute to other research specifically, or have the system choose for you to work on new WUs that need to be completed.
How Powerful is the Folding@Home Project?
Believe it or not, with all of the contributors to the project, the F@H “computer” is incredibly powerful. In fact, at the height of COVID last spring, contributors to the project broke the “exa” barrier. In fact, it was processing 1.5 exaFLOPS per second.
Just so we are clear, that is 1,500,000,000,000,000,000 computations… per second.
This actually turned the distributed project into the worlds largest super computer, making it 10x more powerful than the worlds fastest actual super computer.
To achieve this computing power, volunteers around the globe had donated 4.3 million CPU cores and around 400,000 GPU cores to the project.
Why Use the Linux (AR Sandbox) Computer?
Well for starters, the augmented reality sandbox computer employs a more powerful graphics card and CPU than standard consumer hardware. While it doesn’t begin to compete with PCs built specifically for gaming, it is capable of contributing to Folding@Home in a fast, meaningful way.
How to Contribute to Folding@Home
Anyone can contribute to the Folding@Home project, even on regular household computers, though at a much slower rate of progress. Just visit the Folding@Home website and download the FAH Client compatible with your machine.
If you’re using Linux (like us!) make sure you grab the correct software for your distro. You can also read more below about getting the software up and going on a Linux machine.
Most recently, you can even use a Raspberry Pi to work on folding projects! If you do this, however, do note the WUs take a long time to complete and the Pi runs red hot the entire time. I definitely wouldn’t recommend folding on your Pi unless you have a good cooling system in place.
Getting F@H Up and Running on a Linux Machine
So maybe you’ve built a Linux computer for your augmented reality sandbox. Great! Folding@Home makes it easy and provides you with .deb files you can easily download and run.
Here’s how you can get Folding@Home quickly up and running on your Linux machine.
*Depending on your Linux distro, your mileage may vary.
Install the FAHClient
Installing the FAHClient is quick and easy and should install without any errors or dependency needs. For clarity, of the three files, the FAHClient is actually the only file you need to being folding now that FAHControl can be accessed online.
After installation, you will be asked to provide a username, team name, passcode, and FAHClient auto-run preference. I personally suggest unless you are going to be using the computer solely for folding, you choose “no” on the client auto-run. If you don’t have a username already, you can enter your desired username (remove Anonymous first) and the username will be created for you.
To start your client, you simply need to open Terminal and enter:
This will start the client and you can begin folding. Do note, you must keep the Terminal window open to keep the client running. Closing Terminal will terminate FAHClient.
To install FAHControl, download the associated .deb file and open. In theory, that should be all you have to do. However, I kept getting an error that dependencies for Python were not met on my system, so I was unable to install FAHControl. I ran Python installs again to ensure we should have what we need, but the dependency errors were still present.
The good news is, FAHControl as a standalone program isn’t necessary anymore. The web control dashboard can be accessed at its dedicated website. Web control only requires FAHClient to be actively running on the machine.
FAHViewer, while not a necessity for folding, is a pretty interesting component that lets you visualize the specific protein folding simulations the computer is engaging in.
To open the viewer, create a new tab in Terminal and type:
The viewer can also be accessed as a standalone program, but using Terminal is a few steps less.
When the viewer loads, it might take a short while to draw the molecule, but soon enough you should see the protein you are currently “folding.” Using the Viewer to see this information would be informative for secondary science classrooms!
Choosing the Correct NVIDIA Drivers on Mint
The only hurdle we ran into with this project was NVIDIA drivers that didn’t want to play well with GPU processing. The specific issue is that the NVIDIA driver that works best for the computer screen resolution and scaling doesn’t allow for the GPU to be used to fold.
To fix this and enable GPU folding, you’ll want to head over to Settings > Driver Manager. From there, select the NVIDIA driver that is marked “recommended.” The system will take a few seconds to swap the driver and then you’ll be prompted to restart.
After restart, you can open Terminal, start FAH Client, and open the web control interface. It will download a work unit and should begin folding with both your CPU and GPU. The page should show a green “in progress” circle if the GPU is working correctly and folding.
While this is a very simple fix, you’ll probably want to switch the drivers back and forth between usage cases so you aren’t stuck on the lower screen resolution all the time. If this doesn’t bother you, however, then leaving it won’t hurt either.
Our Research Statistics
You can easily keep track of our folding and research statistics on our Folding@Home statistics page. We’re folding under the username HolstonCavs and chose not to contribute to a team. We might change this (the team) in the near future, however.
If anyone would like to form a team for public school contributions, let me know!