An object-oriented approach to checkpointing multi-threaded distributed systems
Chita R. Das, Mangesh Kasbekar · 2000
Distributed software has undergone revolutionary changes in the recent past. The use of multithreading, object-orientation and distributed computing middleware is now common in the development of distributed software. Fault-tolerance of distributed systems is an important area of research, and checkpointing is a popular technique used for software fault-tolerance. However, the traditional process-level checkpointing schemes are not very suitable for the modern distributed systems. The traditional checkpointing algorithms could be very inefficient when used with these systems, and in some cases, may even prevent the design of optimal schemes for fault-tolerance. In this thesis, we take an object-oriented approach to the problem of checkpointing and rollback of multithreaded distributed systems, and propose a new object-oriented system model for checkpointing and rollback. Using this model, we develop algorithms for checkpointing and rolling back groups of threads and objects of the system. These algorithms are called selective checkpointing and rollback algorithms, and they are developed for both single-program as well as distributed environments. The practicality of these algorithms, issues in the implementation, and their performance benefits are also evaluated with the help of a few selected distributed applications.