In Partial Fulfillment of the Requirements for the Degree of
Master of Science
Will defend his thesis
Volunteer PC grids represent massive computation capacity at a low cost, but are challenging to employ for parallel computing because of variable and unpredictable performance and availability. VOLPEX Dataspace API, a communication model based on one-sided Put/Get calls to an abstract global shared space is designed to address this problem. Identification tags are associated with data and fault tolerance is achieved through replication. Logging is required to ensure that a replica process receives the same data that was sent to the original process for the same get request. An 'optimistic' logging mechanism and a 'pessimistic' logging mechanism are used to support replication.
In both approaches the redundant put requests are ignored. In the pessimistic approach, the new get request is served from the dataspace and a copy of the data object is logged. Redundant get requests are served from the log. In the optimistic approach, each distinct tag has a logically time stamped queue serving as a log. A data object is written to the log when a put request to the dataspace server is overwriting it. Redundant get requests are served from the log of the matching tag based on the timestamp. This thesis presents the design, execution model, implementation, and usage of Volpex, and compares the performance of optimistic and pessimistic logging mechanisms.