PMIx: Process Management for Exascale Environments
Ralph H. Castain, David Solt, Joshua Hursey, Aurelien Bouteiller EuroMPI/USA 2017, Chicago, IL
PMIx: Process Management for Exascale Environments Ralph H. Castain - - PowerPoint PPT Presentation
PMIx: Process Management for Exascale Environments Ralph H. Castain , David Solt, Joshua Hursey, Aurelien Bouteiller EuroMPI/USA 2017, Chicago, IL What is PMIx? 2015 2016 2017 RM RM RM SLURM SLURM SLURM JSM ALPS JSM others PMI-1
Ralph H. Castain, David Solt, Joshua Hursey, Aurelien Bouteiller EuroMPI/USA 2017, Chicago, IL
OMPI Spectrum OSHMEM SOS PGAS
PMI-1 PMI-2
wireup support dynamic spawn keyval publish/lookup
MPICH years go by…
SLURM ALPS
RM
PGAS
2015 Exascale systems
Launch times long New paradigms 2016 Exascale launch in < 10s Orchestration PMIx v1.2
SLURM JSM
RM
OMPI Spectrum OSHMEM
2017 Exascale launch in < 30s PMIx v2.x
SLURM JSM
RM
Job Script
WLM WLM RM
Launch Cmd
Spawn Procs GO
Global Xchg
Proc Fabric NIC Proc NIC Proc
Barrier
FS
Wait for files & libs Topo Topo Topo
Fabric NIC Fabric
Pro c Pro c Pro c
Job Script
WLM WLM RM
Launch Cmd
Spawn Procs GO
Global Xchg
Proc Fabric NIC Proxy Proc Fabric NIC Proxy Proc Proxy
Barrier
FS
Wait for files & libs Topo Topo
Fabric NIC
Topo
PMIx Client
FS Fabric RAS
Orchestration Requests Responses
NIC Fabric Mgr PMIx Server
Job Script
System Management Stack
Tool Support
*RM daemon, mpirun-daemon, etc.
#nodes MPI_Init (sec) *LANL/Buffy cluster, 1ppn
PRS**
**PMIx Reference Server v2.0, direct-fetch/async
srun/PMI2
Multiple, use- specific libs?
(difficult for RM community to support)
Single, multi- purpose lib?
§ Put, get, commit, barrier, spawn, [dis]connect, publish/lookup
§ Debugger, job submission, query
§ Job status, layout, system data, resource availability
§ App, system generated § Subscribe, chained § Pre-emption, failures, timeout warning, …
§ Status reports, error output
§ Release resources, request resources
§ ULFM MPI is a fault tolerant flavor of Open MPI
MPI MPI
PMIx Server PMIx Server
PMIx
§ Security keys, pre-spawn local driver setup, fabric topology and status, traffic reports, fabric manager interaction
§ Automatic cross-version compatibility § Container support
§ Pause, kill, signal, heartbeat, resilience support
§ Dependency detection § Tiered storage caching strategies
§ Automatic rendezvous § Single interface to all launchers § Co-launch daemons § Access fabric info, etc.
Project: https://pmix.github.io/pmix Reference Implementation: https://github.com/pmix/pmix Reference Server: https://github.com/pmix/pmix-reference-server