Next: The Bayanihan Framework
Up: Bayanihan: Building and Studying
Previous: Introduction
Implementing and deploying real volunteer computing systems involves many
interesting and challenging technical questions and problems. These include:
- Accessibility.
In order to maximize the potential work pool and minimize setup time,
a volunteer computing system must be accessible to as many people as possible.
It must be platform-independent, and must require as little technical
knowledge from volunteers as possible.
- Programmability.
A volunteer computing system should provide a flexible and
easy-to-use programming interface that allows programmers
to implement a wide variety of parallel applications easily and quickly.
- Adaptive Parallelism.
Since volunteer nodes can have different kinds of CPUs, and can
join and leave a computation at any time, parallel programming
models for volunteer computing systems must be
adaptively parallel.
Unlike traditional models, they cannot assume the existence of a fixed number of nodes, or depend on static timing information about the system.
- Fault-Tolerance and Computational Security.
Like all large-scale metacomputing systems, volunteer computing systems must be able to tolerate faults such as data loss or corruption from random hardware, software, and communication failures. Unlike other metacomputing systems, however, volunteer computing systems must also be resilient against intentional attacks from malicious nodes. These include sabotage by nodes submitting erroneous results, and spying on confidential data in commercial volunteer systems.
- Performance and Scalability.
To be useful, a Java-based volunteer computing system must ultimately provide its users with speedups better than, or at least comparable to, other available metacomputing technologies. Potential obstacles to this goal include Java's traditionally slow execution speed, communication overhead, and the lack of server scalability.
- User Interface Design.
Unlike most conventional parallel systems, volunteer computing systems need good user interfaces to attract volunteers to participate and encourage them to stay. In commercial systems, users would also need good interfaces for submitting jobs and receiving results.
Next: The Bayanihan Framework
Up: Bayanihan: Building and Studying
Previous: Introduction
Luis Sarmenta
12/9/1998