User-Level Socket-Based Checkpointing for Distributed and Parallel Computation

Jason Ansel, Michael Rieker, Gene D. Cooperman · arXiv (Cornell University) · 2007

We present a preliminary description of a user-level checkpointing package, DMTCP, for Linux. The socket-based approach presents a novel method for checkpointing distributed processes. This includes checkpointing of any dynamically created POSIX threads and forked child processes. It also includes checkpointing of remotely spawned processes via ssh and other mechanisms. As with all user-level checkpointing, no modification of the kernel is needed, and the application code is not modified. The package also checkpoints signal handlers, ordinary file descriptors, socket descriptors, and certain other types of file descriptors. Each checkpointed process has an associated checkpoint file. Hence, process migration, and even migration of an entire computation to a new cluster, are achieved through the simple expedient of copying checkpoint files to a new host. However, process migration adds the additional restriction that the source and destination host must be homogeneous. 1

Read the paper · More papers on PaperTik