Folding@home

Folding@home
LifeWithPlayStation Folding.jpg
The PlayStation 3 Folding@home client displays a 3D model of the protein being simulated.
Original author(s) Vijay Pande
Developer(s) Stanford University / Pande Group
Initial release 2000-10-01
Stable release Windows:
6.23 (Uniprocessor)
6.32 (GPU)
Mac OS X:
6.24.1 (PPC-Uniprocessor)
6.29.3 (x86-SMP)
Linux:
6.02 (Uniprocessor)
6.29 (x64-SMP)
PlayStation 3: 1.41 [1] / August 1, 2010; 6 months ago (2010-08-01) (Windows GPU)
Preview release Windows:
6.30 beta (SMP) / July 16, 2010; 6 months ago (2010-07-16) (SMP)
Platform Cross-platform
Available in English
Type Distributed computing
License Proprietary [1]
Website folding.stanford.edu

Folding@home ("Folding at Home") (sometimes abbreviated 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), and to improve on the methods available to do so. 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,[2] and one of the world's largest distributed computing projects.[3] The goal of the project is "to understand protein folding, misfolding, and related diseases."[4]

Accurate simulations of protein folding and misfolding enable the scientific community to better understand the development of many diseases, including sickle-cell disease (drepanocytosis), Alzheimer's disease, Parkinson's disease, Bovine spongiform encephalopathy, cancer, Huntington's disease, cystic fibrosis, osteogenesis imperfecta, alpha 1-antitrypsin deficiency, and other aggregation-related diseases.[5] 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 1.5 millisecond range[6] — which is a simulation thousands of times longer than it was previously thought possible to model.

The Pande Group's goal is to refine and improve the MD and Folding@home DC methods to the level where it will become an essential tool for MD research,[7] and to achieve that goal they collaborate with various scientific institutions.[8] As of August 31, 2010, seventy-five scientific research papers have been published using the project's work.[9] A University of Illinois at Urbana-Champaign report dated October 22, 2002 states that Folding@home distributed simulations of protein folding are demonstrably accurate.[10]

Contents

Function

Folding@home when running takes advantage of unused CPU cycles on a computer system as shown by this computer's 99% CPU usage.

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 client program. The client runs in the background, utilizing otherwise unused CPU power. The older, no longer used version of Folding@home for the CPU could be run as a screen saver, only folding 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.

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.

Software

The Folding@home client consists of three separate components.

Active Cores

Inactive Cores

Participation

Folding@home computing power shown - by device type - in TeraFLOPS as recorded semi-daily from November 2006 until September 2007. Note the large spike in total compute power after March 22, when the PlayStation 3 client was released.

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.

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, and again following the launch of the high performance client for nVidia graphics cards.

As of April 9, 2009 the peak speed of the project overall has reached over 5.0 native PFLOPS (8.1 x86 PFLOPS[18]) from around 400,000 active machines, and the project has received computational results from over 4.51 million devices since it first started.[3]

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 about 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), it is available here (must access in IE with old version of Google Toolbar). 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.[19]

Genome@home

Folding@home absorbed the Genome@home project on March 8, 2004. The work which was started by the Genome@home project has since been completed using the Folding@home network (the work units without deadlines), and no new work is being distributed by this project. All donators were encouraged to download the Folding@home client (the F@h 4.xx client had a Genome@home option), and once the Genome@home work was complete these clients were asked to donate their processing power to the Folding@home project instead.

PetaFLOPS milestones

Native petaFLOPS Barrier Date Crossed
1.0 September 16, 2007
2.0 early May 2008
3.0 August 20, 2008
4.0 September 28, 2008
5.0 February 18, 2009

On September 16, 2007, the Folding@home project officially attained a sustained performance level higher than one native petaFLOPS, becoming the first computing system of any kind in the world to ever do so, although it had briefly peaked above one native petaFLOPS in March 2007, receiving a large amount of mainstream media coverage for doing so.[20][21] In early May 2008 the project attained a sustained performance level higher than two native petaFLOPS, followed by the three and four native petaFLOPS milestones on August 20 and September 28, 2008 respectively. On February 18, 2009, Folding@home achieved a performance level of just above 5 petaFLOPS, thereby becoming the first computing system of any kind to surpass 5 native PFLOPS,[22] just as it was for the other four milestones.

The Folding@home computing cluster currently operates at above 3.3 native petaFLOPS, with a large majority of the performance coming from GPU and PlayStation 3 clients.[3] In comparison to this, the fastest standalone supercomputer (non-distributive computing) in the world (as of November 2009, Cray Jaguar) peaks at approximately 1.75 petaFLOPS.[23]

Beginning in April 2009, Folding@Home began reporting performance in both "Native" FLOPS and x86 FLOPS.[3] ("x86" FLOPS reported at a much higher mark than the "Native" FLOPS) A detailed explanation of the difference between the two figures was given in the FLOP section of the Folding@Home FAQ.[18]

Results

These peer-reviewed papers (in chronological order) all use research from the Folding@home project.[9]

2000–2001

2002

2003

2004

2005

2006

2007

2008

2009

2010

High performance platforms

Graphical processing units

On October 2, 2006, the Folding@home Windows GPU client was released to 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 ATI Radeon X1900 GPUs, averaging at over 70x the performance of current CPU submissions, and the GPU clients remain the most powerful clients available in performance per client (as of March 11, 2009, GPU clients accounted for over 60% of the entire project's throughput at an approximate ratio of 9 clients per teraFLOP).[3] On April 10, 2008, the second generation Windows GPU client was released to open beta testing, supporting ATI/AMD's Radeon HD 2000 and HD 3000 series, and also debuting a new core (GROGPU2 - Core 11). Inaccuracies with DirectX were cited as the main reason for the migration to the new version (the original GPU client was officially retired June 6, 2008[24]), which uses AMD/ATI's CAL. On June 17, 2008, a version of the second-generation Windows GPU client for CUDA enabled Nvidia GPUs was also released for public beta testing.[25] The GPU clients proved reliable enough to be promoted out of the beta phase and were officially released August 1, 2008.[26] Newer GPU cores continue to be released for both CAL and CUDA.

While the only officially released GPU v2.0 client is for Windows, this client can be run on Linux under Wine with NVIDIA graphics cards.[27] The client can operate on both 32- and 64-bit Linux platforms, but in either case the 32-bit CUDA toolkit is required. This configuration is not officially supported, though initial results have shown comparable performance to that of the native client and no problems with the scientific results have been found . An unofficial installation guide has been published.[27]

On September 25, 2009, Vijay Pande revealed in his blog that a new third version of the GPU client was in development.[28] GPU3 will use OpenCL (preferred over DirectCompute) as the software interface, which may mean that the GPU core will be unified for both ATI and nVidia, and may also mean the addition of support for other platforms with OpenCL support.

On May 25, 2010, Vijay Pande announced an open beta of the GPU3 client on the Folding@home blog: [29] The new core initially only supports Nvidia GPUs, but will support ATI/AMD GPUs in a subsequent release.

PlayStation 3

The PlayStation 3's Life With PlayStation client replaced the Folding@home application on September 18, 2008.

Folding@Home is also a channel of the application Life with PlayStation for PlayStation 3. The client was originally a standalone application, but is now part of a virtual globe which depicts news, weather and encyclopedic information (notably from Wikipedia).[3][30]

Multi-core processing client

As more modern CPUs are being released, the migration to multiple cores is becoming more adopted by the public, and 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 (MPI) 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 were released. The beta win32 SMP Folding@home client is out as well, and a 32-bit Linux client is currently in development.[31]

On June 17, 2009 the Pande Group revealed that a second generation SMP client (known as the SMP2 client) was in development. This client will use threads rather than MPI[12] to spread the processing load across multiple cores and thereby remove the overhead of keeping the cores synced, as they should share a common data bank in RAM. On January 24, 2010, the first open beta release of the SMP2 client was made, trialling the new processing methods and a new points bonus system rewarding quick unit returns.

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.[32] Some teams offer prizes in an attempt to increase participation in the project.[33][34]

Development

The Folding@home project does not make the project source code available to the public, citing security and integrity concerns.[35] 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.[36]

Estimated energy consumption

Original PlayStation 3 has a maximum power rating of 380 watts (newer versions have a lower rating). As Folding@home is a CPU intensive application, it causes 100% utilization. However, according to Stanford's PS3 FAQ, "We expect the PS3 to use about 200W while running Folding@home."[37] As of December 27, 2008, there are 55,291 PS3s providing 1,559,000,000 MFlops of processing power. This amounts to 28,196 MFlops/PS3, and with Stanford's estimate of 200W per PS3 (for original units manufactured on the 90 nm process), 140.98 MFlops/watt.[3] This would put the PS3 portion of Folding@home at 95th on the November 2008 Green500 list.[38] The Cell processors used in 65 nm PlayStation 3s lower power consumption to around 140W per PS3, whilst the 45 nm PS3s reduce this again to around 100W. This further increases the power efficiency of the contribution from PlayStation 3 units.

The total power consumption required to produce the processing power required by the project can be estimated based upon the average FLOPS per watt. As of November 2008, according to the Green500 list, the most efficient computer - also based on a version of the Cell BE - runs at 536.24 MFLOPS/watt.[39] One petaFLOPS equals 1,000,000,000 MFLOPSs. Therefore, the current Folding@home project, if it were theoretically using the most efficient CPUs currently available, would use at least 2.8 megawatts of power per petaFLOPS, slightly more than the world's first petaFLOPS system, the Cell-based Roadrunner which uses 2.345MW. This is equivalent to the power needed to light approximately 40,000 standard house light bulbs (between 60 and 100 watts each), or the equivalent of 1-3 wind turbines depending on their size.[40]

Estimates of energy usage per time period are more difficult than estimates of energy usage per processing instruction. This is because Folding@home clients are often run on computers that would be powered-on even in the absence of the Folding@home client, and that run other programs simultaneously.

Looking at energy-balance in a larger context requires a number of assumptions. While Folding@home increases processor utilization, and thus (usually) power consumption; the extent to which it does so depends on the client processor's normal operating load, and its ability to reduce clock speeds when presented with less-than-full utilization (a process known as dynamic frequency scaling). In a Folding@home client that runs in a heated home, the excess heat generated by the power usage would reduce the amount of energy needed to heat the building to some degree. However, such energy gains would be offset over the year in those locations where air-conditioners are employed during the warmer months.

See also

References

  1. "Folding@Home distributed computing client". Stanford University. http://folding.stanford.edu/English/License. Retrieved 26 August 2010. 
  2. Engadget, among other sites, announces that Guinness has recognized FAH as the most powerful distributed cluster, October 31, 2007. Retrieved November 5, 2007
  3. 3.0 3.1 3.2 3.3 3.4 3.5 3.6 "Client Statistics by OS". Folding@home distributed computing. Stanford University. 2006-11-12 (updated automatically). http://fah-web.stanford.edu/cgi-bin/main.py?qtype=osstats. Retrieved 2008-01-05. 
  4. Vijay Pande (2006). "Folding@home distributed computing home page". Stanford University. http://folding.stanford.edu. Retrieved 2006-11-12. 
  5. "Folding@home diseases studied FAQ". Stanford University. http://folding.stanford.edu/FAQ-diseases.html. 
  6. "Folding@home: Paper #72: Major new result for Folding@home: Simulation of the millisecond timescale". http://folding.typepad.com/news/2010/01/major-new-result-from-foldinghome-simulation-of-the-millisecond-timescale.html. 
  7. "Futures in Biotech 27: Folding@home at 1.3 Petaflops" (Interview, webcast). http://twit.tv/fib27. 
  8. 8.0 8.1 "Folding@home - About" (FAQ). http://folding.stanford.edu/English/About. 
  9. 9.0 9.1 Vijay Pande and the Folding@home team (2009). "Folding@home - Papers". Folding@home distributed computing. Stanford University. http://folding.stanford.edu/English/Papers. Retrieved 2009-12-23. 
  10. C. Snow, H. Nguyen, V. S. Pande, and M. Gruebele. (2002). "Absolute comparison of simulated and experimental protein-folding dynamics". Nature 420 (6911): 102–106. doi:10.1038/nature01160. PMID 12422224. 
  11. Vijay Pande (2005-10-16). "Folding@home with QMD core FAQ" (FAQ). Stanford University. http://folding.stanford.edu/QMD.html. Retrieved 2006-12-03.  The site indicates that Folding@home uses a modification of CPMD allowing it to run on the supercluster environment.
  12. 12.0 12.1 Vijay Pande (2009-06-17). "Folding@home: How does FAH code development and sysadmin get done?". http://folding.typepad.com/news/2009/06/how-does-fah-code-development-and-sysadmin-get-done.html. Retrieved 2009-06-25. 
  13. 13.0 13.1 "Cores - FaHWiki" (FAQ). http://fahwiki.net/index.php/Cores. Retrieved 2007-11-06. 
  14. "Folding Forum: Announcing project 5900 and Core_14 on advmethods". 2009. http://foldingforum.org/viewtopic.php?f=52&t=8734&start=0. Retrieved 2009-03-02. 
  15. "FAH & QMD & AMD64 & SSE2" (FAQ). http://fahwiki.net/index.php/FAH_&_QMD_&_AMD64_&_SSE2. 
  16. "SHARPEN: Systematic Hierarchical Algorithms for Rotamers and Proteins on an Extended Network" (About). http://p450.caltech.edu/sharpen/sharpenabout.html. 
  17. "SHARPEN". http://p450.caltech.edu/sharpen/sharpenprojects.html. 
  18. 18.0 18.1 Folding@home FLOP FAQ
  19. "What is the state of Google Compute client?" (Blog). Folding@home support forum. Stanford University. http://forum.folding-community.org/fpost151025.html. Retrieved 2006-11-12. 
  20. Folding@home: Crossing the petaFLOPS barrier
  21. Folding@home: Post petaflop
  22. "Folding@home passes the 5 petaflop mark" from the official Folding@home blog
  23. "TOP500 Jaguar Performance Data". http://www.top500.org/system/details/10184. Retrieved 2008-12-27. 
  24. "Folding@home: GPU1 has been retired, GPU2 for NVIDIA release nearing". http://folding.typepad.com/news/2008/06/gpu1-has-been-retired-gpu2-for-nvidia-release-nearing.html. 
  25. "Folding@home: GPU2 beta client for NVIDIA now released". http://folding.typepad.com/news/2008/06/gpu2-beta-client-for-nvidia-now-released.html. 
  26. "Folding@home: New clients are out (6.20)". http://folding.typepad.com/news/2008/08/new-clients-are-out-620.html. 
  27. 27.0 27.1 "Folding@Home GPU v2.0 Windows Client on Linux Wiki". 2008-08-23. http://gpu2.twomurs.com/index.php?title=Main_Page. Retrieved 2008-11-06. 
  28. "Folding@home: Update on new FAH core and clients". http://folding.typepad.com/news/2009/09/update-on-new-fah-cores-and-clients.html. 
  29. "Folding@home: Open beta release of the GPU3 client/core". http://folding.typepad.com/news/2010/05/open-beta-release-of-the-gpu3-clientcore.html. 
  30. Vijay Pande (2006-10-22). "PS3 FAQ". Stanford University. http://folding.stanford.edu/FAQ-PS3.html. Retrieved 2006-11-13. 
  31. Vijay Pande (2006-11-13). "Folding@home SMP Client FAQ". Stanford University. http://folding.stanford.edu/FAQ-SMP.html. Retrieved 2006-11-13. 
  32. Folding-community: why have teams?
  33. "The Mprize-". http://www.mprize.org/index.php?ctype=news&pagename=blogdetaildisplay&BID=2008032-20053630&detaildisplay=Y. 
  34. Team Jiggmin F@H Prizes
  35. "Folding@home Open Source FAQ". http://folding.stanford.edu/English/FAQ-OpenSource. 
  36. "FAH on BOINC". Folding@home high performance client FAQ. http://folding.stanford.edu/English/FAQ-highperformance. 
  37. "PS3 FAQ" (FAQ). http://www.stanford.edu/group/pandegroup/folding/FAQ-PS3.html. 
  38. "Lists :: November 2008 :: Ranks 1-100". Green 500. http://green500.org/lists/listdisplay.php?month=11&year=2008&list=green500_200811.csv&start=1&line=101. 
  39. "The Green500 List". http://green500.org/lists/2008/11/list.php. Retrieved 2008-12-27. 
  40. "Windmill - Wikipedia, the free encyclopedia". http://en.wikipedia.org/wiki/Windmill#Modern_windmills. 

External links