The subdirectories within contrib are typically plugins that can be used
with DMTCP. They are written either by DMTCP developers or by third
parties, but they are intended to be optional components. They will
not be loaded into DMTCP by default, but will typically require
the --with-plugins flag of dmtcp_launch.
If you would like to write your own DMTCP plugins, you can find some
very simple examples of plugins in the directories in dmtcp/test/plugin .
For each of those, 'make check' will provide a working demo of the plugin.
Try, for example (using cd from this directory):
( cd ../test/plugin/sleep1 ; make check )
and then look at the source code in ../test/plugin/sleep1 .
The documentation within each subdirectory has the details of how to use
it. Unless stated otherwise, many of the plugins are still experimental.
Please report bugs back to the author and to firstname.lastname@example.org .
An overview is given here:
ptrace: Support for checkpointing ptrace system call. Ptrace is used by gdb,
strace, etc. to trace an inferior process for debugging purposes. Use
this plugin (dmtcp_launch --ptrace ...) to start gdb/strace under
modify-env: Modify the environment variables on restart. This
reads from a local file in the same directory, dmtcp_env.txt,
to determine what environment variables should be modified
in the restarted process.
batch-queue: (also known as rm plugin, for "resource manager")
Support for using DMTCP with batch queue systems.
Currently TORQUE and SLURM are supported. Support for SGE and LSF
is planned in the near future. This is the work of Artem Polyakov.
Please report bugs to email@example.com as well as to
artem84 using his gmail account.
[ This can be useful with the infiniband plugin for parallel
computations on an InfiniBand cluster using a batch queue. ]