DMTCP: Distributed MultiThreaded CheckPointing

DMTCP Plugin Interface:

DMTCP plugins provide a flexible model with which to write an add-on library that can: support DMTCP event hooks; add custom wrappers around system calls; and add a custom distributed name-service facility through the DMTCP coordinator. Some DMTCP plugin examples can be found in the test/plugin directory of the source distribution.

The DMTCP source also provides a plugin tutorial, doc/plugin-tutorial.pdf.

Quick start to learning DMTCP plugins:

                cd DMTCP_ROOT/test/plugin
                cd sleep1
                make clean
                make -n check # To see how to compile and run it.
                make check    # To actually compile and run it.
                # Kill the running process using ^C, and then restart it:

After that, read the source code. It should be small and easy to read. For more complex examples, read DMTCP_ROOT/test/plugin/README and try some examples in the various subdirectories of DMTCP_ROOT/test/plugin .

Python Interface:

DMTCP also provides a simple Python module for accessing DMTCP functions within a Python session. You can import the Python module found as contrib/python/ Other Python utilities are also in contrib/python/.

Click here for comments. Logo