Efficient Message Logging to Support Process Replicas in a Volunteer Computing Environment



Journal Title

Journal ISSN

Volume Title



A volunteer PC grid is a low cost computing environment where nodes are heterogeneous and availability is highly unpredictable. This research is in the context of a communication model based on the single sided put/get calls to an abstract global space for communicating parallel applications. This model is a good match for a volunteer environment since the processes can execute their communication operation independently and asynchronously. Parallel applications need replication as well checkpointing to make continuous progress in such a unreliable environment. Since different instances of the same process can execute in the same logical program state at different clock times, communicated data objects must be logged to ensure the replicas of a logical process receive identical communication data streams. Logging to support redundancy can be the source of a significant overhead in time and storage. In this thesis we develop, implement and evaluate and compare pessimistic and optimistic logging schemes to support redundant communication. Pessimistic scheme log a copy of the data object returned to a read/get request. Multiple copies of a data object may present on the log if the data object is read multiple times. On the other hand, optimistic scheme log the old data object when a put request to the server is overwriting it with a new data object. But identifying the correct data object for the replica read request is a challenge, as the replica must receive identical data object to the original read. A Virtual Time Stamp (VTS) that capture global execution state is logged along with data object to make this possible. We develop an optimized pessimistic that ensure only one copy of a data object will be in the dataspace and also have an optimized optimistic that reduce the VTS size and creation time overhead. Our experimental result shows that optimize version of pessimistic and optimistic have better performance in terms of storage and time overhead than regular pessimistic and optimistic. It also shows that optimized pessimistic perform better with most of the applications in volunteer computing environment.



Volunteer computing, Cloud computing, Fault tolerance, Message logging