A Cooperative Partial Snapshot Algorithm for Checkpoint-Rollback Recovery of Large-Scale and Dynamic Distributed Systems - Kim, Yonghwan; Nakamura, Junya; Katayama, Yoshiaki; Masuzawa, Toshimitsu (2018 Sixth International Symposium on Computing and Networking Workshops (CANDARW), 2018)
A distributed system consisting of a huge number of computational entities is prone to faults because some nodes' faults cause the entire system to fail. Therefore, fault tolerance of distributed systems is one of the most important issues. Checkpoint-rollback recovery is a universal and representative technique for fault tolerance; it periodically records the whole system state (configuration) to non-volatile storage, and the system restores itself using the recorded configuration when the system fails. To record a configuration of a distributed system, a specific algorithm named a snapshot algorithm is required. However, many snapshot algorithms require coordination among all nodes in the system, thus frequent executions of snapshot algorithms require unacceptable communication cost especially if the systems are large-scale. As a sophisticated snapshot algorithm, a partial snapshot algorithm has been introduced that takes a partial snapshot (instead of a global snapshot). However if two or more partial snapshot algorithms are concurrently executed and their snapshot domains are overlapped, they should coordinate so that the partial snapshots (taken by the algorithms) should be consistent. In this paper, we propose a new efficient partial snapshot algorithm which uses leader election for the coordination but not frequently.