Documente Academic
Documente Profesional
Documente Cultură
Interface Exascale
PMIx Roadmap
16.05 SLURM Support
0.5 Hardware:
32 nodes
2 processors
0.4 (Xeon E5-2680 v2)
20 cores per node
0.3 1 proc per core
0 nodes
0 5 10 15 20 25 30 35
0.3
Synchronization
overhead
0.2
0.1
0 nodes
0 5 10 15 20 25 30 35
v1.2.0
Extension of v1.1.5
v1.1.5
Each proc stores own copy of data
v1.2
Data stored in shared memory owned by PMIx
server
Each proc has read-only access
Benefits
Minimizes memory footprint
Faster launch times
Shared memory data storage
(architecture)
process
process
MPI
MPI
PMIx
PMIx-client PMIx-client
Shared mem
usock
usock
(store blobs)
daemon
PMIx-server
RTE
PMIx_Get(all), sec
10 keys per process Hardware:
0.7 100-element arrays of 32 nodes
integers 2 processors
0.6 (Intel Xeon E5-2680 v2)
Open MPI v2.1
PMIx v1.2 20 cores per node
0.5 1 proc per core
0.4
Messages
0.3
Shmem
0.2
0.1
0 processes
0 100 200 300 400 500 600 700
https://github.com/pmix/master/tree/master/contrib/perf_tools
Shared memory data storage
(synthetic performance test) [3]
0.15 0.15
CL1 Hardware:
15 nodes
0.10 0.07 0.07
0.10 0.08 0.07 2 processors
0.05 0.05
(Intel Xeon X5570)
8 cores per node
0.00 0.00 1 proc per core
PMI2 PMIx msg PMIx shmem PMI2 PMIx msg PMIx shmem
ms CL2: avg(Put) ms
CL2: avg(Get)
0.40 0.37 0.35 0.32
0.35 0.30
CL2 Hardware:
0.30 0.25 64 nodes
0.25
0.20 2 processors
0.20
0.15 0.11 (Intel Xeon E5-2697 v3)
0.15
0.10 0.06 0.06
0.10 0.06 28 cores per node
0.05 0.05 1 proc per core
0.00 0.00
PMI2 PMIx msg PMIx shmem PMI2 PMIx msg PMIx shmem
PMIx Roadmap
Mpirun/
Tool P orted
Tool Support
Query Examples
Network topology
Array of proc network-relative locations
Overall topology (e.g., dragonfly)
Running jobs
Currently executing job namespaces
Debuggers?
Array of proc location, status, PID
Resources
Available system resources
Array of proc location, resource utilization (ala top)
Queue status
Current scheduler queue backlog
PMIx Roadmap
Spring 2017
V3.x Features
IO Support
Reduce launch time
Current practices
Reactive cache/forward
Static builds
Proactive pre-positioning
Examine provided job/script
Return array of binaries and libraries required for execution
Enhance execution
Request async file positioning
Callback when ready
Specify persistence options
Spring 2017
Open Discussion
Project: https://pmix.github.io/master
Code: https://github.com/pmix