James S. Plank
Technical Report CS-94-269, University of Tennessee, December, 1994.
Available via anonymous ftp to cs.utk.edu in
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
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.