DMTCP 2.4.8

@jiajuncao jiajuncao released this Feb 13, 2017 · 343 commits to master since this release

  • The newest kernels (approximately Linux version 4.0 and later map VDSO into memory slightly differently for 32-bit processes running in a 64-bit Linux. DMTCP was failing to restart for such 32-bit processes. This is now fixed.
  • dmtcp_dlsym() extended to provide more robust wrapper functions.
  • Corner case fixed: signal handlers now restored before plugins restart.
  • Minor bug fixes.

Downloads

DMTCP 2.5.0

@karya0 karya0 released this Jan 4, 2017 · 49 commits to 2.5 since this release

This release includes a few new plugins and several bug fixes for robustness. Some of the highlights include:

  • Support for InfiniBand UD (in addition to the more common InfiniBand RC).
  • Added support for CMA (Cross-Memory Attach):
    process_vm_readv and process_vm_writev
  • Improved multi-arch (mixed 32-/64- bit) support.
  • Re-added --enable-fast-restart.
  • Added a new commandline option --with-plugin-32 for dmtcp_launch to specify
    32-bit plugins in a 64-bit environment.
  • Added --enable-pthread-mutex-wrappers configure flag to enable
    pthread_mutex_{lock,unlock} wrappers needed for Open MPI.
  • Added ability to specify environment file used in the modify-env plugin.
  • Allow dmtcp_restart to be invoked by root.
  • The following new plugins were added:
    • pathvirt: to virtualize filesystem paths.
    • delayresume: for finer-grained control over resuming of user threads
      during resume/restart.

Downloads

DMTCP 2.4.7

@karya0 karya0 released this Jan 4, 2017 · 28 commits to 2.4 since this release

If you are using a recent Linux kernel or a recent GLIBC library, and you need to continue to use the 2.4.x branch, then you are recommended to upgrade to this 2.4.7 release.

  • The newest kernels (approximately Linux version 4.0 and later) map vDSO into memory slightly differently for 32-bit processes running in a 64-bit Linux. DMTCP was failing to restart for such 32-bit processes. This is now fixed.
  • In recent versions of GLIBC, libdl/dlerror calls libc/malloc, creating an infinite recursion when we interpose using libdl/dlsym. We now implement our own dlsym and use it in most cases, thus reducing our reliance on libdl.

Downloads

DMTCP 2.4.6

@karya0 karya0 released this Dec 30, 2016 · 44 commits to 2.4 since this release

  • An --enable-pthread-mutex-wrappers configure flag was added
    to enable pthread_mutex_{lock,unlock} wrappers needed for Open MPI.
  • The signals SIGCANCEL (signal# 32) and SIGSETXID (signal# 33) used by NPTL
    for threads were not being properly restored on restart.
  • Restart was fixed in a case where independent processes had orphaned roots
    of trees.
  • Provides more robust handling of mutexes.
  • Provides more robust handling of InfiniBand.
  • A failure to build on SLES10 was fixed.

Downloads

DMTCP 2.4.5

@karya0 karya0 released this Jul 19, 2016 · 49 commits to 2.4 since this release

Merge pull request #413 from gc00/2.4.5

DMTCP 2.4.5

Downloads

dmtcp-2.5.0-rc2

@rohgarg rohgarg released this May 22, 2016 · 124 commits to 2.5 since this release

Bumping version to 2.5.0-rc2

Downloads

dmtcp-2.4.4

@karya0 karya0 released this Jan 14, 2016 · 343 commits to master since this release

DMTCP now supports InfiniBand UD (in addition to the more common InfiniBand RC). This is becoming necessary, now that many MPI implementations are typically configured to use both InfiniBand RC and InfiniBand UD.

Other major bug fixes include:

  • A regression in the multi-arch installation has been fixed. It should
    again be possible to configure DMTCP to support a mixture of 32- and
    64-bit applications as documented in the doc/multi-arch.txt and in
    the DMTCP FAQ.
  • A race condition was fixed that could cause a failure to restart after
    many checkpoint-restart cycles (i.e., a restart from a checkpoint of
    a restart from a checkpoint, etc.). This race condition potentially
    happened primarily for programs that were continually creating and
    destroying many threads or continually using mmap to create and destroy
    many BSD-style shared memory regions among different processes.
  • The dmtcp_set_coord_ckpt_dir("dirname") utility in dmtcp.h (for DMTCP plugins)
    now also supports relative pathnames for "dirname".
  • The dmtcp.h file now uses the macro DMTCP_VOID instead of the macro VOID.
    This avoids name clashes with user include files that also define a
    macro VOID.
  • The modify-env plugin has raised the maximum size of "dmtcp_env.txt"
    to over 12,000 bytes (and warns if a still larger size is used).
  • Some additional utilities in dmtcp.h for DMTCP plugins, that were
    labelled "FOR EXPERTS ONLY" are now directly supported without
    modification of the DMTCP source code.
  • An improved error message is provided when a target application
    launched with dmtcp_launch --no-coordinator tries to use fork.
    (Fork creates a second process, and a DMTCP coordinator is needed when
    there is more than one process.)

Downloads

dmtcp-2.4.3

@karya0 karya0 released this Nov 25, 2015 · 343 commits to master since this release

This is primarily a bug-fix release and includes the following changes:

  • Added support for CMA (Cross-Memory Attach: process_vm_readv/process_vm_writev).
  • Fixed a regression affecting dmtcp_checkpoint() [applic-initiated ckpt API].
  • Fixed a compilation error on RHEL-5.8.
  • Some smaller bug fixes.

Downloads

dmtcp-2.4.2

@karya0 karya0 released this Oct 15, 2015 · 343 commits to master since this release

This is primarily a bug fix release. The following bugs were fixed:

  • Fixed interval checkpoint.
  • Fix for dmtcp_launch --no-coordinator.
  • Support for sched_* functions.
  • Build fix for --enable-debug compilation flag.
  • Compilation fixes for Clang-3.4.

Downloads