Folding@Home

Folding@Home (also known as FAH or F@H) is a distributed computing (DC) project designed to perform computationally intensive simulations of protein folding and other molecular dynamics (MD). It was launched on October 1, 2000, and is currently managed by the Pande Group, within Stanford University's chemistry department, under the supervision of Professor Vijay Pande. Folding@home is the most powerful distributed computing cluster in the world, according to Guinness, and one of the world's largest distributed computing projects. The goal of the project is "to understand protein folding, misfolding, and related diseases."

Accurate simulations of protein folding and misfolding enable the scientific community to better understand the development of many diseases, including Alzheimer's disease, BSE (mad cow disease), cancer, Huntington's disease, cystic fibrosis and other aggregation-related diseases. More fundamentally, understanding the process of protein folding — how biological molecules assemble themselves into a functional state — is one of the outstanding problems of molecular biology. So far, the Folding@home project has successfully simulated folding in the 5-10 microsecond range &mdash; a time scale thousands of times longer than it was previously thought possible to model. The Pande Group goal is to refine and improve the MD and Folding@home DC methods to the level where it will become an essential tool for the MD research. For that goal they collaborate with various scientific institutions. As of December 13, 2007, fifty-four scientific research papers have been published using the project's work. A University of Illinois at Urbana-Champaign report dated October 22, 2002 states that Folding@home distributed simulations of protein folding are demonstrably accurate.

On September 16, 2007, the Folding@Home project officially attained a performance level higher than one petaFLOPS, becoming the first computing system of any kind to do so, although it had briefly peaked above one petaFLOPS in March 2007. . In comparison, the fastest supercomputer in the world (as of November 2007, IBM's Blue Gene/L supercomputer) peaks at 478.2 teraFLOPS (1000 teraFLOPS=1 petaFLOP).

How it works
Folding@Home does not rely on powerful supercomputers for its data processing; instead, the primary contributors to the Folding@home project are many hundreds of thousands of personal computer users who have installed a small client program. The client will, at the user's choice, run in the background, utilizing otherwise unused CPU power, or run as a screensaver only while the user is away. In most modern personal computers, the CPU is rarely used to its full capacity at all times; the Folding@Home client takes advantage of this unused processing power.

The Folding@Home client periodically connects to a server to retrieve "work units," which are packets of data upon which to perform calculations. Each completed work unit is then sent back to the server. As data integrity is a major concern for all distributed computing projects, all work units are validated through the use of a 2048 bit digital signature.

The Folding@Home client utilizes modified versions of four molecular simulation programs for calculation: TINKER, GROMACS, AMBER, and CPMD. There are many core variations on these base simulation programs:

Possible future additions:
 * TINKER
 * Tinker core (currently inactive)
 * GROMACS (all variants of this core use SSE, 3DNow+ or AltiVec optimizations, where available, unless otherwise specified)
 * Gromacs
 * Double Gromacs (Double Precision, uses SSE2 only)
 * Double Gromacs B (an update of Double Gromacs, both are still in use, uses SSE2 only)
 * GBGromacs (Gromacs with the Generalized Born implicit solvent model)
 * Gromacs SREM (Gromacs Serial Replica Exchange Method) The Gromacs Serial Replica Exchange Method core, also known as GroST (Gromacs Serial replica exchange with Temperatures), uses Replica Exchange Method in its simulations also known as REMD, Replica Exchange Molecular Dynamics.
 * GroSimT (Gromacs with Simulated Tempering)
 * Gromacs 33 (using the newest Gromacs 3.3 codebase)
 * Gro-SMP (Symmetric MultiProcessing variant)(runs only on x86 or x64 hardware, uses SSE only)
 * Gro-GPU (Graphics Processing Unit variant)(GPUs do not have optimizations; they are powerful enough to do the calculations simply using brute force)
 * Gro-PS3 (PlayStation 3 variant)(No optimizations, see GPU variant)
 * AMBER
 * PMD core
 * CPMD
 * QMD (currently inactive, due to QMD developer graduating from Stanford University and due to current research shifting away from Quantum MD. Also, there was a SSE2 controversy involving Intel libraries and AMD processors.)
 * ProtoMol

Contributors to Folding@Home may have user names used to keep track of their contributions. Each user may be running the client on one or more CPUs; for example, a user with two computers could run the client on both of them. Users may also contribute under one or more team names; many different users may join together to form a team. Contributors are assigned a score indicating the number and difficulty of completed work units. Rankings and other statistics are posted to the Folding@Home website.

Participation
Shortly after breaking the 200,000 active CPU count on September 20, 2005, the Folding@home project celebrated its fifth anniversary on October 1, 2005.

As of January 5, 2008, the Folding@Home project has received computational results from over 2.7 million devices over the course of its time.

Interest and participation in the project has grown steadily since its launch. The number of active devices participating in the project increased substantially after receiving much publicity during the launch of their High Performance clients for both ATi Graphics Cards and the PlayStation 3.

As of November 3, 2007 the peak speed of the project overall has reached over 1.5 PFLOPS.

Google & Folding@home
There used to be cooperation between Folding@home and Google Labs in the form of Google Toolbar. Google Compute supported Folding@home during its early stage — when Folding@home had ~10,000 active CPUs. At that time, a boost of 20,000 machines was very significant. Today the project has a large number of active CPUs and the number of new clients joining Google Compute was very low (most people opted for the Folding@home client instead), so it was discontinued. The Google Compute clients also had certain limits: they could only run the TINKER core and had limited naming and team options. Folding@home is no longer supported on Google Toolbar, and even the old Google Toolbar client will not work.

Graphical processing units
As of October 2, 2006, the Folding@home GPU client has been released into the public as a beta test. After 9 days of processing from the Beta client the Folding@home project had received 31 teraFLOPs of computational performance from just 450 X1900 GPUs, averaging at over 70x the performance of current CPU submissions. The next FAH GPU client will support 2xxx/3xxx series of ATI GPUs, there are no FAH GPU clients for Nvidia GPUs.

PlayStation 3
Stanford announced in August 2006 that a folding client was available to run on the Sony PlayStation 3. The intent was that gamers would be able to contribute to the project by merely "contributing electricity," leaving their PlayStation 3 consoles running the client while not playing games. PS3 firmware version 1.6 (released on Thursday, March 22, 2007) allows for Folding@home software, a 50 MB download, to be used on the PS3. A peak output of the project at 990 teraFLOPS was achieved on 25 March, 2007, at which time the number of FLOPS from each PS3 as reported by Stanford fell, reducing the overall speed rating of those machines by 50%. This had the effect of bumping down the overall project speed to the mid 700 range and increasing the number of active PS3s required to achieve a petaFLOPS level to around 60,000. Lately, the console accounts for about 60% of all teraFLOPS. On April 25 2007, Sony announced that a new version of Folding@home would be released the next day. The new version would improve folding performance beyond the current capacity, far beyond even the 400 teraFLOPS previously reached by PS3 users. The release led to the breaking of the petaFLOPS barrier for the first time by any computing system in history on September 15, 2007. Guinness World Record will recognize Folding@Home as the most powerful distributed computing network, in large part thanks to the PS3.

On December 19, 2007, Sony again updated the Folding@Home client to version 1.3 to allow users to run music stored on their hard drives while contributing. Another feature of the 1.3 update allows users to automatically shut down their console after current work is done or after a limited period of time (for example 3 or 4 hours). Also, the software update added the Generalized Born implicit solvent model, so the FAH PS3 client gained more broad computing capabilities.

Multi-core processing client
As more modern CPUs are being released, the migration to multiple cores is becoming more adopted by the public, the Pande Group is adding symmetric multiprocessing (SMP) support to the Folding@home client in the hopes of capturing the additional processing power. The SMP support is being achieved by utilizing Message Passing Interface protocols. In current state it is being confined inside a single node by hard coded usage of the localhost.

On November 13, 2006, the beta SMP Folding@home clients for x86-64 Linux and x86 Mac OS X have been released. The beta win32 SMP Folding@home client is out as well, and a 32-bit Linux client is currently in development.

Folding@home teams
A typical Folding@home user, running the client on a single PC, will likely not be ranked high on the list of contributors. However, if the user were to join a team, they would add the points they receive to a larger collective. Teams work by using the combined score of all their members. Thus, teams are ranked much higher than individual submitters. Rivalries between teams create friendly competition that benefits the folding community. Many teams publish their own stats, so members can have intra-team competitions for top spots. Teams offer no real benefits other than ones of self-gratification, and possibly extra contributions (to add to the teams rank).

Development
The Folding@home project does not make the project source code available to the public, citing security and integrity concerns. At the same time, the majority of the scientific codes used by the FAH (ex. Cosm, GROMACS, TINKER, AMBER, CPMD, BrookGPU) are largely Open-source software or under similar licenses.

A development version of Folding@Home once ran on the open source BOINC framework; however, this version remained unreleased.

Notes and references



 * Folding-community: How can you tell the true nature of a Work Unit
 * Folding-community: Vijay - No need to report EUEs