Checkpoint/Restart functionality for Linux processes
DMTCP (Distributed MultiThreaded Checkpointing) is a tool to transparently checkpointing the state of an arbitrary group of programs spread across many machines and connected by sockets. It runs directly on the user binary executable, without needing to modify either the user binary or the operating system.
Among the applications supported by DMTCP are OpenMPI, MATLAB, Python, Perl, and many programming languages and shell scripting languages. DMTCP also supports GNU screen sessions, including vim/cscope and emacs. With the use of TightVNC, it can also checkpoint and restart X-Windows applications, as long as they do not use extensions (e.g.: no OpenGL, no video). See the QUICK-START file for further details.