Volunteer Computing

Quick summary about volunteer computing for school assignment..

Volunter 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”[1].

Important characteristics of Volunteer Computing:

  1. Participating machines are not able to continuously connected or available to the system.
  2. It is highly dynamic, which means it has no guarantee how many participating machines will be available at given time or how long a given resource will be available in the system
  3. To reach certain level of availability, there are few methods:
  • Collective availability [2], possible to be used as distributed data storage [5,6]
  • Replication [3]
  • Erasure code [4]

Availability in volunteer computing can be classified into

  1. CPU availability, refers to the fact that CPU is available to perform computations in behalf of distributed system. It is related to available CPU resource for computation.
  2. Host availability, it is more general than CPU availability because it includes other computer resources such as disk.

Example of Volunteer Computing systems[7]:

  1. SETI@home[9]
  2. BOINC[10]
  3. XtremWeb[11]
  4. MyGrid[12]
  5. P3 [8]

References
[1] http://en.wikipedia.org/wiki/Volunteer_computing
[2]Ensuring Collective Availability in Volatile Resource Pools via Forecasting
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.150.2917&rep=rep1&type=pdf
[3] The Computational and Storage Potential of Volunteer Computing , http://arxiv.org/ftp/cs/papers/0602/0602061.pdf
[4]Network coding for distributed storage systems
http://arxiv.org/pdf/cs/0702015.pdf
[5]Total Recall
http://static.usenix.org/events/nsdi04/tech/full_papers/bhagwan/bhagwan_html/
[6]DHT-based self-adapting replication protocol for achieving high data availability
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.102.7887&rep=rep1&type=pdf
[7]The Volunteer Computing Architecture Based On Role Analysis
http://dl.acm.org/citation.cfm?id=1918494
[8]P3: P2P-based Middleware Enabling Transfer and Aggregation of Computational Resources
http://shudo.net/publications/GP2PC2005/shudo-GP2PC2005-P3.pdf
[9]SETI@home: an experiment in public-resource computing
http://dl.acm.org/citation.cfm?id=581571.581573
[10]BOINC: A system for public-resource computing and storage
https://boinc.berkeley.edu/grid_paper_04.pdf
[11]XtremWeb : A Generic Global Computing System
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.24.5844&rep=rep1&type=pdf
[12]MyGrid – A complete solution for running Bag-of-Tasks Applications
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.72.7654&rep=rep1&type=pdf

Comments and suggestions are welcomed!!

One thought on “Volunteer Computing”

  1. Volunteer computing is very interesting field of informatics that has a potential to make a big impact to the community.

    Comcute is quite interesting volunteer computing project that make computations using only your browser. No additional software is needed, it’s all processed in JavaScript. And it’s not based on BOINC.

Leave a Reply