|SF project page|
|Plugins and other APIs|
DMTCP Supported Apps:
In general, we try to support all mainstream applications and most others. The list below provides a sample of commonly used applications for which we have directly verified support from DMTCP. If your application does not work with DMTCP, this is a bug in DMTCP! We would appreciate it if you can notify us of such applications, so that we can work with you on fixing this bug in DMTCP.
The Closed World Assumption: The single biggest issue for most checkpointing packages is the "closed world assumption". This concerns applications that connect with external services. In these cases, we must add heuristics that know about the external world. Some classic examples are X Window apps, InfiniBand connections, NSCD (Name Service Caching Daemon), LDAP (Lightweight Directory Access Protocol), re-connecting stdin/stdout/stderr to the current terminal device, and so on. (see the list below.) DMTCP gets around this through heuristics, and DMTCP plugins.
The Three Generations of DMTCP:
Time (rdtsc): Time presents a special case during restart. Any counter or timer active since the beginning of a process will consider the restarted process to be a new process. This can affect the x86/x86_64 assembly instruction rdtsc, which counts the number of clock cycles since the beginning of the process.
Three newer non-POSIX Linux system calls: DMTCP supports three newer Linux system calls (epoll, eventfd, and signalfd) as of DMTCP release 1.2.6.
Work in Progress: Support for inotify will be provided in a future release. Please contact us if you have a need for this.
Some of the commonly used applications supported by DMTCP:
Click here for comments.