``Compiler-Assisted Checkpointing''

Micah Beck, James S. Plank and Gerry Kingsley,

Technical Report CS-94-269, University of Tennessee, December, 1994.

Available via anonymous ftp to cs.utk.edu in pub/plank/papers/CS-94-269.ps.Z.

A short version of this paper appeared in December 1995 in IEEE TCOS. Click here for info on and a pointer to that paper


In this paper we present compiler-assisted checkpointing, a new technique which uses static program analysis to optimize the performance of checkpointing. We achieve this performance gain using libckpt, a checkpointing library which implements memory exclusion in the context of user-directed checkpointing. The correctness of user-directed checkpointing is dependent on program analysis and insertion of memory exclusion calls by the programmer. With compiler-assisted checkpointing, this analysis is automated by a compiler or preprocessor. The resulting memory exclusion calls will optimize the performance of checkpointing, and are guaranteed to be correct. We provide a full description of our program analysis techniques and present detailed examples of analyzing three fortran programs. The results of these analyses have been implemented in libckpt, and we present the performance improvements that they yield.

Postscript of the paper