"Checkpointing Multithreaded Program" C. D. Carothers, and B. K. Szymanski 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.

Download PDF