* Mon Jan 29 2018 tchvatal@suse.com
- Add patch dmtcp-overflow.patch
* This is to not block post-build-checks and run all the scans
on the resulting package
* Wed Dec 27 2017 kapil@ccs.neu.edu
- Disabled some troublesome tests.
- Updated to 2.5.2.
Release notes for 2.5.2:
========================
* All fixes in Release DMTCP-2.4.9 are incorporated in this release.
* An incompatibility of DMTCP with Open MPI 1.10 when using orterun (mpirun)
was discovered. This does not affect recent versions, such as Open MPI 2.x.
* In some rare cases, open files were not properly restored due to
a use-after-free bug. This is now fixed.
* In some rare cases, one process had created a SysV shared memory object,
and a different process was assigned to restore it on restart. This
was not handled correctly, and is now fixed.
* Correctly restore CPU affinities of threads
* Virtualized SysV shared memory keys to avoid race condition on restart
* Fixed logic for checking if relative path to file was a duplicate
of another existing path
* The NSCD area for name service caching daemon was not handled correctly
in CentOS 6.8 and later correctly. Fixed now.
* The Linux sched.h include file for scheduling of cores was added to
satisfy some older Linux distros that needed it for compiling DMTCP.
* Fixed a regression in which --enable-debug (for verbose debug logs)
was not being properly written.
* The DMTCP coordinator was displaying a spurious warning, "Failed to find
coordinator IP address", because it did not check for a canoncial hostname.
* A related issue prevented DMTCP from working properly on some
SUSE/openSUSE distros.
Release notes for 2.5.1:
========================
This release mostly provides added robustness. Two notable items of
added functionality are:
i. DMTCP_RESTART_PAUSE and DMTCP_RESTART_PAUSE0 environment variables
for easier debugging upon initial restart
ii. The --debug-logs flag was added to dmtcp_launch/dmtcp_restart.
One can now turn on logging individually for separate plugins,
instead of only turning it on globally.
An incompatibility of DMTCP with Open MPI 1.10 when using orterun (mpirun)
was discovered. This may also affect some other versions of Open MPI 1.10.
This bug will be fixed in a future release.
* Fixed an issue when starting multiple DMTCP coordinators on same host
at approximately the same time
* Fixed issue with PBS scheduler for HPC
* Fixed issue when restarting on a different host with a larger
limit on the number of open file descriptors
* dmtcp_launch/dmtcp_restart now accept '--debug-logs' flag to specify
which DMTCP plugins should produce logging information
(It used to be all or nothing.)
* Improved robustness for IB (InfiniBand) plugin
* Fixed DMTCP_RESTART_PAUSE and DMTCP_RESTART_PAUSE0 environment variables
for debugging upon restart
* The brk() call was failing on restart on Debian due to overly strict assert
* dmtcp_launch was hanging on some RHEL5 and RHEL6 due to deadlock with
libc low-level locks. Fixed now.
* Updated tls_pid_offset in DMTCP to handle newer GLIBc (versions > 2.24)
* Fixed launch of 32-bit binary when forking/execing from a 64-bit executable
* Fixed issue that can affect a parent holding a malloc-lock while forking
* Fixed issue when a user thread calls 'dmtcp_get_coord_ckpt_dir()'
* Fri Jan 20 2017 shshyukriev@suse.com
- Update to v 2.5.0.
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.
* Wed Jun 08 2016 tiwai@suse.de
- Update to DMTCP 2.4.1: primarily a bug fix release.
fixes an issue with version 2.4.0 and deleted shared memory files
- Update to DMTCP 2.4.2:
configure script fixes; interval checkpointing; etc
- Update to DMTCP 2.4.3:
added support for CMA, fixed a regression affecting dmtcp_checkpoint()
- Update to DMTCP 2.4.4:
supports InfiniBand UD, misc fixes
- Adapt spec file to the new 2.4.4 tarball
* Wed Jul 15 2015 kapil@ccs.neu.edu
- Removed includes.patch and dmtcp-glibc-2.21.patch from patch list.
- Updated to upstream release 2.4.0.
* Release notes:
Several important changes and enhancements were added:
- dmtcp_launch/restart/command/coordinator now take the flags
- h, -p, --coord-host/port and environment variables
DMTCP_COORD_HOST/PORT. The older --host, --port, DMTCP_HOST/PORT
are now deprecated.
- Newer versions of MATLAB (matlab-2013 and later) were using additional
Linux features. All recent versions of matlab are again supported.
- Intensive testing done for integration of MPI/SLURM
for the following MPI dialects: Intel MPI/MVAPICH-2/MPICH-2/Open MPI.
See plugin/batch-queue/job_examples/ for SLURM/DMTCP submission scripts.
Preliminary support for some other resource managers also provided,
especially including ibrun.
- Open MPI version 1.8 _with_ InfiniBand is not yet supported.
This is due to the OMPI use of UD (unreliable datagrams) for InfiniBand.
Support is planned for the near future. Earlier OMPI versions continue
to work with IB. We do not currently know of a config in OMPI-1.8 to
avoid IB/UD (to use only IB/CM). Such a workaround would let DMTCP work.
- Added support for newest Linux kernels: split of [vdso]
into [vdso] and [vvar]; To see if this affects you, do:
cat /proc/self/maps | grep '\[vvar]'
- Support for glibc version 2.21 added. To see if this affects you, do:
ls -l /lib*/libc.so.6 /lib/*/libc.so.6
- The environment variable DMTCP_GDB_ATTACH_ON_RESTART was added. Setting
this permanently is a security risk. But on a temporary basis,
it can enable easier debugging of restarted processes:
DMTCP_GDB_ATTACH_ON_RESTART=1 dmtcp_restart ckpt_a.out_*.dmtcp &
gdb a.out `pgrep -n a.out`
- Enhancements added for newer 32-bit ARM (armv7) CPUs
- Experimental support is now provided for 64-bit ARM (armv8)
- Bug fixes
* Tue Mar 24 2015 dimstar@opensuse.org
- Add dmtcp-glibc-2.21.patch: Fix build with glibc 2.21.
* Tue Aug 12 2014 bwiedemann@suse.com
- include string.h to fix compilation (bnc#889400)
Add includes.patch
* Tue Jul 29 2014 kapil@ccs.neu.edu
- Updated to upstream release 2.3.1.
* Release notes:
- This is primarily a bug fix release. However, if you are using DMTCP for the
ARM v7 CPU, or if you are using DMTCP either with the InfiniBand network or
with the SLURM batch system, then it is strongly recommended to upgrade.
- Bug fix affecting building for ARM on some recent armv7a CPUs.
- Improvements in support for InfiniBand network and for SLURM
batch system.
- Other smaller bug fixes.
* Fri Mar 14 2014 kapil@ccs.neu.edu
- Updated to upstream release 2.2.
* Release notes:
- In this release, the lowest layers have been re-organized and partially
re-written for greater clarity of code and greater maintainability.
These changes should be transparent to end users.
- Users relying on the use of DMTCP with MPI, InfiniBand or the Toruqe or
SLURM batch queues are strongly advised to upgrade.
* Other changes are:
- A --exit-after-ckpt flag was added for dmtcp_coordinator.
- Scalability improvements were added. DMTCP has now been tested
on an MPI jobs using 2048 MPI ranks over 2048 CPU cores.
- Anybody using DMTCP with InfiniBand is strongly recommended to upgrade
to inherit important bug fixes. The InfiniBand plugin is still
formally part of the 'contrib' directory during this release. It was
tested primarily against Open MPI. Further testing is still needed
before the InfiniBand plugin can be promoted from the 'contrib'
directory to the 'plugin' directory.
- The --infiniband flag of dmtcp_launch was not fully functional in
version 2.1. This is now fixed.
- The 'dmtcp_launch --no-coordinator' option was broken in version 2.1.
This is now fixed.
- The --disable-dl-plugin flag was added to dmtcp_launch. Most users will
not need this option. But software relying on DT_RPATH, DT_RUNPATH,
or certain other uncommon cases in loading dynamic libraries may need
to invoke this for stability. It is hoped to remove the need for this
flag in a future release.
- A similar comment holds for the --disable-alloc-plugin flag in dmtcp_launch.
If there appear to be issues with a memory allocator, consider invoking
this flag.
- Numerous minor bug fixes and enhancements were added.
* Sun Jan 12 2014 kapil@ccs.neu.edu
- Updated to upstream release 2.1.
* Short release notes:
- some newly stable plugins - batch-queue, modify-env, ptrace (see below)
- full support for 32-/64-bit multilib architecture. (see below)
- other enhancements to the core feature set (see below)
- adapting DMTCP to application requirements: removal of the old dmtcpaware
interface in favor of the newer interface: test/plugin/applic-*ckpt/
(see below)
- attempt to restore current working directory on restart (may be impossible
if restart host has different filesystem)
- 'dmtcp_coordinator --port-file <FILE>' causes coordinator to write the port
- number on which it listens into FILE. This is useful in
conjunction with 'dmtcp_coordinator --port 0', which starts a coordinator
at a random unused port.
- 'dmtcp_restart --ckptdir <DIR>' and 'dmtcp_restart_script.sh --ckptdir <DIR>'
will change to a new directory to hold checkpoint images on restart.
- 'dmtcp_restart --no-strict-uid-checking'
or 'dmtcp_coordinator --no-strict-uid-checking'
[ allows a user with a different uid to restart a checkpoint image;
process uid will be changed to that of the new user ]
- './configure --enable-run-as-root' [ self explanatory; normally running
as root is bad practice ]
- a new internal plugin to handle 'ssh' uniformly; Some corner cases
in checkpointing MPI could have been affected by this.
- some bug fixes related to the new plugin software architecture initiated
with DMTCP 2.0
* Tue Aug 13 2013 kapil@ccs.neu.edu
- New upstream release 1.2.8.
- Removed dmtcp-includes.patch as it has been included in the new tarball.
* Release Notes:
- Bug fixes for newer ARM CPUs --- especially addressing cache coherency issues
of multi-core ARM, and the more aggressive out-of-order execution for newer
ARM CPUs.
- On restart, gzip zombie processes associated with compressed checkpoint
images were not always reaped properly. This is now handled correctly.
- Peliminary support for using C++11 compilers to compile DMTCP (but not yet
intensively tested).
- Minor bug fixes.
* Wed Jul 18 2012 aj@suse.de
- Add missing include for <sys/resource.h> (glibc 2.16)
* Thu Jun 28 2012 kapil@ccs.neu.edu
- Updating to upstream release 1.2.5
* 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).
* Sat Mar 24 2012 dimstar@opensuse.org
- Add dmctp-gcc47.patch: Fix build with gcc 4.7
* Thu Feb 16 2012 kapil@ccs.neu.edu
- Some changes were accidently reverted in the previous two commits.
Adding them back.
* Mon Jan 23 2012 kapil@ccs.neu.edu
- There was a minor glitch in the previous tarball. This one fixes it.
* Mon Jan 23 2012 kapil@ccs.neu.edu
- Updating to upstream release 1.2.4
* Release Notes:
- Preparing for upstream release 1.2.4.
+ Release Notes from upstream:
- There is now much more robust treatment of processes that rapidly
create and destroy threads. This was the case for the Java JVM
(both for OpenJDK and Oracle (Sun) Java). This was also the case
for Cilk. Cilk++ was not tested. We believe this new DMTCP to now be
highly robust -- and we would appreciate receiving a notification if
you find a Java or Cilk program that is not compatible with DMTCP.
- Zero-mapped pages are no longer expanded and saved to the DMTCP checkpoint
image. For Java programs (and other programs using zero-mapped
pages for their allocation arena or garbage collecotr), the checkpoint
image will now be much smaller. Checkpoint and restart times
will also be faster.
- DMTCP_ROOT/dmtcp/doc directory added with documentation of some
DMTCP internals. architecture-of-dmtcp.pdf is a good place to
start reading for those who are curious.
- The directory of example modules was moved to DMTCP_ROOT/test/module.
This continues to support third-part wrappers around system calls,
can registering functions to be called by DMTCP at interesting times
(like pre-checkpoint, post-resume, post-restart, new thread created, etc.).
- This version of MTCP (inside this package) should be compatible with
the checkpoint-restart service of Open MPI. The usage will be
documented soon through the Open MPI web site. As before, an alternative
is to simply start Open MPI inside DMTCP, and let DMTCP treat all of
Open MPI as a "black box" that happens to be a ditributed computation
- A new --prefix command line flag has been added to dmtcp_checkpoint.
It operates similarly to the flag of the same name in Open MPI.
For distributed computations, remote processes will use the prefix
as part of the path to find the remote dmtcp_checkpoint command.
This is useful when a gateway machine has a different directory
structure from the remote nodes.
- configure --enable-ptrace-support now uses ptrace module (more modular code).
The ptrace module should also be more robust. It now fixes some
additional cases that were missing earlier
- ./configure --enable-unique-checkpoint-filenames was not respecting
bin/dmtcp_checkpoint --checkpoint-open-files . This is now fixed.
- If the coordinator received a kill request in the middle of a checkpoint,
the coordinator could freeze or die. This has now been fixed, with
the expected behavior: Kill the old computation that is in the
middle of a checkpoint, and then allow any new computations to begin.
- dmtcp_inspector utility was broken in last release; now fixed
- configure --enable-forked-checkpoint was broken in the last release.
It is fixed again.
- Many smaller bug fixes.
* Sun Dec 04 2011 coolo@suse.com
- don't fail on unknown options from %configure
* Sun Sep 18 2011 jengelh@medozas.de
- Remove redundant tags/sections from specfile
(cf. packaging guidelines)
* Tue Jul 26 2011 kapil@ccs.neu.edu
- Top level configure files updated to fix configure error.