Checkpointing and Its Applications

  • Yi-Min Wang ,
  • Chandra Kintala ,
  • Kiem-Phong Vo ,
  • Pe-Yu Chung ,
  • Yennun Huang

FTCS '95 Proceedings of the Twenty-Fifth International Symposium on Fault-Tolerant Computing |

Published by Institute of Electrical and Electronics Engineers, Inc.

This paper describes our experience with the implementation and applications of the Unix checkpointing library libckp, and indentifies two concepts that have proven to be the key to making checkpointing a powerful tool. First, including all persistent state, i.e., user files, as part of the process state that can be checkpointed and recovered provides a truly transparent and consistent rollback. Second, excluding part of the persistent state from the process state allows user programs to process future inputs from a desirable state, which leads to interesting new applications of checkpointing. We use real-life examples to demonstrate the use of libckp for bypassing premature software exits, for fast initialization and for memory rejuvenation.