Volunteer computing

Volunteer computing

Volunteer computing is a type of distributed computing in which computer owners donate their computing resources (such as processing power and storage) to one or more "projects".It is distinct from grid computing, which involves sharing ofmanaged computing resources within and between organizations.

History

The first volunteer computing project was the Great Internet Mersenne Prime Search,which was started in January 1996. [cite web|url=http://www.mersenne.org/history.htm|title=GIMPS History] It was followed in 1997 by distributed.net. In 1997 and 1998 several academic research projects developedJava-based systems for volunteer computing;examples includeBayanihan, [Sarmenta, L.F.G. "Bayanihan: Web-Based Volunteer Computing Using Java".Lecture Notes in Computer Science 1368, Springer-Verlag, 1998. pp. 444-461.Proc. of the 2nd International Conference on World-Wide Computing and its Applications (WWCA'98), Tsukuba, Japan, March 3-4, 1998] Popcorn, [cite conference|last=Regev|first=O|coauthors=Nisan, N|title=The POPCORN market~Wan online market for computational resources|booktitle=Proceedings of the First international Conference on information and Computation Economies|location=Charleston, South Carolina, United States|date=October 25 - 28, 1998|publisher=ACM Press, New York, NY|pages=148-157] Superweb, [cite conference|first=A.D.|last=Alexandrov|coauthors=M. Ibel, K.E. Schauser, K.E. Scheiman|title=SuperWeb: Research issues in Java-Based Global Computing|booktitle=Proceedings of the Workshop on Java for High performance Scientific and Engineering Computing Simulation and Modelling|publisher=Syracuse University|location=New York|year=1996] and Charlotte. [cite conference|last=Baratloo|last=A.|coauthors=Karaul, M., Kedem, Z., Wyckoff, P.|title=Charlotte: Metacomputing on the Web|booktitle=Proceedings of the 9th International Conference on Parallel and Distributed Computing Systems|month=Sept|year=1996|url=http://citeseer.ist.psu.edu/article/baratloo96charlotte.html] . Another similar concept is Sideband computing which let a user to share his computing power while he is online.

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 [cite web|url=http://harvardbusinessonline.hbsp.harvard.edu/email/pdfs/Porter_Dec_2006.pdf|title=The Link Between Competitive Advantage and Corporate Social Responsibility|first=Michael|last=Porter|coauthors=Mark Kramer|publisher=Harvard Business Review] or used in the Responsible IT forum. [cite web|url=http://www.responsI.tk|title=ResponsI.TK|publisher=Responsible IT forum]

In 1999 the SETI@home and Folding@home projects were launched.These projects received considerable media coverage, and each oneattracted 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.

Middleware for volunteer computing

The client software of the early volunteer computing projects consistedof a single program that combined the scientific computationand 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 systemsthat provide a distributed computing infrastructureindependently of the scientific computation.Examples include:

* The Berkeley Open Infrastructure for Network Computing (BOINC). BOINC is the most widely-used middleware system. It is open source (LGPL) and is developed by an NSF-funded research project located at the UC Berkeley Space Sciences Laboratory. It offers client software for Windows, Mac OS X, Linux, and other Unix variants.
* XtremWeb is used primarily as a research tool. It is developed by a group based a University of Paris - South.
* Xgrid is developed by Apple. Its client and server components run only on Mac OS X.
* Grid MP is a commercial middleware platform developed by United Devices and has been used in volunteer computing projects including grid.org, World Community Grid, 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 computersare behind firewalls that don't allow incoming connections.The system keeps track of each user's "credit", a numerical measureof how much work that user's computers have done for the project.

Volunteer computing systems must deal with severalproblematic aspects of the volunteered computers:their heterogeneity,their churn (that is, the arrival and departure of hosts),their sporadic availability,and the need to not interfere with their performanceduring regular use.

In addition, volunteer computing systems must deal with several related 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) is accepted only ifthey agree sufficiently.

Costs for volunteer computing participants

* Increased power consumption. A CPU that is idle generally has lower power consumption than when it is active. The desire to participate may also cause the volunteer to leave the PC on overnight, or to disable power saving features like suspend.
* Decreased performance of the PC. If the volunteer computing application attempts to run while the computer is in use, it will impact performance of the PC. This is due to increased CPU contention, CPU cache contention, disk I/O contention, and network I/O contention. 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 the option of desired processor usage percent, that is avaliable e.g. in BOINC client.

References

ee also

*List of distributed computing projects
*Cloud computing
*Peer-to-peer


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • List of distributed computing projects — A list of distributed computing projects. Berkeley Open Infrastructure for Network Computing (BOINC) The Berkeley Open Infrastructure for Network Computing (BOINC) platform is currently the most popular volunteer based distributed computing… …   Wikipedia

  • Grid computing — is a term referring to the combination of computer resources from multiple administrative domains to reach a common goal. The grid can be thought of as a distributed system with non interactive workloads that involve a large number of files. What …   Wikipedia

  • Berkeley Open Infrastructure for Network Computing — infobox software name = BOINC caption = Current (top) and former (bottom) BOINC logos developer = University of California, Berkeley latest release version = 6.2.19 latest release date = September 22, 2008 operating system = Cross platform genre …   Wikipedia

  • Distributed computing — is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal …   Wikipedia

  • Sideband computing — is a general term for an area of computer science that is related to the distributed computing and multiple communication channels.Sideband is defined as when a user connects to some normal network service, a separate communication channel is… …   Wikipedia

  • Utility computing — is the packaging of computing resources, such as computation, storage and services, as a metered service similar to a traditional public utility (such as electricity, water, natural gas, or telephone network). This model has the advantage of a… …   Wikipedia

  • Berkeley Open Infrastructure for Network Computing — BOINC BOINC Manager (6.12.26)(x64) corriendo en Windows 7 …   Wikipedia Español

  • History of computing hardware — Computing hardware is a platform for information processing (block diagram) The history of computing hardware is the record of the ongoing effort to make computer hardware faster, cheaper, and capable of storing more data. Computing hardware… …   Wikipedia

  • Wikipedia:Reference desk/Computing — The Wikipedia Reference Desk covering the topic of computing. Computing #eee #f5f5f5 #eee #aaa #aaa #aaa #00f #36b #000 #00f computing Wikipedia:Reference de …   Wikipedia

  • Indic Computing — means computing in Indic i.e. Indian Scripts and Languages. It involves developing software in Indic Scripts/languages, Input methods, Localization of computer applications, web development, Database Management, OCR, Spell checkers, Speech to… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”