Volunteer Computing
   HOME

TheInfoList



OR:

Volunteer computing is a type of
distributed computing A distributed system is a system whose components are located on different computer network, networked computers, which communicate and coordinate their actions by message passing, passing messages to one another from any system. Distributed com ...
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 co ...
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 and ...
, 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, Porivo, Entropia, and
United Devices United Devices, Inc. was a privately held, commercial volunteer computing company that focused on the use of grid computing to manage high-performance computing systems and Computer cluster, enterprise cluster management. Its products and servic ...
. 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 The Space Sciences Laboratory (SSL) is an Organized Research Unit (ORU) of the University of California, Berkeley. Founded in 1959, the laboratory is located in the Berkeley Hills above the university campus. It has developed and continues t ...
, 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 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 pulse ...
, 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 Xgrid is a proprietary program and distributed computing protocol developed by the Advanced Computation Group subdivision of Apple Inc that allows networked computers to contribute to a single task. It provides network administrators a met ...
is developed by
Apple An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple fruit tree, trees are agriculture, cultivated worldwide and are the most widely grown species in the genus ''Malus''. The tree originated in Central Asia, wh ...
. Its client and server components run only on macOS. *
Grid MP Grid MP is a commercial distributed computing software package developed and sold by Univa (formerly known as United Devices), a privately held company based primarily in Austin, Texas. It was formerly known as the MetaProcessor prior to the relea ...
is a commercial middleware platform developed by
United Devices United Devices, Inc. was a privately held, commercial volunteer computing company that focused on the use of grid computing to manage high-performance computing systems and Computer cluster, enterprise cluster management. Its products and servic ...
and was used in volunteer computing projects including
grid.org grid.org was a website and online community established in 2001 for cluster computing and grid computing software users. For six years it operated several different volunteer computing projects that allowed members to donate their spare computer ...
,
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 addin ...
,
Cell Computing Cell Computing was volunteer computing project that was operated by NTT Data to perform biomedical research. It used the Berkeley Open Infrastructure for Network Computing (BOINC) platform; however, it was initially launched using the United D ...
, and
Hikari Grid may refer to: Places *Hikari Station, a station on Sanyō Main Line in Hikari, Yamaguchi *Hikari, Chiba, a former town in Sousa District, Chiba, Japan *Hikari, Yamaguchi, a city in Yamaguchi Prefecture, Japan People *Hikari (name), people and c ...
. 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 identif ...
, the system achieved a speed of approximately 1.22
exaflops In computing, floating point operations per second (FLOPS, flops or flop/s) is a measure of computer performance, useful in fields of scientific computations that require floating-point calculations. For such cases, it is a more accurate mea ...
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 re ...
*
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 mul ...
*
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 game co ...
*
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 n ...
*
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, in ...
*
Virtual volunteering Virtual volunteering refers to volunteering, 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 computer, tab ...
*
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