Skip to content

Commit

Permalink
Merge pull request #484 from dsolt/server_dmodex_req_info
Browse files Browse the repository at this point in the history
How to implement pmix_server_dmodex_req_fn_t when PMIX_REQUIRED_KEY set
  • Loading branch information
raffenet authored Mar 14, 2024
2 parents 99559c8 + a172094 commit 50bb0c7
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions Chap_API_Server.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2413,20 +2413,24 @@ \subsection{\code{pmix_server_dmodex_req_fn_t}}
%%%%
\descr

Used by the \ac{PMIx} server to request its local host contact the \ac{PMIx} server on the remote node that hosts the specified proc to obtain and return any information that process posted via calls to \refapi{PMIx_Put} and \refapi{PMIx_Commit}.
Used by the \ac{PMIx} server to request its local host contact the \ac{PMIx} server on the remote node that hosts the specified proc to obtain (using \refapi{PMIx_server_dmodex_request}) and return any information that the process, \refarg{proc}, posted via calls to \refapi{PMIx_Put} and \refapi{PMIx_Commit}.

The array of \refarg{info} structs is used to pass user-requested options to the server.
This can include a timeout to preclude an indefinite wait for data that may never become available.
The directives are optional unless the \emph{mandatory} flag has been set - in such cases, the host \ac{RM} is required to return an error if the directive cannot be met.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Dmodex attributes}

%
\declareAttribute{PMIX_REQUIRED_KEY}{"pmix.req.key"}{char*}{
Identifies a key that must be included in the requested information. If the specified key is not already available, then the \ac{PMIx} servers are required to delay response to the dmodex request until either the key becomes available or the request times out.
}
Identifies a key that must be included in the requested information. If the specified key is not already available, then the \ac{PMIx} servers are required to delay response to the dmodex request until either the key becomes available or the request times out.}

\vspace{\baselineskip}
\advicermstart
The server can test the availability of a required key by calling \refapi{PMIx_Get} on the key. Since there is no mechanism to retract a key-value that has been made available by a client through PMIx_Put, a successful \refapi{PMIx_Get} call on the key by the server is sufficient to ensure that a subsequent \refapi{PMIx_server_dmodex_request} call targeting the process will include the key.
\advicermend

%%%%%%%%%%%
\subsection{\code{pmix_server_publish_fn_t}}
Expand Down

0 comments on commit 50bb0c7

Please sign in to comment.