HOME

TheInfoList



OR:

Volunteer computing is a type of
distributed computing A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system. Distributed computing is a field of computer sci ...
in which people donate their computers' unused resources to a research-oriented project, and sometimes in exchange for credit points. 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. Typical uses like basic word processing or web browsing leave the computer mostly idle. The practice of volunteer computing, which dates back to the mid-1990s, can potentially make substantial
processing power In computing, computer performance is the amount of useful work accomplished by a computer system. Outside of specific contexts, computer performance is estimated in terms of accuracy, efficiency and speed of executing computer program instruction ...
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 Middleware is a type of computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue". Middleware makes it easier for software developers to implement ...
system usually serves as an intermediary.


History

The first volunteer computing project was the
Great Internet Mersenne Prime Search The Great Internet Mersenne Prime Search (GIMPS) is a collaborative project of volunteers who use freely available software to search for Mersenne prime numbers. GIMPS was founded in 1996 by George Woltman, who also wrote the Prime95 client a ...
, which was started in January 1996. 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, Popcorn, Superweb, and Charlotte. 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 Corporate social responsibility (CSR) is a form of international private business self-regulation which aims to contribute to societal goals of a philanthropic, activist, or charitable nature by engaging in or supporting volunteering or ethicall ...
as reported in a Harvard Business Review or used in the Responsible IT forum. In 1999, the SETI@home and
Folding@home Folding@home (FAH or F@h) is a volunteer 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 ...
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 Popular Power was a company founded in January 2000 that sold distributed computing software for CPU scavenging. The company was led by Marc Hedlund, CEO, and Nelson Minar, CTO. The "Popular Power Worker" software was a downloadable Java-based ...
, Porivo, Entropia, and United Devices. In 2002, the
Berkeley Open Infrastructure for Network Computing The Berkeley Open Infrastructure for Network Computing (BOINC, pronounced – rhymes with "oink") is an open-source middleware system for volunteer computing (a type of distributed computing). Developed originally to support SETI@home, it beca ...
(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 Predictor@home was a volunteer computing project that used BOINC software to predict protein structure from protein sequence in the context of the 6th biannual CASP, or Critical Assessment of Techniques for Protein Structure Prediction. A major g ...
, based at the Scripps Research Institute, which began operation in 2004. Soon thereafter, SETI@home and climate''prediction''.net began using BOINC. A number of new BOINC-based projects were created over the next few years, including
Rosetta@home 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 laboratory at the University of Washington. Rosetta@home aims ...
,
Einstein@home Einstein@Home is a volunteer computing project that searches for signals from spinning neutron stars in data from gravitational-wave detectors, from large radio telescopes, and from a gamma-ray telescope. Neutron stars are detected by their pul ...
, and AQUA@home. In 2007, IBM World Community Grid switched from the United Devices platform to BOINC.


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: * The
Berkeley Open Infrastructure for Network Computing The Berkeley Open Infrastructure for Network Computing (BOINC, pronounced – rhymes with "oink") is an open-source middleware system for volunteer computing (a type of distributed computing). Developed originally to support SETI@home, it beca ...
(BOINC) is the most widely used middleware system. It offers client software for Windows, macOS, Linux, Android, and other Unix variants. * XtremWeb is used primarily as a research tool. It is developed by a group based at the University of Paris-South. * Xgrid is developed by
Apple An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple trees are cultivated worldwide and are the most widely grown species in the genus '' Malus''. The tree originated in Central Asia, where its wild ancest ...
. Its client and server components run only on macOS. * Grid MP is a commercial middleware platform developed by United Devices and was used in volunteer computing projects including grid.org,
World Community Grid World Community Grid (WCG) is an effort to create the world's largest volunteer computing platform to tackle scientific research that benefits humanity. Launched on November 16, 2004, with proprietary Grid MP client from United Devices and addi ...
, Cell Computing, and Hikari Grid. 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: * Volunteers are unaccountable and essentially anonymous. * Some volunteer computers (especially those that are overclocked) occasionally malfunction and return incorrect results. * Some volunteers intentionally return incorrect results or claim excessive credit for results. 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

* Increased power consumption: A CPU generally uses more electricity when it is active compared to when it is idle. Additionally, the desire to participate may cause the volunteer to leave the PC on overnight or disable power-saving features like suspend. Furthermore, if the computer cannot cool itself adequately, the added load on the volunteer's CPU can cause it to overheat. * Decreased performance of the PC: If the volunteer computing application runs while the computer is in use, it may impact performance of the PC. This is due to increased usage of the CPU, CPU cache, local storage, and network connection. If RAM is a limitation, increased disk cache misses and/or increased paging can result. Volunteer computing applications typically execute at a lower CPU scheduling priority, which helps to alleviate CPU contention. 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


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 The COVID-19 pandemic, also known as the coronavirus pandemic, is an ongoing global pandemic of coronavirus disease 2019 (COVID-19) caused by severe acute respiratory syndrome coronavirus 2 (SARS-CoV-2). The novel virus was first identi ...
, the system achieved a speed of approximately 1.22 exaflops by late March 2020 and reached 2.43 exaflops by April 12, 2020, making it the world's first exaflop computing system.


Cost

Volunteer computing is often cheaper than other forms of distributed computing, 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. * Since there are more than one billion PCs in the world, volunteer computing can supply more computing power to researches, that do not have the required competencies regarding the computing power, on any kind of topic; such as academic (university-based) or scientific researches. Also, advancements in the technology will provide the advancements in consumer products such as PCs and game consoles happen faster than any other specialized products which will increase the number of PCs and computing power in the world consequently. * Supercomputers that have huge computing power are extremely expensive and are available only to some applications only if they can afford it. Whereas volunteer computing is not something that can be bought, its power arises from the public support. A research project that has limited sources and funding can get huge computing power by attracting public attention. * By volunteering and providing support and computing power to the researches on topics such as science, citizens are encouraged to be interested in science and also citizens are allowed to have a voice in directions of scientific researches and eventually the future science by providing support or not to the researches.


See also

*
Citizen science Citizen science (CS) (similar to community science, crowd science, crowd-sourced science, civic science, participatory monitoring, or volunteer monitoring) is scientific research conducted with participation from the public (who are sometimes r ...
*
Cloud computing Cloud computing is the on-demand availability of computer system resources, especially data storage ( cloud storage) and computing power, without direct active management by the user. Large clouds often have functions distributed over mu ...
*
List of volunteer computing projects This is a comprehensive list of volunteer computing projects; a type of distributed computing where volunteers donate computing time to specific causes. The donated computing power comes from idle CPUs and GPUs in personal computers, video gam ...
*
Peer-to-peer Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network. They are said to form a peer-to-peer ...
*
Swarm intelligence Swarm intelligence (SI) is the collective behavior of decentralized, self-organized systems, natural or artificial. The concept is employed in work on artificial intelligence. The expression was introduced by Gerardo Beni and Jing Wang in 1989, ...
*
Virtual volunteering Virtual volunteering refers to volunteer activities completed, in whole or in part, using the Internet and a home, school, telecenter, or work computer or other Internet-connected device, such as a smartphone or a tablet. Virtual volunteering is al ...
*
BOINC The Berkeley Open Infrastructure for Network Computing (BOINC, pronounced – rhymes with "oink") is an open-source middleware system for volunteer computing (a type of distributed computing). Developed originally to support SETI@home, it beca ...


References

{{reflist


External links


Wanted: Your computer's spare time
Physics.org, September 2009
The Strongest Supercomputer on Earth Still Needs Your Laptop to Cure Cancer
Inverse.com, December 2015 Distributed computing architecture Middleware Digital labor