6.5. Server-Side Collective Tracking
PMIx collective operations (PMIx_Fence, PMIx_Connect,
PMIx_Disconnect, and group construct/destruct) are assembled in two
phases: the server first gathers the contributions of all local
participants, then hands the assembled operation up to its host
environment for global completion across nodes. This section describes
how the server tracks local participation, why the historical
counter-based accounting is unsafe when a participant is lost, and the
identity-based tracking model that replaces it.
- 6.5.1. Specification: Tracking Local Collective Participation
- 6.5.1.1. Scope
- 6.5.1.2. Background: how a collective is assembled
- 6.5.1.3. The counter-based completion test and its vulnerability
- 6.5.1.4. Required model: track participation by identity
- 6.5.1.5. Lost-connection accounting rules
- 6.5.1.6. Required architecture: a single tracking service
- 6.5.1.7. Additional required behaviors
- 6.5.1.8. Invariants
- 6.5.1.9. Relationship to the current implementation
- 6.5.2. Implementation Plan: A Single Collective-Tracking Service