DMTCP (Distributed MultiThreaded Checkpointing) is a tool to transparently checkpoint the state of multiple simultaneous applications, including multi-threaded and distributed applications. It operates directly on the user binary executable, without any Linux kernel modules or other kernel modifications.
Release Notes:
- epoll, eventfd, and signalfd are now supported
- The ARM architecture for Linux is now supported.
(Linux currently supports 32-bit ARM EABI.)
- The name "DMTCP module" is changed to "DMTCP plugin" (more common terminology).
User plugins can greatly customize the behavior of DMTCP.
- The dmtcp_checkpoint cmd was resetting the checkpoint interval even
if the user did not specify the -i/--interval flag. This is now fixed.
- Improved support for a planned Fedora package for DMTCP
- On resume from ckpt, zero pages were sometimes expanded (increasing the
memory footprint). This affected Java. This is now fixed.
- Some bug fixes were provided for programs that intensively create
and destroy threads (e.g. OpenMP, Java)
- After restart, the floating point rounding mode (fesetround) was not being
properly restored. This is now fixed.
- There have been requests for support of DMTCP for PBS/TORQUE. Some partial
support has now been added to the svn only (_not_ to this release).
Please write to us if you need this support from DMTCP.
- The FAQ at the DMTCP web site was expanded.
- 15% slowdown observed in an unusual case:
A user reports that if your program frequently does both of these:
a. is heavily multi-threaded; and
b. calls malloc/free intensively;
This has been diagnosed. It was seen too close to this 1.2.5 release,
and so the fix will be provided for the next release (and in the public svn).