Volunteer computing

Last updated
A program running on a volunteer's computer periodically contacts a research application server via the Internet to request jobs and report results. Volunteer-computing-paradigm-light.png
A program running on a volunteer's computer periodically contacts a research application server via the Internet to request jobs and report results.

Volunteer computing is a type of distributed computing in which people donate their computers' unused resources to a research-oriented project, [1] and sometimes in exchange for credit points. [2] The fundamental idea behind it is that a modern desktop computer is sufficiently powerful to perform billions of operations a second, but for most users only between 10–15% of its capacity is used. Common tasks such as word processing or web browsing leave the computer mostly idle.

Contents

The practice of volunteer computing, which dates back to the mid-1990s, can potentially make substantial processing power available to researchers at minimal cost. Typically, a program running on a volunteer's computer periodically contacts a research application to request jobs and report results. A middleware system usually serves as an intermediary. [3]

History

The first volunteer computing project was the Great Internet Mersenne Prime Search, which started in January 1996. [4] It was followed in 1997 by distributed.net. In 1997 and 1998, several academic research projects developed Java-based systems for volunteer computing; examples include Bayanihan, [5] Popcorn, [6] Superweb, [7] and Charlotte. [8]

The term volunteer computing was coined by Luis F. G. Sarmenta, the developer of Bayanihan. It is also appealing for global efforts on social responsibility, or Corporate Social Responsibility as reported in a Harvard Business Review. [9]

In 1999, the SETI@home and Folding@home projects were launched. These projects received considerable media coverage, and each one attracted several hundred thousand volunteers.

Between 1998 and 2002, several companies were formed with business models involving volunteer computing. Examples include Popular Power, Porivo, Entropia, and United Devices.

In 2002, the Berkeley Open Infrastructure for Network Computing (BOINC) project was founded at University of California, Berkeley Space Sciences Laboratory, funded by the National Science Foundation. BOINC provides a complete middleware system for volunteer computing, including a client, client GUI, application runtime system, server software, and software implementing a project web site. The first project based on BOINC was Predictor@home, based at the Scripps Research Institute, which began operation in 2004. Soon thereafter, SETI@home and climateprediction.net began using BOINC. A number of new BOINC-based projects were created over the next few years, including Rosetta@home, Einstein@home, and AQUA@home. In 2007, IBM World Community Grid switched from the United Devices platform to BOINC. [10]

Middleware

The client software of the early volunteer computing projects consisted of a single program that combined the scientific computation and the distributed computing infrastructure. This monolithic architecture was inflexible. For example, it was difficult to deploy new application versions.

More recently, volunteer computing has moved to middleware systems that provide a distributed computing infrastructure independent from the scientific computation. Examples include:

Most of these systems have the same basic structure: a client program runs on the volunteer's computer. It periodically contacts project-operated servers over the Internet, requesting jobs and reporting the results of completed jobs. This "pull" model is necessary because many volunteer computers are behind firewalls that do not allow incoming connections. The system keeps track of each user's "credit", a numerical measure of how much work that user's computers have done for the project.

Volunteer computing systems must deal with several issues involving volunteered computers: their heterogeneity, their churn (the tendency of individual computers to join and leave the network over time), their sporadic availability, and the need to not interfere with their performance during regular use.

In addition, volunteer computing systems must deal with problems related to correctness:

One common approach to these problems is replicated computing, in which each job is performed on at least two computers. The results (and the corresponding credit) are accepted only if they agree sufficiently.

Drawbacks for participants

These effects may or may not be noticeable, and even if they are noticeable, the volunteer might choose to continue participating. However, the increased power consumption can be remedied to some extent by setting an option to limit the percentage of the processor used by the client, which is available in some client software.

Benefits for researchers

Computing power

Volunteer computing can provide researchers with computing power that is not achievable any other way. For example, Folding@home has been ranked as one of the world's fastest computing systems. With heightened interest and volunteer participation in the project as a result of the COVID-19 pandemic, [12] the system achieved a speed of approximately 1.22 exaflops by late March 2020 and reached 2.43 exaflops by April 12, 2020, [13] making it the world's first exaflop computing system.

Cost

Volunteer computing is often cheaper than other forms of distributed computing, [14] and typically at zero cost to the end researcher.

Importance

Although there are issues such as lack of accountability and trust between participants and researchers while implementing the projects, volunteer computing is crucially important, especially to projects that have limited funding. [15]

See also

Related Research Articles

<span class="mw-page-title-main">Supercomputer</span> Type of extremely powerful computer

A supercomputer is a type of computer with a high level of performance as compared to a general-purpose computer. The performance of a supercomputer is commonly measured in floating-point operations per second (FLOPS) instead of million instructions per second (MIPS). Since 2022, supercomputers have existed which can perform over 1018 FLOPS, so called exascale supercomputers. For comparison, a desktop computer has performance in the range of hundreds of gigaFLOPS (1011) to tens of teraFLOPS (1013). Since November 2017, all of the world's fastest 500 supercomputers run on Linux-based operating systems. Additional research is being conducted in the United States, the European Union, Taiwan, Japan, and China to build faster, more powerful and technologically superior exascale supercomputers.

Grid computing is the use of widely distributed computer resources to reach a common goal. A computing grid can be thought of as a distributed system with non-interactive workloads that involve many files. Grid computing is distinguished from conventional high-performance computing systems such as cluster computing in that grid computers have each node set to perform a different task/application. Grid computers also tend to be more heterogeneous and geographically dispersed than cluster computers. Although a single grid can be dedicated to a particular application, commonly a grid is used for a variety of purposes. Grids are often constructed with general-purpose grid middleware software libraries. Grid sizes can be quite large.

Floating point operations per second is a measure of computer performance in computing, useful in fields of scientific computations that require floating-point calculations.

<span class="mw-page-title-main">SETI@home</span> BOINC based volunteer computing project searching for signs of extraterrestrial intelligence

SETI@home is a project of the Berkeley SETI Research Center to analyze radio signals with the aim of searching for signs of extraterrestrial intelligence. Until March 2020, it was run as an Internet-based public volunteer computing project that employed the BOINC software platform. It is hosted by the Space Sciences Laboratory at the University of California, Berkeley, and is one of many activities undertaken as part of the worldwide SETI effort.

<span class="mw-page-title-main">Berkeley Open Infrastructure for Network Computing</span> Open source middleware system for volunteer and grid computing

The Berkeley Open Infrastructure for Network Computing is an open-source middleware system for volunteer computing. Developed originally to support SETI@home, it became the platform for many other applications in areas as diverse as medicine, molecular biology, mathematics, linguistics, climatology, environmental science, and astrophysics, among others. The purpose of BOINC is to enable researchers to utilize processing resources of personal computers and other devices around the world.

<span class="mw-page-title-main">Folding@home</span> Distributed computing project simulating protein folding

Folding@home is a distributed computing project aimed to help scientists develop new therapeutics for a variety of diseases by the means of simulating protein dynamics. This includes the process of protein folding and the movements of proteins, and is reliant on simulations run on volunteers' personal computers. Folding@home is currently based at the University of Pennsylvania and led by Greg Bowman, a former student of Vijay Pande.

<span class="mw-page-title-main">Big and Ugly Rendering Project</span> BOINC based volunteer computing project for rendering videos

Big and Ugly Rendering Project (BURP) is a non-commercial volunteer computing project using the BOINC framework for the rendering of 3D graphics that has been in hibernation as of 2020. The project website currently shows the status as "extended maintenance" until 2027.

<span class="mw-page-title-main">David P. Anderson</span> American research scientist (born 1955)

David Pope Anderson is an American research scientist at the Space Sciences Laboratory, at the University of California, Berkeley, and an adjunct professor of computer science at the University of Houston. Anderson leads the SETI@home, BOINC, Bossa, and Bolt software projects.

<span class="mw-page-title-main">Rosetta@home</span> BOINC based volunteer computing project researching protein folding

Rosetta@home is a volunteer computing project researching protein structure prediction on the Berkeley Open Infrastructure for Network Computing (BOINC) platform, run by the Baker lab. Rosetta@home aims to predict protein–protein docking and design new proteins with the help of about fifty-five thousand active volunteered computers processing at over 487,946 GigaFLOPS on average as of September 19, 2020. Foldit, a Rosetta@home videogame, aims to reach these goals with a crowdsourcing approach. Though much of the project is oriented toward basic research to improve the accuracy and robustness of proteomics methods, Rosetta@home also does applied research on malaria, Alzheimer's disease, and other pathologies.

<span class="mw-page-title-main">NorduGrid</span> Grid computing project

NorduGrid is a collaboration aiming at development, maintenance and support of the free Grid middleware, known as the Advanced Resource Connector (ARC).

<span class="mw-page-title-main">Advanced Resource Connector</span> Grid computing software

Advanced Resource Connector (ARC) is a grid computing middleware introduced by NorduGrid. It provides a common interface for submission of computational tasks to different distributed computing systems and thus can enable grid infrastructures of varying size and complexity. The set of services and utilities providing the interface is known as ARC Computing Element (ARC-CE). ARC-CE functionality includes data staging and caching, developed in order to support data-intensive distributed computing. ARC is an open source software distributed under the Apache License 2.0.

<span class="mw-page-title-main">BOINC client–server technology</span> BOINC volunteer computing client–server structure

BOINC client–server technology refers to the model under which BOINC works. The BOINC framework consists of two layers which operate under the client–server architecture. Once the BOINC software is installed in a machine, the server starts sending tasks to the client. The operations are performed client-side and the results are uploaded to the server-side.

<span class="mw-page-title-main">Computer cluster</span> Set of computers configured in a distributed computing system

A computer cluster is a set of computers that work together so that they can be viewed as a single system. Unlike grid computers, computer clusters have each node set to perform the same task, controlled and scheduled by software. The newest manifestation of cluster computing is cloud computing.

<span class="mw-page-title-main">MilkyWay@home</span> BOINC based volunteer computing project researching astronomy

MilkyWay@home is a volunteer computing project in the astrophysics category, running on the Berkeley Open Infrastructure for Network Computing (BOINC) platform. Using spare computing power from over 38,000 computers run by over 27,000 active volunteers as of November 2011, the MilkyWay@home project aims to generate accurate three-dimensional dynamic models of stellar streams in the immediate vicinity of the Milky Way. With SETI@home and Einstein@home, it is the third computing project of this type that has the investigation of phenomena in interstellar space as its primary purpose. Its secondary objective is to develop and optimize algorithms for volunteer computing.

GridRepublic is a BOINC Account Manager. It focuses on creating a clean and simple way to join and interact with BOINC. GridRepublic was started with a mission to raise public awareness and participation in volunteer computing with BOINC. GridRepublic was formed in 2004 by Matthew Blumberg as a mechanism to control the multiple projects from one place. The code for the BOINC software had to be redesigned to allow for the Account Manager system to be implemented.

Techila Distributed Computing Engine is a commercial grid computing software product. It speeds up simulation, analysis and other computational applications by enabling scalability across the IT resources in user's on-premises data center and in the user's own cloud account. Techila Distributed Computing Engine is developed and licensed by Techila Technologies Ltd, a privately held company headquartered in Tampere, Finland. The product is also available as an on-demand solution in Google Cloud Launcher, the online marketplace created and operated by Google. According to IDC, the solution enables organizations to create HPC infrastructure without the major capital investments and operating expenses required by new HPC hardware.

<span class="mw-page-title-main">SLinCA@Home</span> BOINC based volunteer computing project researching LHC development

SLinCA@Home was a research project that uses Internet-connected computers to do research in fields such as physics and materials science.

<span class="mw-page-title-main">DIET</span>

DIET is a software for grid-computing. As middleware, DIET sits between the operating system and the application software. DIET was created in 2000. It was designed for high-performance computing. It is currently developed by INRIA, École Normale Supérieure de Lyon, CNRS, Claude Bernard University Lyon 1, SysFera. It is open-source software released under the CeCILL license.

<span class="mw-page-title-main">Quasi-opportunistic supercomputing</span> Computational paradigm for supercomputing

Quasi-opportunistic supercomputing is a computational paradigm for supercomputing on a large number of geographically disperse computers. Quasi-opportunistic supercomputing aims to provide a higher quality of service than opportunistic resource sharing.

<span class="mw-page-title-main">Supercomputer architecture</span> Design of high-performance computers

Approaches to supercomputer architecture have taken dramatic turns since the earliest systems were introduced in the 1960s. Early supercomputer architectures pioneered by Seymour Cray relied on compact innovative designs and local parallelism to achieve superior computational peak performance. However, in time the demand for increased computational power ushered in the age of massively parallel systems.

References

  1. 1 2 "Volunteer Computing". BOINC.Berkeley.edu. BOINC. Archived from the original on December 18, 2021. Retrieved March 10, 2023.
  2. Y. Chen, Lydia; P. Reiser, Hans (2017). Distributed Applications and Interoperable Systems: 17th IFIP WG 6.1 International Conference, DAIS 2017, Held as Part of the 12th International Federated Conference on Distributed Computing Techniques, DisCoTec 2017, Neuchâtel, Switzerland, June 19–22, 2017, Proceedings. Springer. p. 192. ISBN   9783319596655. Archived from the original on 2023-01-20. Retrieved 2022-08-12. In volunteer computing, participants donate computational resources in exchange for credit points.
  3. Chorazyk, Pawel; Byrski, Aleksander; Pietak, Kamil; Kisiel-Dorohinicki, Marek; Turek, Wojciech (2017-09-13). "Volunteer Computing in a Scalable Lightweight Web-Based Environment". Computer Assisted Methods in Engineering and Science. 24 (1): 17–40. doi:10.24423/cames.201 (inactive 1 November 2024). ISSN   2299-3649. Archived from the original on 2022-09-20. Retrieved 2022-09-19.{{cite journal}}: CS1 maint: DOI inactive as of November 2024 (link)
  4. "GIMPS History". Mersenne.org. Great Internet Mersenne Primes Search. Archived from the original on October 18, 2013. Retrieved December 29, 2013.
  5. Sarmenta, L.F.G. (1998). "Bayanihan: Web-Based Volunteer Computing Using Java". Worldwide Computing and Its Applications — WWCA'98: Second International Conference Tsukuba, Japan, March 4–5, 1998 Proceedings. Lecture Notes in Computer Science. Vol. 1368. Springer Berlin Heidelberg. pp. 444–461. CiteSeerX   10.1.1.37.6643 . doi:10.1007/3-540-64216-1_67. ISBN   978-3-540-64216-9. Archived from the original on 2023-01-20. Retrieved 2016-10-29. ISBN   978-3-540-64216-9 (print) ISBN   978-3-540-69704-6 (online)
  6. O Regev; Noam Nisan (October 28, 1998). "The POPCORN market—an online market for computational resources". Proceedings of the first international conference on Information and computation economies (in Charleston, South Carolina). New York, New York: ACM Press. pp. 148–157. doi:10.1145/288994.289027. ISBN   1-58113-076-7.
  7. Alexandrov, A.D.; Ibel, M.; Schauser, K.E.; Scheiman, K.E. (1996). "SuperWeb: Research issues in Java-Based Global Computing". Proceedings of the Workshop on Java for High performance Scientific and Engineering Computing Simulation and Modelling. New York: Syracuse University.
  8. Baratloo, A.; Karaul, M.; Kedem, Z.; Wyckoff, P. (September 1996). "Charlotte: Metacomputing on the Web" . Proceedings of the 9th International Conference on Parallel and Distributed Computing Systems. Archived from the original on 2010-01-26. Retrieved 2007-08-25.
  9. Porter, Michael; Kramer, Mark. "The Link Between Competitive Advantage and Corporate Social Responsibility" (PDF). Harvard Business Review. Archived (PDF) from the original on May 16, 2008. Retrieved August 25, 2007.
  10. "BOINC Migration Announcement". Aug 17, 2007. Archived from the original on November 3, 2018. Retrieved December 29, 2013.
  11. Geoff Gasior (November 11, 2002). "Measuring Folding@Home's performance impact". Archived from the original on June 25, 2012. Retrieved December 29, 2013.
  12. News 12 Long Island 2020 : "Since the start of the COVID-19 pandemic, Folding@home has seen a significant surge in downloads, a clear indication that people around the world are concerned about doing their part to help researchers find a remedy to this virus," said Dr. Sina Rabbany, dean of the DeMatteis School."
  13. Pande lab. "Client Statistics by OS". Stats.FoldingAtHome.org. Archived from the original on April 12, 2020. Retrieved April 12, 2020.
  14. Kondo, Derrick; Javadi, Bahman; Malecot, Paul; Cappello, Franck; Anderson, David P. "Cost-Benefit Analysis of Cloud Computing versus Desktop Grids" (PDF). MESCAL Project.
  15. Nov, Oded; Anderson, David; Arazy, Ofer (2010-04-26). "Volunteer computing". Proceedings of the 19th international conference on World wide web. WWW '10. Raleigh, North Carolina, US: Association for Computing Machinery. pp. 741–750. doi:10.1145/1772690.1772766. ISBN   978-1-60558-799-8. S2CID   15793054.
  16. "The Power of a Volunteer Computer Network - DZone Performance". DZone.com. Archived from the original on 2021-07-11. Retrieved 2021-07-11.