
This now passes the loop test, and so we believe it resolves the random hangs in finalize. Changes in PMIx master that are included here: * Fixed a bug in the PMIx_Get logic * Fixed self-notification procedure * Made pmix_output functions thread safe * Fixed a number of thread safety issues * Updated configury to use 'uname -n' when hostname is unavailable Work on cleaning up the event handler thread safety problem Rarely used functions, but protect them anyway Fix the last part of the intercomm problem Ensure we don't cover any PMIx calls with the framework-level lock. Protect against NULL argv comm_spawn Signed-off-by: Ralph Castain <rhc@open-mpi.org>
188 строки
7.3 KiB
Plaintext
188 строки
7.3 KiB
Plaintext
Copyright (c) 2015-2017 Intel, Inc. All rights reserved.
|
|
Copyright (c) 2017 IBM Corporation. All rights reserved.
|
|
$COPYRIGHT$
|
|
|
|
Additional copyrights may follow
|
|
|
|
$HEADER$
|
|
|
|
===========================================================================
|
|
|
|
This file contains the main features as well as overviews of specific
|
|
bug fixes (and other actions) for each version of PMIx since
|
|
version 1.0.
|
|
|
|
As more fully described in the "Software Version Number" section in
|
|
the README file, PMIx typically maintains two separate version
|
|
series simultaneously - the current release and one that is locked
|
|
to only bug fixes. Since these series are semi-independent of each
|
|
other, a single NEWS-worthy item might apply to different series. For
|
|
example, a bug might be fixed in the master, and then moved to the
|
|
current release as well as the "stable" bug fix release branch.
|
|
|
|
|
|
Master (not on release branches yet)
|
|
------------------------------------
|
|
|
|
|
|
2.0.0
|
|
------
|
|
**** NOTE: This release implements the complete PMIX v2.0 Standard
|
|
**** and therefore includes a number of new APIs and features. These
|
|
**** can be tracked by their RFC's in the RFC repository at:
|
|
**** https://github.com/pmix/RFCs. A formal standards document will
|
|
**** be included in a later v2.x release. Some of the changes are
|
|
**** identified below.
|
|
- Added the Modular Component Architecture (MCA) plugin manager and
|
|
converted a number of operations to plugins, thereby allowing easy
|
|
customization and extension (including proprietary offerings)
|
|
- Added support for TCP sockets instead of Unix domain sockets for
|
|
client-server communications
|
|
- Added support for on-the-fly Allocation requests, including requests
|
|
for additional resources, extension of time for currently allocated
|
|
resources, and return of identified allocated resources to the scheduler
|
|
(RFC 0005 - https://github.com/pmix/RFCs/blob/master/RFC0005.md)
|
|
- Tightened rules on the processing of PMIx_Get requests, including
|
|
reservation of the "pmix" prefix for attribute keys and specifying
|
|
behaviors associated with the PMIX_RANK_WILDCARD value
|
|
(RFC 0009 - https://github.com/pmix/RFCs/blob/master/RFC0009.md)
|
|
- Extended support for tool interactions with a PMIx server aimed at
|
|
meeting the needs of debuggers and other tools. Includes support
|
|
for rendezvousing with a system-level PMIx server for interacting
|
|
with the system management stack (SMS) outside of an allocated
|
|
session, and adds two new APIs:
|
|
- PMIx_Query: request general information such as the process
|
|
table for a specified job, and available SMS capabilities
|
|
- PMIx_Log: log messages (e.g., application progress) to a
|
|
system-hosted persistent store
|
|
(RFC 0010 - https://github.com/pmix/RFCs/blob/master/RFC0010.md)
|
|
- Added support for fabric/network interactions associated with
|
|
"instant on" application startup
|
|
(RFC 0012 - https://github.com/pmix/RFCs/blob/master/RFC0012.md)
|
|
- Added an attribute to support getting the time remaining in an
|
|
allocation via the PMIx_Query interface
|
|
(RFC 0013 - https://github.com/pmix/RFCs/blob/master/RFC0013.md)
|
|
- Added interfaces to support job control and monitoring requests,
|
|
including heartbeat and file monitors to detect stalled applications.
|
|
Job control interface supports standard signal-related operations
|
|
(pause, kill, resume, etc.) as well as checkpoint/restart requests.
|
|
The interface can also be used by an application to indicate it is
|
|
willing to be pre-empted, with the host RM providing an event
|
|
notification when the preemption is desired.
|
|
(RFC 0015 - https://github.com/pmix/RFCs/blob/master/RFC0015.md)
|
|
- Extended the event notification system to support notifications
|
|
across threads in the same process, and the ability to direct
|
|
ordering of notifications when registering event handlers.
|
|
(RFC 0018 - https://github.com/pmix/RFCs/blob/master/RFC0018.md)
|
|
- Expose the buffer manipulation functions via a new set of APIs
|
|
to support heterogeneous data transfers within the host RM
|
|
environment
|
|
(RFC 0020 - https://github.com/pmix/RFCs/blob/master/RFC0020.md)
|
|
- Fix a number of race condition issues that arose at scale
|
|
- Enable PMIx servers to generate notifications to the host RM
|
|
and to themselves
|
|
|
|
|
|
1.2.2 -- 21 March 2017
|
|
----------------------
|
|
- Compiler fix for Sun/Oracle CC (PR #322)
|
|
- Fix missing include (PR #326)
|
|
- Improve error checking around posix_fallocate (PR #329)
|
|
- Fix possible memory corruption (PR #331)
|
|
|
|
|
|
1.2.1 -- 21 Feb. 2017
|
|
----------------------
|
|
- dstore: Fix data corruption bug in key overwrite cases
|
|
- dstore: Performance and scalability fixes
|
|
- sm: Use posix_fallocate() before mmap
|
|
- pmi1/pmi2: Restore support
|
|
- dstore: Fix extension slot size allocation (Issue #280)
|
|
|
|
|
|
1.2.0 -- 14 Dec. 2016
|
|
----------------------
|
|
- Add shared memory data storage (dstore) option. Default: enabled
|
|
Configure option: --disable-dstore
|
|
- PMIx_Commit performance improvements
|
|
- Disable errhandler support
|
|
- Keep job info in the shared memory dstore
|
|
- PMIx_Get performance and memory improvements
|
|
|
|
1.1.5
|
|
-----
|
|
- Add pmix_version.h to support direct detection of PMIx library version
|
|
- Fix support for Solaris 10 by using abstract version of strnlen
|
|
- Fix native security module for Solaris by using getpeerucred in
|
|
that environment
|
|
- Ensure man pages don't get installed in embedded builds
|
|
- Pass temporary directory locations in info keys instead of
|
|
the environment
|
|
|
|
1.1.4
|
|
-----
|
|
- Properly increment the reference count for PMIx_Init
|
|
- Fix examples so all run properly
|
|
- Fix/complete PMI2 backward compatibility support to handle
|
|
keys that are not associated with a specific rank
|
|
- Do a better job of hiding non-API symbols
|
|
- Correct handling of semi-colon terminations on macros.
|
|
Thanks to Ashley Pittman for the patch
|
|
- Add more man pages
|
|
- Improve error checking and messages for connection
|
|
attempts from client to server
|
|
- If the tmpdir name is too long, provide an appropriate
|
|
help message to the user (particularly relevant on
|
|
Mac OSX). Thanks to Rainer Keller for the patch.
|
|
- Fix some C++ compatibility issues
|
|
- Fix/complete PMI-1 backward compatibility support
|
|
- Do not install internal headers unless specifically
|
|
requested to do so
|
|
- Add support for multiple calls to Put/Commit
|
|
|
|
|
|
1.1.3
|
|
-----
|
|
- Update the symbol hiding file to cover all symbols
|
|
- Fix examples and test directory Makefile.am's so
|
|
the Makefiles are automatically built and the
|
|
code compiled, but not installed
|
|
- Do not install the pmix library in embedded use-cases
|
|
|
|
|
|
1.1.2
|
|
-----
|
|
- Provide a check for hwloc support - if not found, then
|
|
don't pass any topology info down to the client as it
|
|
won't know how to unpack it anyway.
|
|
- Fix a few places where thread safety wasn't provided
|
|
- Fix several issues identified by Paul Hargrove:
|
|
* PMIx_Init(NULL) is supported
|
|
* Incomplete PMIx_constants man page had some lingering cruft
|
|
* Missing prototype for pmix_value_load
|
|
- Fix race condition in PMIx_Get/PMIx_Get_nb
|
|
- Fix double-free error in pmix_server_commit.
|
|
- Fix PMIX_LOAD_BUFFER to be safe.
|
|
|
|
|
|
1.1.1
|
|
-----
|
|
- Fix an issue where the example and test programs
|
|
were incorrectly being installed. Thanks to Orion
|
|
Poplawski for reporting it
|
|
|
|
|
|
1.1.0
|
|
-----
|
|
- major update of APIs to reflect comments received from 1.0.0
|
|
non-production release
|
|
- fixed thread-safety issues
|
|
- fixed a range of pack/unpack issues
|
|
- added unit tests for all APIs
|
|
|
|
|
|
1.0.0
|
|
------
|
|
Initial public release of draft APIs for comment - not production
|
|
intended
|