OpenPMIx

Reference Implementation of the Process Management Interface Exascale (PMIx) standard

View the Project on GitHub

Downloads   Privacy Policy   Security Policy   Publications   Community   Contribute

RFC0009

Title

Modify the behavior of PMIx_Get

Abstract

This RFC simplifies and extends the processing of PMIx_Get requests:

Labels

[BEHAVIOR]

Action

Copyright (c) 2016 Intel, Inc. All rights reserved.

This document is subject to all provisions relating to code contributions to the PMIx community as defined in the community’s LICENSE file. Code Components extracted from this document must include the License text as described in that file.

Description

Initially, PMIx was fairly loose regarding the rank provided when executing the PMIx_Get function. The library would check for the requested key in two locations:

Thus, a request for a data item resulted in up to three separate hash table lookups, thereby impacting scalable launch times. This RFC places restrictions on the rank and key values that allow the “get” operation to predictably complete with only a single lookup.

The restrictions enacted by this RFC are:

In addition to enforcing these restrictions, this RFC extends the PMIx_Get behavior to ensure that a request for information from a process in another namespace will return the job-level info for that namespace in addition to any info published by that process via PMIx_Put. This allows any subsequent request for job-level info to be locally satisfied without an additional communication.

Protoype Implementation

The PMIx library implementation is covered in the Simplify the PMIx_Get processing pull request. The prototype has been tested against Open MPI and is currently committed into the master repo of that project.

Author(s)

Ralph H. Castain
Intel, Inc.
Github: rhc54