In Dr. Dobbs Journal, #339, pages 46--51, August 2002.
ABSTRACT
We present a new approach and the associated algorithm for
checkpointing large-scale shared memory multithreaded programs. This
approach leverages the existing {\em copy-on-write} capabilities of the
virtual memory system by introducing a new \url{checkpoint}
system call into the Linux operating system. Our initial performance
study indicates that the execution time of our \url{checkpoint} system
call is up to 67 times faster than a user-level memory copying. Our
method allows seamless checkpointing of programs and libraries, even
if the source code is not available, and will support various
threading software packages. This kind of checkpointing is
particularly useful for {\it cloning} multithreaded programs that
supports speculative computing and iterative execution of selected
paths of a program.