Most desktop computers are virtually idle most of the time. They represent an immense
pool of unused computation, communication, and data storage capacity. Available
compute power is expanding rapidly with the advent of multi-core systems. But these
nodes are "volatile" as their owners can make them unavailable suddenly and without
notice. The goal of Volpex is to address the challenge of parallel computing on
such volatile nodes. Here are some specific directions:
This project is developing an implementation of MPI customized for robust execution
on volatile nodes. Message passing exchanges are converted to Put/Get operations
executed asynchronously. VolPEx design is based on execution of 2 or more replicas
of each MPI process - the application progresses at the rate of the fastest replicas
and continues seamlessly on failure, as long as at least one replica for each process
Current systems for execution on volatile nodes such as, BOINC and Condor primarily
support execution of independent tasks on nodes. The central goal of Volpex Dataspace
is to enable execution of communicating parallel programs on volatile ordinary desktops.
We need a robust communication layer that facilitates data exchanges between tasks.
Abstract dataspace that acts as (intermediary) for data exchange between tasks
Asynchronous exchange of data objects
Well suited to redundant computation of tasks to handle volatile nature
The objective of this work is to simulate the performance of parallel applications
on desktop grids by creating a virtual model of the real world network, which has
all of the characteristics of a real world network plugged in, and to obtain the
simulation results for different parallel applications for different combination
of network parameters on different varieties of network configurations.