Improving Fault Tolerance in Desktop Grids Based On Incremental Checkpointing

Fault tolerance is an important issue to guarantee reliable execution of tasks in computational desktop grid environment where execution failures are frequently expected. Periodic checkpointing of running tasks is one of the common strategies for achieving acceptable fault tolerance. A problem usually arises, that is, temporary stored data in a checkpoint file for some long running tasks might be too large in size to be reliably transmitted between nodes without consuming network bandwidth. Data loss may also occur when transmitting such large amount of data in a non-reliable communication environment (e.g. desktop grid). In this paper, a modified application level incremental checkpointing approach is proposed in which the size of transmitted checkpoint data can be reduced to about 3% of its original size with little overhead on computation time. The proposed approach also investigates a new mechanism for safely storing a checkpoint file with reliance on the availability of the submitting node only. A simulator have been built using the .Net framework 1.1 to test the validity of the proposed approach using an application code built on variable dimensions' matrix multiplication. Experimental results show that the proposed approach improved fault tolerance with minimizing computational overhead