Asynchronous recovery without using vector timestamps

  • Authors:
  • D. Manivannan;M. Singhal

  • Affiliations:
  • Computer Science Department, University of Kentucky, 301 Rose street, James F. Hardymon Building, Lexington, KY;Computer Science Department, University of Kentucky, 301 Rose street, James F. Hardymon Building, Lexington, KY

  • Venue:
  • Journal of Parallel and Distributed Computing
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

A checkpoint of a process involved in a distributed computation is said to be useful if it is part of a consistent global checkpoint. In this paper, we present a quasi-synchronous checkpointing algorithm that makes every checkpoint useful. We also present an efficient asynchronous recovery algorithm based on the checkpointing algorithm. The checkpointing algorithm allows the processes to take checkpoints asynchronously and also forces the processes to take additional checkpoints in order to make every checkpoint useful. The recovery algorithm can handle concurrent failure of multiple processes. The recovery algorithm has no domino effect and a failed process needs only to roll back to its latest checkpoint and request the other processes to roll back to a consistent checkpoint. Messages are only selectively logged to cope with various types of message abnormalities that arise due to rollback and hence results in low message logging overhead. Unlike some existing algorithms, our algorithm does not use vector timestamps for tracking dependency between checkpoints and hence results in low message overhead during failure-free operation. Moreover, a process can asynchronously decide garbage checkpoints and delete them from the stable storage--garbage checkpoints are the checkpoints that are no longer required for the purpose of recovery.