Folding@home

Sohardh Chobera
6 min readApr 19, 2020

--

Folding At Home Logo

FAH — Folding At Home

Introduction

Many critical diseases require deep research. Many researchers use computer simulation in order to solve the problems. Folding@home is a similar tool used to simulate protein folding and provide beneficial results for solving major problems in order to cure some critical diseases.

What is protein folding?

Proteins are large biomolecules, consisting of one ore more long chains of amino acid residue. The specific amino acid residues and their positions determine how the portion folds and form into 3-D structure. Proteins are trying to get into their most “comfortable” position, that is, where they are at the best energy equilibrium with their environment. Folding is a spontaneous process that is mainly guided by hydrophobic interactions, formation of intramolecular hydrogen bonds, van der Waals forces, and it is opposed by conformational entropy.

The way the protein folds and its structure determines the function of protein. So if the protein is folded incorrectly, it leads to disrupt in ordinary cell functions and leads to diseases like — Alzheimer’s, Parkinson’s, etc. So the study of how the proteins fold and what structure they acquire.

What FAH does?

Simulation of the protein folding is challenging. The complex structures, great details and timescale to compare experiments make it more challenging. It requires a very high computational power to run. A fast single-core PC may be able to do on the order of 20 nanoseconds of simulation per day for a small protein. But many complex and important proteins require timescale more than seconds. To make it faster we require super computers. But they are very expensive. So a team at Pande Lab in year 2000 came up with the approach of distributed computing. This method is based on distributed, multiple core, SIMD(Single Instruction, Multiple Data) approach, in which many computers together can produce much computational power for the simulation.

The major use of the Folding@home infrastructure is statistical calculation of molecular dynamics trajectories for models of biological systems. The distributed parallelism of Folding@home is not used to speed individual calculations but rather to obtain hundreds or thousands of parallel simulations.

Recently, FAH has reached more than 2.4 exaflops of computing power. The statistics of FAH are increasing day by day and currently FAH has started project for fighting against COVID-19. For more information click here.

How can you help?

You can also help by donating your PC cores to the FAH. To begin, you can download the software from the website. Software is available for windows, macOS and linux. So it is compatible with any computer. After the installation, dashboard of FAH will appear, where there are many features you can use to customise, like you can tell the software how much power to use for the computation, when to run the simulation. Now ‘run when machine is idle’ feature is also available so that it doesn’t interfere with your regular use. It does the computation and sends the results to FAH server. It will not use your own personal computer data, it will only send the results of the computation done by the software only, so it is safe to do it. If you have GPU, it is even better as GPU computes using parallelism. So you can assign your GPU too and the computations will be faster. FAH gives you credit score with the computation and there is a leaderboard on the website where you can see other people who are also donating their cores and achieving credits.

How FAH works?

FAH uses a client-server architecture. A brief working of this architecture is as following —

First, a client that has been installed by a volunteer asks the assignment server to assign it to a work server (1). Next, the client talks to a work server and firequests a work unit, which is a set of input files needed to work on a job for a length of time (2). Based on the work unit, the client may then download the computational core required to do the work from a web server (3). Once the work is completed, the client sends the results to the same work server, or to a specially-designated collection server if the work server is unreachable (4). Log files and credits are then collected from the work servers and passed to the statistics server for tabulation and display to the participants (5).

So let’s dive a little deeper and see the functions of each component —

1. Clients and computational cores-

The FAH clients serve two roles. The main role is a loop to get one or more work units, process them, and return the results without interfering in the operation of the machine. The other role is to interface with the volunteer keeping them informed of what is happening on their computer. In addition to their primary roles in scientific computation, cores also create checkpoint for saving the exact state of calculation on to the disk periodically, so that in case of the crash or sudden shut down, the data does not get lost.

2. Work servers-

The primary role of a work server is to generate work units for its specific project(s), and to accept, store, log, and analyse completed work. Each work server can run many projects and is administered by a different researcher. The total storage needed for the data resulting from Folding@home has passed 350 terabytes plus additional offline archives, with a similar amount of off site backups(Feb 2009).

3. Assignment servers-

The assignment servers act as the global scheduler and load-balancer in the FAH system. An assignment server is contacted first by the client whenever work is needed and its address is the only one that needs to be hard-coded into the clients. It prioritises the work by taking into account many factors like critical results, which results needs the most CPU power, etc. Assignment server monitors all the work servers to see which are online and to which the work is to be assigned.

4. Collection servers-

When a client cannot upload the results of a work unit to the originating work server, it instead returns the work to the collection server. If the work unit is on the list of send work units collected from the servers, it is then accepted, credited, and eventually passed along to the work server once it comes online. This allows the client to continue to make progress even when the servers are down.

For more details on how FAH works, you can read the research paper here.

Conclusion

Initiatives like Folding@Home are great examples of how different branches of science like biology, computer science, etc can work together on a greater cause like research of the deadly diseases. By allowing these projects to public, helps accelerating the pace of reaching the desired goal. As public, we can help these researches by contributing as much as we can, financially or with more fun ways like denoting the cores in this case. Public and government should encourage these projects more, because, ultimately at last it benefits the mankind.

References

  1. Beberg, Adam & Ensign, Daniel & Jayachandran, Guha & Khaliq, Siraj & Pande, Vijay. (2009). Folding@home: Lessons from eight years of volunteer distributed computing. IEEE International Symposium on Parallel & Distributed Processing. 1–8. 10.1109/IPDPS.2009.5160922.
  2. Webiste — foldingathome.org

--

--