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!!