next up previous
Next: Forced Volunteer Computing Up: Potentials and Possibilities Previous: Potentials and Possibilities

True (or Altruistic) Volunteer Computing

Networks like distributed.net can be called true volunteer networks - their participants are volunteers in the true sense of the word. Specifically, they are:

1.
autonomous - they join (and leave) of their own free will.
2.
altruistic - they generally do not expect to be compensated for volunteering.
3.
anonymous - they are unknown to the administrators, and therefore untrustable.

The appeal of true volunteer computing is in its potential to pool together the computing power of the millions of computers on the Internet to form a world-wide network more powerful than any single supercomputer by several orders of magnitude. Though the idea of millions of people volunteering their computers may seem far-fetched, the success of projects like distributed.net, which managed to involve half a million computers in cracking the RC5-56 challenge, argues strongly to the contrary. The goal of Java-based volunteer computing is to go even further by making volunteering so easy and painless that literally anyone and everyone on the Internet can do it.

True volunteer computing has two major problems: One is that of security and correctness of the computation. While the volunteers are reasonably secure against malicious attacks (thanks to Java), the computation itself is not. Since volunteers are anonymous, there is no guarantee that a volunteer is not actually a saboteur who will not do the work assigned to it, but will instead return fabricated results. There may be ways to use cryptography and redundancy to alleviate this problem, but their effectiveness is still unclear (see Sect.4).

The other problem is motivation - why would people want to volunteer their computers to do work for someone else? Some people would say, ``Why not?'' The typical PC or workstation is idle most of the time anyway, so why not put it to good use? Most people, however, would like to know what these ``good uses'' are before they volunteer. Thus, the choice of appropriate target problems plays a large part in attracting and motivating volunteers.

One class of target problems that have successfully attracted people are ``cool'' challenges like Mersenne prime verification [5], the RSA cryptographic challenges [9], and distributed chess [10]. A more interesting and more useful class of target problems, however, is what might be called worthy causes. These are realistic and practical problems which can be seen as serving ``the common good'' - either globally (e.g., protein folding computations for vaccine research), or locally (e.g., simulation studies for a traffic-congested mega-city). A recent and interesting example of a possible worthy cause problem, [*] is the SETI@home project, which aims to use volunteers' home computers to analyze radio telescope data for unusual patterns that may indicate extraterrestrial life [11].


next up previous
Next: Forced Volunteer Computing Up: Potentials and Possibilities Previous: Potentials and Possibilities
Luis Sarmenta
1/2/1998