SlideShare a Scribd company logo
1 of 71
Download to read offline
Overview of the MVAPICH Project:
Latest Status and Future Roadmap
MVAPICH2 User Group (MUG) Meeting
by
Dhabaleswar K. (DK) Panda
The Ohio State University
E-mail: panda@cse.ohio-state.edu
http://www.cse.ohio-state.edu/~panda
MVAPICH User Group Meeting (MUG) 2017 2Network Based Computing Laboratory
Parallel Programming Models Overview
P1 P2 P3
Shared Memory
P1 P2 P3
Memory Memory Memory
P1 P2 P3
Memory Memory Memory
Logical shared memory
Shared Memory Model
SHMEM, DSM
Distributed Memory Model
MPI (Message Passing Interface)
Partitioned Global Address Space (PGAS)
Global Arrays, UPC, Chapel, X10, CAF, …
• Programming models provide abstract machine models
• Models can be mapped on different types of systems
– e.g. Distributed Shared Memory (DSM), MPI within a node, etc.
• PGAS models and Hybrid MPI+PGAS models are gradually receiving
importance
MVAPICH User Group Meeting (MUG) 2017 3Network Based Computing Laboratory
Supporting Programming Models for Multi-Petaflop and
Exaflop Systems: Challenges
Programming Models
MPI, PGAS (UPC, Global Arrays, OpenSHMEM), CUDA, OpenMP,
OpenACC, Cilk, Hadoop (MapReduce), Spark (RDD, DAG), etc.
Application Kernels/Applications
Networking Technologies
(InfiniBand, 40/100GigE,
Aries, and Omni-Path)
Multi-/Many-core
Architectures
Accelerators
(GPU and MIC)
Middleware Co-Design
Opportunities
and Challenges
across Various
Layers
Performance
Scalability
Resilience
Communication Library or Runtime for Programming Models
Point-to-point
Communication
Collective
Communication
Energy-
Awareness
Synchronization
and Locks
I/O and
File Systems
Fault
Tolerance
MVAPICH User Group Meeting (MUG) 2017 4Network Based Computing Laboratory
Designing (MPI+X) for Exascale
• Scalability for million to billion processors
– Support for highly-efficient inter-node and intra-node communication (both two-sided and one-sided)
• Scalable Collective communication
– Offloaded
– Non-blocking
– Topology-aware
• Balancing intra-node and inter-node communication for next generation multi-/many-core
(128-1024 cores/node)
– Multiple end-points per node
• Support for efficient multi-threading
• Integrated Support for GPGPUs and Accelerators
• Fault-tolerance/resiliency
• QoS support for communication and I/O
• Support for Hybrid MPI+PGAS programming
• MPI + OpenMP, MPI + UPC, MPI + OpenSHMEM, CAF, MPI + UPC++…
• Virtualization
• Energy-Awareness
MVAPICH User Group Meeting (MUG) 2017 5Network Based Computing Laboratory
Overview of the MVAPICH2 Project
• High Performance open-source MPI Library for InfiniBand, Omni-Path, Ethernet/iWARP, and RDMA over Converged Ethernet (RoCE)
– MVAPICH (MPI-1), MVAPICH2 (MPI-2.2 and MPI-3.0), Started in 2001, First version available in 2002
– MVAPICH2-X (MPI + PGAS), Available since 2011
– Support for GPGPUs (MVAPICH2-GDR) and MIC (MVAPICH2-MIC), Available since 2014
– Support for Virtualization (MVAPICH2-Virt), Available since 2015
– Support for Energy-Awareness (MVAPICH2-EA), Available since 2015
– Support for InfiniBand Network Analysis and Monitoring (OSU INAM) since 2015
– Used by more than 2,800 organizations in 85 countries
– More than 424,000 (> 0.4 million) downloads from the OSU site directly
– Empowering many TOP500 clusters (June ‘17 ranking)
• 1st, 10,649,600-core (Sunway TaihuLight) at National Supercomputing Center in Wuxi, China
• 15th, 241,108-core (Pleiades) at NASA
• 20th, 462,462-core (Stampede) at TACC
• 44th, 74,520-core (Tsubame 2.5) at Tokyo Institute of Technology
– Available with software stacks of many vendors and Linux Distros (RedHat and SuSE)
– http://mvapich.cse.ohio-state.edu
• Empowering Top500 systems for over a decade
– System-X from Virginia Tech (3rd in Nov 2003, 2,200 processors, 12.25 TFlops) ->
– Stampede at TACC (12th in Jun’16, 462,462 cores, 5.168 Plops)
MVAPICH User Group Meeting (MUG) 2017 6Network Based Computing Laboratory
Timeline
Jan-04
Jan-10
Nov-12
MVAPICH2-X
OMB
MVAPICH2
MVAPICH
Oct-02
Nov-04
Apr-15
EOL
MVAPICH2-GDR
MVAPICH2-MIC
MVAPICH Project Timeline
Jul-15
MVAPICH2-Virt
Aug-14
Aug-15
Sep-15
MVAPICH2-EA
OSU-INAM
MVAPICH User Group Meeting (MUG) 2017 7Network Based Computing Laboratory
0
50000
100000
150000
200000
250000
300000
350000
400000
450000
Sep-04
Jan-05
May-05
Sep-05
Jan-06
May-06
Sep-06
Jan-07
May-07
Sep-07
Jan-08
May-08
Sep-08
Jan-09
May-09
Sep-09
Jan-10
May-10
Sep-10
Jan-11
May-11
Sep-11
Jan-12
May-12
Sep-12
Jan-13
May-13
Sep-13
Jan-14
May-14
Sep-14
Jan-15
May-15
Sep-15
Jan-16
May-16
Sep-16
Jan-17
May-17
NumberofDownloads
Timeline
MV0.9.4
MV20.9.0
MV20.9.8
MV21.0
MV1.0
MV21.0.3
MV1.1
MV21.4
MV21.5
MV21.6
MV21.7
MV21.8
MV21.9
MV22.1
MV2-GDR2.0b
MV2-MIC2.0
MV2-Virt2.2
MV2-GDR2.2rc1
MV2-X2.2
MV22.3b
MVAPICH2 Release Timeline and Downloads
MVAPICH User Group Meeting (MUG) 2017 8Network Based Computing Laboratory
Architecture of MVAPICH2 Software Family
High Performance Parallel Programming Models
Message Passing Interface
(MPI)
PGAS
(UPC, OpenSHMEM, CAF, UPC++)
Hybrid --- MPI + X
(MPI + PGAS + OpenMP/Cilk)
High Performance and Scalable Communication Runtime
Diverse APIs and Mechanisms
Point-to-
point
Primitives
Collectives
Algorithms
Energy-
Awareness
Remote
Memory
Access
I/O and
File Systems
Fault
Tolerance
Virtualization
Active
Messages
Job Startup
Introspectio
n & Analysis
Support for Modern Networking Technology
(InfiniBand, iWARP, RoCE, Omni-Path)
Support for Modern Multi-/Many-core Architectures
(Intel-Xeon, OpenPower, Xeon-Phi (MIC, KNL), NVIDIA GPGPU)
Transport Protocols Modern Features
RC XRC UD DC UMR ODP
SR-
IOV
Multi
Rail
Transport Mechanisms
Shared
Memory
CMA IVSHMEM
Modern Features
MCDRAM* NVLink* CAPI*
* Upcoming
MVAPICH User Group Meeting (MUG) 2017 9Network Based Computing Laboratory
• Research is done for exploring new designs
• Designs are first presented to conference/journal publications
• Best performing designs are incorporated into the codebase
• Rigorous Q&A procedure before making a release
– Exhaustive unit testing
– Various test procedures on diverse range of platforms and interconnects
– Performance tuning
– Applications-based evaluation
– Evaluation on large-scale systems
• Even alpha and beta versions go through the above testing
Strong Procedure for Design, Development and Release
MVAPICH User Group Meeting (MUG) 2017 10Network Based Computing Laboratory
MVAPICH2 Software Family
Requirements Library
MPI with IB, iWARP and RoCE MVAPICH2
Advanced MPI, OSU INAM, PGAS and MPI+PGAS with IB and RoCE MVAPICH2-X
MPI with IB & GPU MVAPICH2-GDR
MPI with IB & MIC MVAPICH2-MIC
HPC Cloud with MPI & IB MVAPICH2-Virt
Energy-aware MPI with IB, iWARP and RoCE MVAPICH2-EA
MPI Energy Monitoring Tool OEMT
InfiniBand Network Analysis and Monitoring OSU INAM
Microbenchmarks for Measuring MPI and PGAS Performance OMB
MVAPICH User Group Meeting (MUG) 2017 11Network Based Computing Laboratory
• Released on 08/10/2017
• Major Features and Enhancements
– Based on MPICH-3.2
– Enhance performance of point-to-point operations for CH3-Gen2 (InfiniBand), CH3-PSM, and CH3-PSM2 (Omni-Path) channels
– Improve performance for MPI-3 RMA operations
– Introduce support for Cavium ARM (ThunderX) systems
– Improve support for process to core mapping on many-core systems
• New environment variable MV2_THREADS_BINDING_POLICY for multi-threaded MPI and MPI+OpenMP applications
• Support `linear' and `compact' placement of threads
• Warn user if over-subscription of core is detected
– Improve launch time for large-scale jobs with mpirun_rsh
– Add support for non-blocking Allreduce using Mellanox SHARP
– Efficient support for different Intel Knight's Landing (KNL) models
– Improve performance for Intra- and Inter-node communication for OpenPOWER architecture
– Improve support for large processes per node and huge pages on SMP systems
– Enhance collective tuning for many architectures/systems
– Enhance support for MPI_T PVARs and CVARs
MVAPICH2 2.3b
MVAPICH User Group Meeting (MUG) 2017 12Network Based Computing Laboratory
One-way Latency: MPI over IB with MVAPICH2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
Small Message Latency
Message Size (bytes)
Latency(us)
1.11
1.19
1.01
1.15
1.04
TrueScale-QDR - 3.1 GHz Deca-core (Haswell) Intel PCI Gen3 with IB switch
ConnectX-3-FDR - 2.8 GHz Deca-core (IvyBridge) Intel PCI Gen3 with IB switch
ConnectIB-Dual FDR - 3.1 GHz Deca-core (Haswell) Intel PCI Gen3 with IB switch
ConnectX-4-EDR - 3.1 GHz Deca-core (Haswell) Intel PCI Gen3 with IB Switch
Omni-Path - 3.1 GHz Deca-core (Haswell) Intel PCI Gen3 with Omni-Path switch
0
20
40
60
80
100
120
TrueScale-QDR
ConnectX-3-FDR
ConnectIB-DualFDR
ConnectX-4-EDR
Omni-Path
Large Message Latency
Message Size (bytes)
Latency(us)
MVAPICH User Group Meeting (MUG) 2017 13Network Based Computing Laboratory
TrueScale-QDR - 3.1 GHz Deca-core (Haswell) Intel PCI Gen3 with IB switch
ConnectX-3-FDR - 2.8 GHz Deca-core (IvyBridge) Intel PCI Gen3 with IB switch
ConnectIB-Dual FDR - 3.1 GHz Deca-core (Haswell) Intel PCI Gen3 with IB switch
ConnectX-4-EDR - 3.1 GHz Deca-core (Haswell) Intel PCI Gen3 IB switch
Omni-Path - 3.1 GHz Deca-core (Haswell) Intel PCI Gen3 with Omni-Path switch
Bandwidth: MPI over IB with MVAPICH2
0
5000
10000
15000
20000
25000
4 16 64 256 1024 4K 16K 64K 256K 1M
TrueScale-QDR
ConnectX-3-FDR
ConnectIB-DualFDR
ConnectX-4-EDR
Omni-Path
Bidirectional Bandwidth
Bandwidth(MBytes/sec)
Message Size (bytes)
21,227
12,161
21,983
6,228
24,136
0
2000
4000
6000
8000
10000
12000
14000
4 16 64 256 1024 4K 16K 64K 256K 1M
Unidirectional Bandwidth
Bandwidth(MBytes/sec)
Message Size (bytes)
12,590
3,373
6,356
12,083
12,366
MVAPICH User Group Meeting (MUG) 2017 14Network Based Computing Laboratory
• Near-constant MPI and OpenSHMEM
initialization time at any process count
• 10x and 30x improvement in startup time
of MPI and OpenSHMEM respectively at
16,384 processes
• Memory consumption reduced for remote
endpoint information by O(processes per
node)
• 1GB Memory saved per node with 1M
processes and 16 processes per node
Towards High Performance and Scalable Startup at Exascale
P M
O
Job Startup Performance
MemoryRequiredtoStore
EndpointInformation
a b c d
eP
M
PGAS – State of the art
MPI – State of the art
O PGAS/MPI – Optimized
PMIX_Ring
PMIX_Ibarrier
PMIX_Iallgather
Shmem based PMI
b
c
d
e
a
On-demand
Connection
On-demand Connection Management for OpenSHMEM and OpenSHMEM+MPI. S. Chakraborty, H. Subramoni, J. Perkins, A. A. Awan, and D K
Panda, 20th International Workshop on High-level Parallel Programming Models and Supportive Environments (HIPS ’15)
PMI Extensions for Scalable MPI Startup. S. Chakraborty, H. Subramoni, A. Moody, J. Perkins, M. Arnold, and D K Panda, Proceedings of the 21st
European MPI Users' Group Meeting (EuroMPI/Asia ’14)
Non-blocking PMI Extensions for Fast MPI Startup. S. Chakraborty, H. Subramoni, A. Moody, A. Venkatesh, J. Perkins, and D K Panda, 15th
IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid ’15)
SHMEMPMI – Shared Memory based PMI for Improved Performance and Scalability. S. Chakraborty, H. Subramoni, J. Perkins, and D K Panda,
16th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid ’16)
a
b
c d
e
MVAPICH User Group Meeting (MUG) 2017 15Network Based Computing Laboratory
Startup Performance on KNL + Omni-Path
0
5
10
15
20
25
64
128
256
512
1K
2K
4K
8K
16K
32K
64K
TimeTaken(Seconds)
Number of Processes
MPI_Init & Hello World - Oakforest-PACS
Hello World (MVAPICH2-2.3a)
MPI_Init (MVAPICH2-2.3a)
• MPI_Init takes 22 seconds on 229,376 processes on 3,584 KNL nodes (Stampede2 – Full scale)
• 8.8 times faster than Intel MPI at 128K processes (Courtesy: TACC)
• At 64K processes, MPI_Init and Hello World takes 5.8s and 21s respectively (Oakforest-PACS)
• All numbers reported with 64 processes per node
5.8s
21s
22s
New designs available since MVAPICH2-2.3a and as patch for SLURM-15.08.8 and SLURM-16.05.1
MVAPICH User Group Meeting (MUG) 2017 16Network Based Computing Laboratory
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
0.2
(4,28) (8,28) (16,28)
Latency(seconds)
(Number of Nodes, PPN)
MVAPICH2
MVAPICH2-SHArP
13%
Mesh Refinement Time of MiniAMR
Advanced Allreduce Collective Designs Using SHArP
12%
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
(4,28) (8,28) (16,28)
Latency(seconds)
(Number of Nodes, PPN)
MVAPICH2
MVAPICH2-SHArP
Avg DDOT Allreduce time of HPCG
M. Bayatpour, S. Chakraborty, H.
Subramoni, X. Lu, and D. K. Panda,
Scalable Reduction Collectives with Data
Partitioning-based Multi-Leader Design,
Supercomputing '17.
SHArP Support is available
since MVAPICH2 2.3a
Non-blocking SHArP Support
added in MVAPICH2 2.3b
MVAPICH User Group Meeting (MUG) 2017 17Network Based Computing Laboratory
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0 1 2 4 8 16 32 64 128 256 512 1K 2K 4K
Latency(us)
MVAPICH2
Intra-node Point-to-Point Performance on OpenPower
0
5000
10000
15000
20000
25000
30000
35000
Bandwidth(MB/s)
MVAPICH2
0
10000
20000
30000
40000
50000
60000
70000
BidirectionalBandwidth
MVAPICH2
Platform: OpenPOWER (Power8-ppc64le) processor with 160 cores dual-socket CPU. Each socket contains 80 cores.
0
10
20
30
40
50
60
70
80
8K 16K 32K 64K 128K 256K 512K 1M 2M
Latency(us)
MVAPICH2
Small Message Latency Large Message Latency
Bi-directional BandwidthBandwidth
MVAPICH User Group Meeting (MUG) 2017 18Network Based Computing Laboratory
0
0.5
1
1.5
2
2.5
3
3.5
0 1 2 4 8 16 32 64 256 512 1K 2K 4K
Latency(us)
MVAPICH2
Inter-node Point-to-Point Performance on OpenPower
0
2000
4000
6000
8000
10000
12000
14000
Bandwidth(MB/s)
MVAPICH2
0
5000
10000
15000
20000
25000
30000
BidirectionalBandwidth
MVAPICH2
Platform: Two nodes of OpenPOWER (Power8-ppc64le) CPU using Mellanox EDR (MT4115) HCA.
0
50
100
150
200
8K 16K 32K 64K 128K 256K 512K 1M 2M
Latency(us)
MVAPICH2
Small Message Latency Large Message Latency
Bi-directional BandwidthBandwidth
MVAPICH User Group Meeting (MUG) 2017 19Network Based Computing Laboratory
0
0.5
1
1.5
2
2.5
3
3.5
4
0 1 2 4 8 16 32 64 128 256 512 1K 2K 4K
Latency(us)
MVAPICH2
OpenMPI-v2.1.1
Intra-node Point-to-point Performance on ARMv8
0
500
1000
1500
2000
2500
3000
3500
4000
4500
1
2
4
8
16
32
64
128
256
512
1K
2K
4K
8K
32K
64K
128K
256K
512K
1M
2M
4M
Bandwidth(MB/s)
MVAPICH2
OpenMPI-v2.1.1
0
2000
4000
6000
8000
10000
1
2
4
8
16
32
64
128
256
512
1K
2K
4K
8K
16K
32K
64K
128K
256K
512K
1M
2M
BidirectionalBandwidth
MVAPICH2
OpenMPI-v2.1.1
Platform: ARMv8 (aarch64) MIPS processor with 96 cores dual-socket CPU. Each socket contains 48 cores.
0
100
200
300
400
500
600
700
800
8K 16K 32K 64K 128K 256K 512K 1M 2M
Latency(us)
MVAPICH2
OpenMPI-v2.1.1
Small Message Latency Large Message Latency
Bi-directional BandwidthBandwidth
Available in MVAPICH2 2.3b
0.92 us (OpenMPI)
0.74 us (MVAPICH2)
(19.5% improvement at 4-byte)
53% at 4K
28% at 2M
38% at 2M
1.85 X at 2M
** OpenMPI version 2.2.1 used with “––mca bta self,sm”
MVAPICH User Group Meeting (MUG) 2017 20Network Based Computing Laboratory
● Enhance existing support for MPI_T in MVAPICH2 to expose a richer set of
performance and control variables
● Get and display MPI Performance Variables (PVARs) made available by the runtime
in TAU
● Control the runtime’s behavior via MPI Control Variables (CVARs)
● Introduced support for new MPI_T based CVARs to MVAPICH2
○ MPIR_CVAR_MAX_INLINE_MSG_SZ, MPIR_CVAR_VBUF_POOL_SIZE,
MPIR_CVAR_VBUF_SECONDARY_POOL_SIZE
● TAU enhanced with support for setting MPI_T CVARs in a non-interactive mode for
uninstrumented applications
● S. Ramesh, A. Maheo, S. Shende, A. Malony, H. Subramoni, and D. K. Panda, MPI
Performance Engineering with the MPI Tool Interface: the Integration of MVAPICH
and TAU, EuroMPI/USA ‘17, Best Paper Finalist
● More details in Prof. Malony’s talk today and poster presentations
Performance Engineering Applications using MVAPICH2 and TAU
VBUF usage without CVAR based tuning as displayed by ParaProf VBUF usage with CVAR based tuning as displayed by ParaProf
MVAPICH User Group Meeting (MUG) 2017 21Network Based Computing Laboratory
• Dynamic and Adaptive Tag Matching
• Dynamic and Adaptive Communication Protocols
• Optimized Kernel-Assisted collectives
• Enhanced Collectives to exploit MCDRAM
MVAPICH2 Upcoming Features
MVAPICH User Group Meeting (MUG) 2017 22Network Based Computing Laboratory
Dynamic and Adaptive Tag Matching
Normalized Total Tag Matching Time at 512 Processes
Normalized to Default (Lower is Better)
Normalized Memory Overhead per Process at 512 Processes
Compared to Default (Lower is Better)
Adaptive and Dynamic Design for MPI Tag Matching; M. Bayatpour, H. Subramoni, S. Chakraborty, and D. K. Panda; IEEE Cluster 2016. [Best Paper Nominee]
Challenge
Tag matching is a significant
overhead for receivers
Existing Solutions are
- Static and do not adapt dynamically
to communication pattern
- Do not consider memory overhead
Solution
A new tag matching design
- Dynamically adapt to
communication patterns
- Use different strategies for different
ranks
- Decisions are based on the number
of request object that must be
traversed before hitting on the
required one
Results
Better performance than other state-
of-the art tag-matching schemes
Minimum memory consumption
Will be available in future MVAPICH2
releases
MVAPICH User Group Meeting (MUG) 2017 23Network Based Computing Laboratory
Dynamic and Adaptive MPI Point-to-point Communication Protocols
Process on Node 1 Process on Node 2
Eager Threshold for Example Communication Pattern with Different Designs
0 1 2 3
4 5 6 7
Default
16 KB 16 KB 16 KB 16 KB
0 1 2 3
4 5 6 7
Manually Tuned
128 KB 128 KB 128 KB 128 KB
0 1 2 3
4 5 6 7
Dynamic + Adaptive
32 KB 64 KB 128 KB 32 KB
H. Subramoni, S. Chakraborty, D. K. Panda, Designing Dynamic & Adaptive MPI Point-to-Point Communication Protocols for Efficient Overlap of Computation & Communication, ISC'17 - Best Paper
0
100
200
300
400
500
600
128 256 512 1K
WallClockTime(seconds)
Number of Processes
Execution Time of Amber
Default Threshold=17K Threshold=64K Threshold=128K Dynamic Threshold
0
1
2
3
4
5
6
7
8
9
128 256 512 1K
RelativeMemoryConsumption
Number of Processes
Relative Memory Consumption of Amber
Default Threshold=17K Threshold=64K Threshold=128K Dynamic Threshold
Default Poor overlap; Low memory requirement Low Performance; High Productivity
Manually Tuned Good overlap; High memory requirement High Performance; Low Productivity
Dynamic + Adaptive Good overlap; Optimal memory requirement High Performance; High Productivity
Process Pair Eager Threshold (KB)
0 – 4 32
1 – 5 64
2 – 6 128
3 – 7 32
Desired Eager Threshold
MVAPICH User Group Meeting (MUG) 2017 24Network Based Computing Laboratory
• Kernel-Assisted transfers (CMA, LiMIC,
KNEM) offers single-copy transfers for
large messages
• Scatter/Gather/Bcast etc. can be optimized
with direct Kernel-Assisted transfers
• Applicable to Broadwell and OpenPOWER
architectures as well
1.00
10.00
100.00
1000.00
10000.00
100000.00
1000000.00
1 Node, 64 Processes
MV2-2.3a IMPI-2017
OMPI-2.1 Native CMA
Optimized Kernel-Assisted Collectives for Multi-/Many-Core
TACC Stampede2: 68 core Intel Knights Landing (KNL) 7250 @ 1.4 GHz,
Intel Omni-Path HCA (100GBps), 16GB MCDRAM (Cache Mode)
1
10
100
1000
10000
100000
1000000
1K 4K 16K 64K 256K 1M 4M
2 Nodes, 128 Processes
MV2-2.3a IMPI-2017
OMPI-2.1 Native CMA
1
10
100
1000
10000
100000
1000000
1K 4K 16K 64K 256K 1M
4 Nodes, 256 Processes
MV2-2.3a IMPI-2017
OMPI-2.1 Native CMA
1
10
100
1000
10000
100000
1000000
1K 4K 16K 64K 256K 1M
8 Nodes, 512 Processes
MV2-2.3a IMPI-2017
OMPI-2.1 Native CMA
Performance of MPI_Gather
Message Size (Bytes)
Latency(us)Latency(us)
S. Chakraborty, H. Subramoni, and D. K. Panda,
Contention-Aware Kernel-Assisted MPI
Collectives for Multi/Many-core Systems,
IEEE Cluster ’17, Best Paper Finalist
Enhanced Designs will be available in
upcoming MVAPICH2 releases
MVAPICH User Group Meeting (MUG) 2017 25Network Based Computing Laboratory
Enhanced Collectives to Exploit MCDRAM
• New designs to exploit high concurrency and MCDRAM of KNL
• Significant improvements for large message sizes
• Benefits seen in varying message size as well as varying MPI processes
Very Large Message Bi-directional Bandwidth16-process Intra-node All-to-AllIntra-node Broadcast with 64MB Message
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
2M 4M 8M 16M 32M 64M
Bandwidth(MB/s)
Message size
MVAPICH2 MVAPICH2-Optimized
0
10000
20000
30000
40000
50000
60000
4 8 16
Latency(us)
No. of processes
MVAPICH2 MVAPICH2-Optimized
27%
0
50000
100000
150000
200000
250000
300000
1M 2M 4M 8M 16M 32M
Latency(us)
Message size
MVAPICH2 MVAPICH2-Optimized
17.2%
52%
MVAPICH User Group Meeting (MUG) 2017 26Network Based Computing Laboratory
Performance Benefits of Enhanced Designs
0
10000
20000
30000
40000
50000
60000
1M 2M 4M 8M 16M 32M 64M
Bandwidth(MB/s)
Message Size (bytes)
MV2_Opt_DRAM MV2_Opt_MCDRAM
MV2_Def_DRAM MV2_Def_MCDRAM
30%
0
50
100
150
200
250
300
4:268 4:204 4:64
Time(s)
MPI Processes : OMP Threads
MV2_Def_DRAM MV2_Opt_DRAM
15%
Multi-Bandwidth using 32 MPI processesCNTK: MLP Training Time using MNIST (BS:64)
• Benefits observed on training time of Multi-level Perceptron (MLP) model on MNIST dataset using
CNTK Deep Learning Framework
Enhanced Designs will be available in upcoming MVAPICH2 releases
MVAPICH User Group Meeting (MUG) 2017 27Network Based Computing Laboratory
MVAPICH2 Software Family
Requirements Library
MPI with IB, iWARP and RoCE MVAPICH2
Advanced MPI, OSU INAM, PGAS and MPI+PGAS with IB and RoCE MVAPICH2-X
MPI with IB & GPU MVAPICH2-GDR
MPI with IB & MIC MVAPICH2-MIC
HPC Cloud with MPI & IB MVAPICH2-Virt
Energy-aware MPI with IB, iWARP and RoCE MVAPICH2-EA
MPI Energy Monitoring Tool OEMT
InfiniBand Network Analysis and Monitoring OSU INAM
Microbenchmarks for Measuring MPI and PGAS Performance OMB
MVAPICH User Group Meeting (MUG) 2017 28Network Based Computing Laboratory
MVAPICH2-X for Hybrid MPI + PGAS Applications
• Current Model – Separate Runtimes for OpenSHMEM/UPC/UPC++/CAF and MPI
– Possible deadlock if both runtimes are not progressed
– Consumes more network resource
• Unified communication runtime for MPI, UPC, UPC++, OpenSHMEM, CAF
– Available with since 2012 (starting with MVAPICH2-X 1.9)
– http://mvapich.cse.ohio-state.edu
MVAPICH User Group Meeting (MUG) 2017 29Network Based Computing Laboratory
UPC++ Support in MVAPICH2-X
MPI + {UPC++} Application
GASNet Interfaces
UPC++
Interface
Network
Conduit (MPI)
MVAPICH2-X
Unified Communication
Runtime (UCR)
MPI + {UPC++} Application
UPC++
Runtime
MPI
Interfaces
• Full and native support for hybrid MPI + UPC++ applications
• Better performance compared to IBV and MPI conduits
• OSU Micro-benchmarks (OMB) support for UPC++
• Available since MVAPICH2-X (2.2rc1)
0
5000
10000
15000
20000
25000
30000
35000
40000
1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M
Time(us)
Message Size (bytes)
GASNet_MPI
GASNET_IBV
MV2-X
14x
Inter-node Broadcast (64 nodes 1:ppn)
MPI Runtime
More Details in Student Poster
Presentation
MVAPICH User Group Meeting (MUG) 2017 30Network Based Computing Laboratory
Application Level Performance with Graph500 and Sort
Graph500 Execution Time
J. Jose, S. Potluri, K. Tomko and D. K. Panda, Designing Scalable Graph500 Benchmark with Hybrid MPI+OpenSHMEM Programming Models,
International Supercomputing Conference (ISC’13), June 2013
J. Jose, K. Kandalla, M. Luo and D. K. Panda, Supporting Hybrid MPI and OpenSHMEM over InfiniBand: Design and Performance Evaluation,
Int'l Conference on Parallel Processing (ICPP '12), September 2012
0
5
10
15
20
25
30
35
4K 8K 16K
Time(s)
No. of Processes
MPI-Simple
MPI-CSC
MPI-CSR
Hybrid (MPI+OpenSHMEM)
13X
7.6X
• Performance of Hybrid (MPI+ OpenSHMEM) Graph500 Design
• 8,192 processes
- 2.4X improvement over MPI-CSR
- 7.6X improvement over MPI-Simple
• 16,384 processes
- 1.5X improvement over MPI-CSR
- 13X improvement over MPI-Simple
J. Jose, K. Kandalla, S. Potluri, J. Zhang and D. K. Panda, Optimizing Collective Communication in OpenSHMEM, Int'l Conference on Partitioned
Global Address Space Programming Models (PGAS '13), October 2013.
Sort Execution Time
0
500
1000
1500
2000
2500
3000
500GB-512 1TB-1K 2TB-2K 4TB-4K
Time(seconds)
Input Data - No. of Processes
MPI Hybrid
51%
• Performance of Hybrid (MPI+OpenSHMEM) Sort
Application
• 4,096 processes, 4 TB Input Size
- MPI – 2408 sec; 0.16 TB/min
- Hybrid – 1172 sec; 0.36 TB/min
- 51% improvement over MPI-design
MVAPICH User Group Meeting (MUG) 2017 31Network Based Computing Laboratory
• Updating to OpenSHMEM 1.3
• UPC to be updated to 2.42.2
• Optimized OpenSHMEM with AVX and MCDRAM Support
• Implicit On-Demand Paging (ODP) Support
MVAPICH2-X Upcoming Features
MVAPICH User Group Meeting (MUG) 2017 32Network Based Computing Laboratory
OpenSHMEM Application kernels
• AVX-512 vectorization showed up to 3X improvement over default
• KNL showed on-par performance as Broadwell on Node-by-node comparison
0.01
0.1
1
10
100
2 4 8 16 32 64 128
Time(s)
No. of processes
KNL (Default) KNL (AVX-512)
KNL (AVX-512+MCDRAM) Broadwell
Scalable Integer Sort Kernel (ISx)
0.01
0.1
1
10
100
2DHeat HeatImg MatMul DAXPY ISx(strong)
Time(s)
KNL (68) Broadwell (28)
Single KNL and Single Broadwell node
• AVX-512 vectorization and MCDRAM based optimizations for MVAPICH2-X
– Will be available in future MVAPICH2-X release
Exploiting and Evaluating OpenSHMEM on KNL Architecture J. Hashmi, M. Li, H. Subramoni, D. Panda Fourth Workshop on OpenSHMEM and Related Technologies, Aug 2017.
+30%
-5%
MVAPICH User Group Meeting (MUG) 2017 33Network Based Computing Laboratory
• Introduced by Mellanox to avoid pinning the pages of registered memory regions
• ODP-aware runtime could reduce the size of pin-down buffers while maintaining
performance
Implicit On-Demand Paging (ODP)
M. Li, X. Lu, H. Subramoni, and D. K. Panda, “Designing Registration Caching Free High-Performance MPI Library with Implicit
On-Demand Paging (ODP) of InfiniBand”, Under Review
0.1
1
10
100
CG EP FT IS MG LU SP AWP-ODC Graph500
ExecutionTime(s)
Applications (256 Processes)
Pin-down Explicit-ODP Implicit-ODP
MVAPICH User Group Meeting (MUG) 2017 34Network Based Computing Laboratory
MVAPICH2 Software Family
Requirements Library
MPI with IB, iWARP and RoCE MVAPICH2
Advanced MPI, OSU INAM, PGAS and MPI+PGAS with IB and RoCE MVAPICH2-X
MPI with IB & GPU MVAPICH2-GDR
MPI with IB & MIC MVAPICH2-MIC
HPC Cloud with MPI & IB MVAPICH2-Virt
Energy-aware MPI with IB, iWARP and RoCE MVAPICH2-EA
MPI Energy Monitoring Tool OEMT
InfiniBand Network Analysis and Monitoring OSU INAM
Microbenchmarks for Measuring MPI and PGAS Performance OMB
MVAPICH User Group Meeting (MUG) 2017 35Network Based Computing Laboratory
CUDA-Aware MPI: MVAPICH2-GDR 1.8-2.2 Releases
• Support for MPI communication from NVIDIA GPU device memory
• High performance RDMA-based inter-node point-to-point communication (GPU-GPU,
GPU-Host and Host-GPU)
• High performance intra-node point-to-point communication for multi-GPU
adapters/node (GPU-GPU, GPU-Host and Host-GPU)
• Taking advantage of CUDA IPC (available since CUDA 4.1) in intra-node communication
for multiple GPU adapters/node
• Optimized and tuned collectives for GPU device buffers
• MPI datatype support for point-to-point and collective communication from GPU
device buffers
MVAPICH User Group Meeting (MUG) 2017 36Network Based Computing Laboratory
0
500
1000
1500
2000
2500
3000
3500
1 4 16 64 256 1K 4K
MV2-GDR2.2
MV2-GDR2.0b
MV2 w/o GDR
GPU-GPU Internode Bi-Bandwidth
Message Size (bytes)
Bi-Bandwidth(MB/s)
0
5
10
15
20
25
30
0 2 8 32 128 512 2K
MV2-GDR2.2 MV2-GDR2.0b MV2 w/o GDR
GPU-GPU internode latency
Message Size (bytes)
Latency(us)
MVAPICH2-GDR-2.2
Intel Ivy Bridge (E5-2680 v2) node - 20 cores
NVIDIA Tesla K40c GPU
Mellanox Connect-X4 EDR HCA
CUDA 8.0
Mellanox OFED 3.0 with GPU-Direct-RDMA
10x
2X
11x
Performance of MVAPICH2-GPU with GPU-Direct RDMA (GDR)
2.18us
0
500
1000
1500
2000
2500
3000
1 4 16 64 256 1K 4K
MV2-GDR2.2
MV2-GDR2.0b
MV2 w/o GDR
GPU-GPU Internode Bandwidth
Message Size (bytes)
Bandwidth(MB/s)
11X
2X
3X
MVAPICH User Group Meeting (MUG) 2017 37Network Based Computing Laboratory
• Platform: Wilkes (Intel Ivy Bridge + NVIDIA Tesla K20c + Mellanox Connect-IB)
• HoomdBlue Version 1.0.5
• GDRCOPY enabled: MV2_USE_CUDA=1 MV2_IBA_HCA=mlx5_0 MV2_IBA_EAGER_THRESHOLD=32768
MV2_VBUF_TOTAL_SIZE=32768 MV2_USE_GPUDIRECT_LOOPBACK_LIMIT=32768
MV2_USE_GPUDIRECT_GDRCOPY=1 MV2_USE_GPUDIRECT_GDRCOPY_LIMIT=16384
Application-Level Evaluation (HOOMD-blue)
0
500
1000
1500
2000
2500
4 8 16 32
AverageTimeStepspersecond(TPS)
Number of Processes
MV2 MV2+GDR
0
500
1000
1500
2000
2500
3000
3500
4 8 16 32
AverageTimeStepspersecond
(TPS)
Number of Processes
64K Particles 256K Particles
2X
2X
MVAPICH User Group Meeting (MUG) 2017 38Network Based Computing Laboratory
Application-Level Evaluation (Cosmo) and Weather Forecasting in Switzerland
0
0.2
0.4
0.6
0.8
1
1.2
16 32 64 96NormalizedExecutionTime
Number of GPUs
CSCS GPU cluster
Default Callback-based Event-based
0
0.2
0.4
0.6
0.8
1
1.2
4 8 16 32
NormalizedExecutionTime
Number of GPUs
Wilkes GPU Cluster
Default Callback-based Event-based
• 2X improvement on 32 GPUs nodes
• 30% improvement on 96 GPU nodes (8 GPUs/node)
C. Chu, K. Hamidouche, A. Venkatesh, D. Banerjee , H. Subramoni, and D. K. Panda, Exploiting Maximal Overlap for Non-Contiguous Data
Movement Processing on Modern GPU-enabled Systems, IPDPS’16
On-going collaboration with CSCS and MeteoSwiss (Switzerland) in co-designing MV2-GDR and Cosmo Application
Cosmo model: http://www2.cosmo-model.org/content
/tasks/operational/meteoSwiss/
MVAPICH User Group Meeting (MUG) 2017 39Network Based Computing Laboratory
Enhanced Support for GPU Managed Memory
● CUDA Managed => no memory pin down
● No IPC support for intranode communication
● No GDR support for Internode communication
● Significant productivity benefits due to abstraction of explicit
allocation and cudaMemcpy()
● Initial and basic support in MVAPICH2-GDR
● For both intra- and inter-nodes use “pipeline through”
host memory
● Enhance intranode managed memory to use IPC
● Double buffering pair-wise IPC-based scheme
● Brings IPC performance to Managed memory
● High performance and high productivity
● 2.5 X improvement in bandwidth
● OMB extended to evaluate the performance of point-to-point
and collective communications using managed buffers
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
32K 128K 512K 2M
Enhanced
MV2-GDR 2.2b
Message Size (bytes)
Bandwidth(MB/s)
2.5X
D. S. Banerjee, K Hamidouche, and D. K Panda, Designing High Performance
Communication Runtime for GPUManaged Memory: Early Experiences, GPGPU-9
Workshop, held in conjunction with PPoPP ‘16
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
1 2 4 8 16 32 64 128 256 1K 4K 8K 16K
HaloExchangeTime(ms)
Total Dimension Size (Bytes)
2D Stencil Performance for Halowidth=1
Device
Managed
MVAPICH User Group Meeting (MUG) 2017 40Network Based Computing Laboratory
• Optimized Designs
• Support for OpenPower+NVLINK Platforms
• Optimized Support for Deep Learning (Caffe and CNTK)
• Support for Streaming Applications
• GPU Direct Async (GDS) Support
• CUDA-aware OpenSHMEM
MVAPICH2-GDR Upcoming Features
MVAPICH User Group Meeting (MUG) 2017 41Network Based Computing Laboratory
0
1000
2000
3000
4000
5000
6000
1 2 4 8 16 32 64 128 256 512 1K 2K 4K
Bandwidth(MB/s)
Message Size (Bytes)
GPU-GPU Inter-node Bi-Bandwidth
MV2-(NO-GDR) MV2-GDR-2.3a
0
500
1000
1500
2000
2500
3000
3500
1 2 4 8 16 32 64 128 256 512 1K 2K 4K
Bandwidth(MB/s)
Message Size (Bytes)
GPU-GPU Inter-node Bandwidth
MV2-(NO-GDR) MV2-GDR-2.3a
0
5
10
15
20
25
30
0 1 2 4 8 16 32 64 128 256 512 1K 2K 4K 8K
Latency(us)
Message Size (Bytes)
GPU-GPU Inter-node Latency
MV2-(NO-GDR) MV2-GDR-2.3a
MVAPICH2-GDR-2.3a
Intel Haswell (E5-2687W) node - 20 cores
NVIDIA Pascal P100 GPU
Mellanox Connect-X5 EDR HCA
CUDA 8.0
Mellanox OFED 4.0 with GPU-Direct-RDMA
10x
9x
Performance of MVAPICH2-GPU with GPU-Direct RDMA (GDR)
1.91us
11X
MVAPICH User Group Meeting (MUG) 2017 42Network Based Computing Laboratory
0
5
10
15
20
1 2 4 8 16 32 64 128 256 512 1K 2K 4K 8K
Latency(us)
Message Size (Bytes)
INTRA-NODE LATENCY (SMALL)
INTRA-SOCKET(NVLINK) INTER-SOCKET
MVAPICH2-GDR: Performance on OpenPOWER (NVLink + Pascal)
0
5
10
15
20
25
30
35
1 4 16 64 256 1K 4K 16K 64K 256K 1M 4M
Bandwidth(GB/sec)
Message Size (Bytes)
INTRA-NODE BANDWIDTH
INTRA-SOCKET(NVLINK) INTER-SOCKET
0
1
2
3
4
5
6
7
1 4 16 64 256 1K 4K 16K 64K 256K 1M 4M
Bandwidth(GB/sec)
Message Size (Bytes)
INTER-NODE BANDWIDTH
Platform: OpenPOWER (ppc64le) nodes equipped with a dual-socket CPU, 4 Pascal P100-SXM GPUs, and 4X-FDR InfiniBand Inter-connect
0
100
200
300
400
500
16K 32K 64K 128K 256K 512K 1M 2M 4M
Latency(us)
Message Size (Bytes)
INTRA-NODE LATENCY (LARGE)
INTRA-SOCKET(NVLINK) INTER-SOCKET
0
5
10
15
20
25
30
35
1 2 4 8 16 32 64 128 256 512 1K 2K 4K 8K
Latency(us)
Message Size (Bytes)
INTER-NODE LATENCY (SMALL)
0
100
200
300
400
500
600
700
800
900
16K 32K 64K 128K 256K 512K 1M 2M 4M
Latency(us)
Message Size (Bytes)
INTER-NODE LATENCY (LARGE)
Intra-node Bandwidth: 32 GB/sec (NVLINK)Intra-node Latency: 16.8 us (without GPUDirectRDMA)
Inter-node Latency: 22 us (without GPUDirectRDMA) Inter-node Bandwidth: 6 GB/sec (FDR)
Will be available in upcoming MVAPICH2-GDR
MVAPICH User Group Meeting (MUG) 2017 43Network Based Computing Laboratory
• NCCL has some limitations
– Only works for a single node, thus, no scale-out on multiple
nodes
– Degradation across IOH (socket) for scale-up (within a node)
• We propose optimized MPI_Bcast
– Communication of very large GPU buffers (order of
megabytes)
– Scale-out on large number of dense multi-GPU nodes
• Hierarchical Communication that efficiently exploits:
– CUDA-Aware MPI_Bcast in MV2-GDR
– NCCL Broadcast primitive
Efficient Broadcast for Deep Learning: MVAPICH2-GDR and NCCL
1
10
100
1000
10000
100000
1
4
16
64
256
1K
4K
16K
64K
256K
1M
4M
16M
64M
256M
Latency(us)
LogScale
Message Size
MV2-GDR MV2-GDR-Opt
100x
0
5
10
15
20
25
30
2 4 8 16 32 64
Time(seconds)
Number of GPUs
MV2-GDR MV2-GDR-Opt
Performance Benefits: Microsoft CNTK DL framework
(25% avg. improvement )
Performance Benefits: OSU Micro-benchmarks
Efficient Large Message Broadcast using NCCL and CUDA-Aware MPI for Deep Learning,
A. Awan , K. Hamidouche , A. Venkatesh , and D. K. Panda,
The 23rd European MPI Users' Group Meeting (EuroMPI 16), Sep 2016 [Best Paper Runner-Up]
MVAPICH User Group Meeting (MUG) 2017 44Network Based Computing Laboratory
0
50
100
150
200
250
2 4 8 16 32 64 128
Latency(ms)
Message Size (MB)
Reduce – 192 GPUs
Large Message Optimized Collectives for Deep Learning
0
50
100
150
200
128 160 192
Latency(ms)
No. of GPUs
Reduce – 64 MB
0
50
100
150
200
250
300
16 32 64
Latency(ms)
No. of GPUs
Allreduce - 128 MB
0
20
40
60
80
2 4 8 16 32 64 128
Latency(ms)
Message Size (MB)
Bcast – 64 GPUs
0
20
40
60
80
16 32 64
Latency(ms)
No. of GPUs
Bcast 128 MB
• MV2-GDR provides
optimized collectives for
large message sizes
• Optimized Reduce,
Allreduce, and Bcast
• Good scaling with large
number of GPUs
• Available in MVAPICH2-GDR
2.2GA
0
50
100
150
200
250
300
2 4 8 16 32 64 128
Latency(ms)
Message Size (MB)
Allreduce – 64 GPUs
MVAPICH User Group Meeting (MUG) 2017 45Network Based Computing Laboratory
• Caffe : A flexible and layered Deep Learning framework.
• Benefits and Weaknesses
– Multi-GPU Training within a single node
– Performance degradation for GPUs across different sockets
– Limited Scale-out
• OSU-Caffe: MPI-based Parallel Training
– Enable Scale-up (within a node) and Scale-out (across multi-
GPU nodes)
– Scale-out on 64 GPUs for training CIFAR-10 network on CIFAR-
10 dataset
– Scale-out on 128 GPUs for training GoogLeNet network on
ImageNet dataset
OSU-Caffe: Scalable Deep Learning
0
50
100
150
200
250
8 16 32 64 128
TrainingTime(seconds)
No. of GPUs
GoogLeNet (ImageNet) on 128 GPUs
Caffe OSU-Caffe (1024) OSU-Caffe (2048)
Invalid use case
OSU-Caffe publicly available from
http://hidl.cse.ohio-state.edu/
More Details in Poster
MVAPICH User Group Meeting (MUG) 2017 46Network Based Computing Laboratory
• Combining MCAST+GDR hardware features for heterogeneous
configurations:
– Source on the Host and destination on Device
– SL design: Scatter at destination
• Source: Data and Control on Host
• Destinations: Data on Device and Control on Host
– Combines IB MCAST and GDR features at receivers
– CUDA IPC-based topology-aware intra-node broadcast
– Minimize use of PCIe resources (Maximizing availability of PCIe Host-
Device Resources)
Streaming Support (Combining GDR and IB-Mcast)
Node N
IB
HCA
IB
HCA
CPU
GPU
Source
IB
Switch
GPU
CPU
Node 1
Multicast steps
C Data
C
IB SL step
Data
IB
HCA
GPU
CPU
Data
C
C.-H. Chu, K. Hamidouche, H. Subramoni, A. Venkatesh, B. Elton, and D. K. Panda.
“Designing High Performance Heterogeneous Broadcast for Streaming Applications on GPU Clusters, “ SBAC-PAD’16, Oct 2016.
MVAPICH User Group Meeting (MUG) 2017 47Network Based Computing Laboratory
• Optimizing MCAST+GDR Broadcast for deep learning:
– Source and destination buffers are on GPU Device
• Typically very large messages (>1MB)
– Pipelining data from Device to Host
• Avoid GDR read limit
• Leverage high-performance SL design
– Combines IB MCAST and GDR features
– Minimize use of PCIe resources on the receiver side
• Maximizing availability of PCIe Host-Device Resources
Exploiting GDR+IB-Mcast Design for Deep Learning Applications
IB
HCA
CPU
GPU
Source
IB
Switch
Header
Data
IB
HCA
CPU
GPU
Node 1
Header
Data
IB
HCA
CPU
GPU
Node N
Header
Data
1. Pipeline Data movement
2. IB Gather
3. IB Hardware Multicast
4. IB Scatter + GDR Write
Data
Ching-Hsiang Chu, Xiaoyi Lu, Ammar A. Awan, Hari Subramoni, Jahanzeb Hashmi, Bracy Elton, and Dhabaleswar
K. Panda, "Efficient and Scalable Multi-Source Streaming Broadcast on GPU Clusters for Deep Learning , ”
ICPP’17.
MVAPICH User Group Meeting (MUG) 2017 48Network Based Computing Laboratory
• @ RI2 cluster, 16 GPUs, 1 GPU/node
– Microsoft Cognitive Toolkit (CNTK) [https://github.com/Microsoft/CNTK]
Application Evaluation: Deep Learning Frameworks
0
100
200
300
8 16
TrainingTime(s)
Number of GPU nodes
AlexNet model
MV2-GDR-Knomial MV2-GDR-Ring MCAST-GDR-Opt
0
1000
2000
3000
8 16
TrainingTime(s)
Number of GPU nodes
VGG model
MV2-GDR-Knomial MV2-GDR-Ring MCAST-GDR-Opt
Lower is better
15% 24% 6%
15%
Ching-Hsiang Chu, Xiaoyi Lu, Ammar A. Awan, Hari Subramoni, Jahanzeb Hashmi, Bracy Elton, and Dhabaleswar K. Panda, "Efficient and Scalable
Multi-Source Streaming Broadcast on GPU Clusters for Deep Learning , " ICPP’17.
• Reduces up to 24% and 15% of latency for AlexNet and VGG models
• Higher improvement can be observed for larger system sizes
More Details in Poster
MVAPICH User Group Meeting (MUG) 2017 49Network Based Computing Laboratory
Latency oriented: Send+kernel and Recv+kernel
MVAPICH2-GDS: Preliminary Results
0
5
10
15
20
25
30
8 32 128 512
Default Enhanced-GDS
Message Size (bytes)
Latency(us)
0
5
10
15
20
25
30
35
16 64 256 1024
Default Enhanced-GDS
Message Size (bytes)
Latency(us)
Throughput Oriented: back-to-back
• Latency Oriented: Able to hide the kernel launch overhead
– 25% improvement at 256 Bytes compared to default behavior
• Throughput Oriented: Asynchronously to offload queue the Communication and computation tasks
– 14% improvement at 1KB message size
Intel Sandy Bridge, NVIDIA K20 and Mellanox FDR HCA
Will be available in a public release soon
MVAPICH User Group Meeting (MUG) 2017 50Network Based Computing Laboratory
0
0.02
0.04
0.06
0.08
0.1
8 16 32 64
Executiontime(sec)
Number of GPU Nodes
Host-Pipeline Enhanced-GDR
- Platform: Wilkes (Intel Ivy Bridge + NVIDIA Tesla K20c +
Mellanox Connect-IB)
- New designs achieve 20% and 19% improvements on 32
and 64 GPU nodes
CUDA-Aware OpenSHMEM: Evaluation with GPULBM and 2DStencil
19%
0
50
100
150
200
8 16 32 64
EvolutionTime(msec)
Number of GPU Nodes
Weak Scaling
Host-Pipeline Enhanced-GDR
GPULBM: 64x64x64 2DStencil 2Kx2K
• Redesign the application
• CUDA-Aware MPI : Send/Recv => hybrid CUDA-
Aware MPI+OpenSHMEM
• cudaMalloc =>shmalloc(size,1);
• MPI_Send/recv => shmem_put + fence
• 53% and 45%
• Degradation is due to small input size
• Will be available in future MVAPICH2-GDR releases
45 %
1. K. Hamidouche, A. Venkatesh, A. Awan, H. Subramoni, C. Ching and D. K. Panda, Exploiting
GPUDirect RDMA in Designing High Performance OpenSHMEM for GPU Clusters. IEEE Cluster
2015.
2. K. Hamidouche, A. Venkatesh, A. Awan, H. Subramoni, C. Ching and D. K. Panda, CUDA-Aware
OpenSHMEM: Extensions and Designs for High Performance OpenSHMEM on GPU Clusters.
PARCO, October 2016.
MVAPICH User Group Meeting (MUG) 2017 51Network Based Computing Laboratory
MVAPICH2 Software Family
Requirements Library
MPI with IB, iWARP and RoCE MVAPICH2
Advanced MPI, OSU INAM, PGAS and MPI+PGAS with IB and RoCE MVAPICH2-X
MPI with IB & GPU MVAPICH2-GDR
MPI with IB & MIC MVAPICH2-MIC
HPC Cloud with MPI & IB MVAPICH2-Virt
Energy-aware MPI with IB, iWARP and RoCE MVAPICH2-EA
MPI Energy Monitoring Tool OEMT
InfiniBand Network Analysis and Monitoring OSU INAM
Microbenchmarks for Measuring MPI and PGAS Performance OMB
MVAPICH User Group Meeting (MUG) 2017 52Network Based Computing Laboratory
• Virtualization has many benefits
– Fault-tolerance
– Job migration
– Compaction
• Have not been very popular in HPC due to overhead associated with Virtualization
• New SR-IOV (Single Root – IO Virtualization) support available with Mellanox
InfiniBand adapters changes the field
• Enhanced MVAPICH2 support for SR-IOV
• MVAPICH2-Virt 2.2 supports:
– Efficient MPI communication over SR-IOV enabled InfiniBand networks
– High-performance and locality-aware MPI communication for VMs and containers
– Automatic communication channel selection for VMs (SR-IOV, IVSHMEM, and CMA/LiMIC2)
and containers (IPC-SHM, CMA, and HCA)
– OpenStack, Docker, and Singularity
Can HPC and Virtualization be Combined?
J. Zhang, X. Lu, J. Jose, R. Shi and D. K. Panda, Can Inter-VM Shmem Benefit MPI Applications on SR-IOV based Virtualized InfiniBand Clusters? EuroPar'14
J. Zhang, X. Lu, J. Jose, M. Li, R. Shi and D.K. Panda, High Performance MPI Libray over SR-IOV enabled InfiniBand Clusters, HiPC’14
J. Zhang, X .Lu, M. Arnold and D. K. Panda, MVAPICH2 Over OpenStack with SR-IOV: an Efficient Approach to build HPC Clouds, CCGrid’15
MVAPICH User Group Meeting (MUG) 2017 53Network Based Computing Laboratory
0
50
100
150
200
250
300
350
400
milc leslie3d pop2 GAPgeofem zeusmp2 lu
ExecutionTime(s)
MV2-SR-IOV-Def
MV2-SR-IOV-Opt
MV2-Native
1%
9.5%
0
1000
2000
3000
4000
5000
6000
22,20 24,10 24,16 24,20 26,10 26,16
ExecutionTime(ms)
Problem Size (Scale, Edgefactor)
MV2-SR-IOV-Def
MV2-SR-IOV-Opt
MV2-Native
2%
• 32 VMs, 6 Core/VM
• Compared to Native, 2-5% overhead for Graph500 with 128 Procs
• Compared to Native, 1-9.5% overhead for SPEC MPI2007 with 128 Procs
Application-Level Performance on Chameleon (SR-IOV Support)
SPEC MPI2007Graph500
5%
MVAPICH User Group Meeting (MUG) 2017 54Network Based Computing Laboratory
0
500
1000
1500
2000
2500
3000
3500
4000
22, 16 22, 20 24, 16 24, 20 26, 16 26, 20
ExecutionTime(ms)
Problem Size (Scale, Edgefactor)
Container-Def
Container-Opt
Native
0
10
20
30
40
50
60
70
80
90
100
MG.D FT.D EP.D LU.D CG.D
ExecutionTime(s)
Container-Def
Container-Opt
Native
• 64 Containers across 16 nodes, pining 4 Cores per Container
• Compared to Container-Def, up to 11% and 16% of execution time reduction for NAS and Graph 500
• Compared to Native, less than 9 % and 4% overhead for NAS and Graph 500
Application-Level Performance on Chameleon (Containers Support)
Graph 500NAS
11%
16%
MVAPICH User Group Meeting (MUG) 2017 55Network Based Computing Laboratory
0
500
1000
1500
2000
2500
3000
22,16 22,20 24,16 24,20 26,16 26,20
BFSExecutionTime(ms)
Problem Size (Scale, Edgefactor)
Graph500
Singularity
Native
0
50
100
150
200
250
300
CG EP FT IS LU MG
ExecutionTime(s)
NPB Class D
Singularity
Native
• 512 Processes across 32 nodes
• Less than 7% and 6% overhead for NPB and Graph500, respectively
Application-Level Performance on Singularity with MVAPICH2
7%
6%
More Details in Tomorrow’s
Tutorial/Demo Session
MVAPICH User Group Meeting (MUG) 2017 56Network Based Computing Laboratory
• Support for SR-IOV Enabled VM Migration
• SR-IOV and IVSHMEM Support in SLURM
• Support for Microsoft Azure Platform
MVAPICH2-Virt Upcoming Features
MVAPICH User Group Meeting (MUG) 2017 57Network Based Computing Laboratory
High Performance SR-IOV enabled VM Migration Support in
MVAPICH2
J. Zhang, X. Lu, D. K. Panda. High-Performance Virtual Machine Migration Framework for MPI Applications on SR-IOV
enabled InfiniBand Clusters. IPDPS, 2017
• Migration with SR-IOV device has to handle the
challenges of detachment/re-attachment of
virtualized IB device and IB connection
• Consist of SR-IOV enabled IB Cluster and External
Migration Controller
• Multiple parallel libraries to notify MPI
applications during migration (detach/reattach SR-
IOV/IVShmem, migrate VMs, migration status)
• Handle the IB connection suspending and
reactivating
• Propose Progress engine (PE) and migration
thread based (MT) design to optimize VM
migration and MPI application performance
MVAPICH User Group Meeting (MUG) 2017 58Network Based Computing Laboratory
Graph500
• 8 VMs in total and 1 VM carries out migration during application running
• Compared with NM, MT- worst and PE incur some overhead compared with NM
• MT-typical allows migration to be completely overlapped with computation
Performance Evaluation of VM Migration Framework
NAS
0
20
40
60
80
100
120
LU.C EP.C IS.C MG.C CG.C
ExecutionTime(s)
PE
MT-worst
MT-typical
NM
0.0
0.1
0.1
0.2
0.2
0.3
0.3
0.4
0.4
20,10 20,16 20,20 22,10
ExecutionTime(s)
PE MT-worst
MT-typical NM
MVAPICH User Group Meeting (MUG) 2017 59Network Based Computing Laboratory
• Requirement of managing and isolating virtualized resources of SR-IOV and
IVSHMEM
• Such kind of management and isolation is hard to be achieved by MPI library
alone, but much easier with SLURM
• Efficient running MPI applications on HPC Clouds needs SLURM to support
managing SR-IOV and IVSHMEM
– Can critical HPC resources be efficiently shared among users by extending SLURM with
support for SR-IOV and IVSHMEM based virtualization?
– Can SR-IOV and IVSHMEM enabled SLURM and MPI library provide bare-metal performance
for end applications on HPC Clouds?
SR-IOV and IVSHMEM in SLURM
J. Zhang, X. Lu, S. Chakraborty, and D. K. Panda. SLURM-V: Extending SLURM for Building Efficient HPC Cloud with
SR-IOV and IVShmem. The 22nd International European Conference on Parallel Processing (Euro-Par), 2016.
MVAPICH User Group Meeting (MUG) 2017 60Network Based Computing Laboratory
MVAPICH2 Software Family
Requirements Library
MPI with IB, iWARP and RoCE MVAPICH2
Advanced MPI, OSU INAM, PGAS and MPI+PGAS with IB and RoCE MVAPICH2-X
MPI with IB & GPU MVAPICH2-GDR
MPI with IB & MIC MVAPICH2-MIC
HPC Cloud with MPI & IB MVAPICH2-Virt
Energy-aware MPI with IB, iWARP and RoCE MVAPICH2-EA
MPI Energy Monitoring Tool OEMT
InfiniBand Network Analysis and Monitoring OSU INAM
Microbenchmarks for Measuring MPI and PGAS Performance OMB
MVAPICH User Group Meeting (MUG) 2017 61Network Based Computing Laboratory
• MVAPICH2-EA 2.1 (Energy-Aware)
• A white-box approach
• New Energy-Efficient communication protocols for pt-pt and collective operations
• Intelligently apply the appropriate Energy saving techniques
• Application oblivious energy saving
• OEMT
• A library utility to measure energy consumption for MPI applications
• Works with all MPI runtimes
• PRELOAD option for precompiled applications
• Does not require ROOT permission:
• A safe kernel module to read only a subset of MSRs
Energy-Aware MVAPICH2 & OSU Energy Management Tool (OEMT)
MVAPICH User Group Meeting (MUG) 2017 62Network Based Computing Laboratory
• An energy efficient runtime that
provides energy savings without
application knowledge
• Uses automatically and
transparently the best energy
lever
• Provides guarantees on
maximum degradation with 5-
41% savings at <= 5%
degradation
• Pessimistic MPI applies energy
reduction lever to each MPI call
MVAPICH2-EA: Application Oblivious Energy-Aware-MPI (EAM)
A Case for Application-Oblivious Energy-Efficient MPI Runtime A. Venkatesh, A. Vishnu, K. Hamidouche, N. Tallent, D.
K. Panda, D. Kerbyson, and A. Hoise, Supercomputing ‘15, Nov 2015 [Best Student Paper Finalist]
1
MVAPICH User Group Meeting (MUG) 2017 63Network Based Computing Laboratory
MPI-3 RMA Energy Savings with Proxy-Applications
0
10
20
30
40
50
60
512 256 128
Seconds
#Processes
Graph500 (Execution Time)
optimistic
pessimistic
EAM-RMA
0
50000
100000
150000
200000
250000
300000
350000
512 256 128
Joules
#Processes
Graph500 (Energy Usage)
optimistic pessimistic
EAM-RMA
46%
• MPI_Win_fence dominates application execution time in graph500
• Between 128 and 512 processes, EAM-RMA yields between 31% and 46% savings with no
degradation in execution time in comparison with the default optimistic MPI runtime
• MPI-3 RMA Energy-efficient support will be available in upcoming MVAPICH2-EA release
MVAPICH User Group Meeting (MUG) 2017 64Network Based Computing Laboratory
MVAPICH2 Software Family
Requirements Library
MPI with IB, iWARP and RoCE MVAPICH2
Advanced MPI, OSU INAM, PGAS and MPI+PGAS with IB and RoCE MVAPICH2-X
MPI with IB & GPU MVAPICH2-GDR
MPI with IB & MIC MVAPICH2-MIC
HPC Cloud with MPI & IB MVAPICH2-Virt
Energy-aware MPI with IB, iWARP and RoCE MVAPICH2-EA
MPI Energy Monitoring Tool OEMT
InfiniBand Network Analysis and Monitoring OSU INAM
Microbenchmarks for Measuring MPI and PGAS Performance OMB
MVAPICH User Group Meeting (MUG) 2017 65Network Based Computing Laboratory
Overview of OSU INAM
• A network monitoring and analysis tool that is capable of analyzing traffic on the InfiniBand network with inputs from the MPI
runtime
– http://mvapich.cse.ohio-state.edu/tools/osu-inam/
• Monitors IB clusters in real time by querying various subnet management entities and gathering input from the MPI runtimes
• OSU INAM v0.9.1 released on 05/13/16
• Significant enhancements to user interface to enable scaling to clusters with thousands of nodes
• Improve database insert times by using 'bulk inserts‘
• Capability to look up list of nodes communicating through a network link
• Capability to classify data flowing over a network link at job level and process level granularity in conjunction with MVAPICH2-X
2.2rc1
• “Best practices “ guidelines for deploying OSU INAM on different clusters
• Capability to analyze and profile node-level, job-level and process-level activities for MPI communication
– Point-to-Point, Collectives and RMA
• Ability to filter data based on type of counters using “drop down” list
• Remotely monitor various metrics of MPI processes at user specified granularity
• "Job Page" to display jobs in ascending/descending order of various performance metrics in conjunction with MVAPICH2-X
• Visualize the data transfer happening in a “live” or “historical” fashion for entire network, job or set of nodes
MVAPICH User Group Meeting (MUG) 2017 66Network Based Computing Laboratory
OSU INAM Features
• Show network topology of large clusters
• Visualize traffic pattern on different links
• Quickly identify congested links/links in error state
• See the history unfold – play back historical state of the network
Comet@SDSC --- Clustered View
(1,879 nodes, 212 switches, 4,377 network links)
Finding Routes Between Nodes
MVAPICH User Group Meeting (MUG) 2017 67Network Based Computing Laboratory
OSU INAM Features (Cont.)
Visualizing a Job (5 Nodes)
• Job level view
• Show different network metrics (load, error, etc.) for any live job
• Play back historical data for completed jobs to identify bottlenecks
• Node level view - details per process or per node
• CPU utilization for each rank/node
• Bytes sent/received for MPI operations (pt-to-pt, collective, RMA)
• Network metrics (e.g. XmitDiscard, RcvError) per rank/node
Estimated Process Level Link Utilization
• Estimated Link Utilization view
• Classify data flowing over a network link at
different granularity in conjunction with
MVAPICH2-X 2.2rc1
• Job level and
• Process level
More Details in Tutorial/Demo
Session Tomorrow
MVAPICH User Group Meeting (MUG) 2017 68Network Based Computing Laboratory
• Available since 2004
• Suite of microbenchmarks to study communication performance of various programming models
• Benchmarks available for the following programming models
– Message Passing Interface (MPI)
– Partitioned Global Address Space (PGAS)
• Unified Parallel C (UPC)
• Unified Parallel C++ (UPC++)
• OpenSHMEM
• Benchmarks available for multiple accelerator based architectures
– Compute Unified Device Architecture (CUDA)
– OpenACC Application Program Interface
• Part of various national resource procurement suites like NERSC-8 / Trinity Benchmarks
• Continuing to add support for newer primitives and features
• Please visit the following link for more information
– http://mvapich.cse.ohio-state.edu/benchmarks/
OSU Microbenchmarks
MVAPICH User Group Meeting (MUG) 2017 69Network Based Computing Laboratory
• MPI runtime has many parameters
• Tuning a set of parameters can help you to extract higher performance
• Compiled a list of such contributions through the MVAPICH Website
– http://mvapich.cse.ohio-state.edu/best_practices/
• Initial list of applications
– Amber
– HoomDBlue
– HPCG
– Lulesh
– MILC
– Neuron
– SMG2000
• Soliciting additional contributions, send your results to mvapich-help at cse.ohio-state.edu.
• We will link these results with credits to you.
Applications-Level Tuning: Compilation of Best Practices
MVAPICH User Group Meeting (MUG) 2017 70Network Based Computing Laboratory
MVAPICH2 – Plans for Exascale
• Performance and Memory scalability toward 1-10M cores
• Hybrid programming (MPI + OpenSHMEM, MPI + UPC, MPI + CAF …)
• MPI + Task*
• Enhanced Optimization for GPU Support and Accelerators
• Taking advantage of advanced features of Mellanox InfiniBand
• Tag Matching*
• Adapter Memory*
• Enhanced communication schemes for upcoming architectures
• Knights Landing with MCDRAM*
• NVLINK*
• CAPI*
• Extended topology-aware collectives
• Extended Energy-aware designs and Virtualization Support
• Extended Support for MPI Tools Interface (as in MPI 3.0)
• Extended FT support
• Support for * features will be available in future MVAPICH2 Releases
MVAPICH User Group Meeting (MUG) 2017 71Network Based Computing Laboratory
Thank You!
Network-Based Computing Laboratory
http://nowlab.cse.ohio-state.edu/
The MVAPICH2 Project
http://mvapich.cse.ohio-state.edu/

More Related Content

What's hot

Accelerating Hadoop, Spark, and Memcached with HPC Technologies
Accelerating Hadoop, Spark, and Memcached with HPC TechnologiesAccelerating Hadoop, Spark, and Memcached with HPC Technologies
Accelerating Hadoop, Spark, and Memcached with HPC Technologiesinside-BigData.com
 
Accelerating apache spark with rdma
Accelerating apache spark with rdmaAccelerating apache spark with rdma
Accelerating apache spark with rdmainside-BigData.com
 
Sierra Supercomputer: Science Unleashed
Sierra Supercomputer: Science UnleashedSierra Supercomputer: Science Unleashed
Sierra Supercomputer: Science Unleashedinside-BigData.com
 
GEN-Z: An Overview and Use Cases
GEN-Z: An Overview and Use CasesGEN-Z: An Overview and Use Cases
GEN-Z: An Overview and Use Casesinside-BigData.com
 
The HPE Machine and Gen-Z - BUD17-503
The HPE Machine and Gen-Z - BUD17-503The HPE Machine and Gen-Z - BUD17-503
The HPE Machine and Gen-Z - BUD17-503Linaro
 
Deep Learning: Convergence of HPC and Hyperscale
Deep Learning: Convergence of HPC and HyperscaleDeep Learning: Convergence of HPC and Hyperscale
Deep Learning: Convergence of HPC and Hyperscaleinside-BigData.com
 
High Performance Interconnects: Landscape, Assessments & Rankings
High Performance Interconnects: Landscape, Assessments & RankingsHigh Performance Interconnects: Landscape, Assessments & Rankings
High Performance Interconnects: Landscape, Assessments & Rankingsinside-BigData.com
 
Welcome to the 2016 HPC Advisory Council Switzerland Conference
Welcome to the 2016 HPC Advisory Council Switzerland ConferenceWelcome to the 2016 HPC Advisory Council Switzerland Conference
Welcome to the 2016 HPC Advisory Council Switzerland Conferenceinside-BigData.com
 
Designing HPC, Deep Learning, and Cloud Middleware for Exascale Systems
Designing HPC, Deep Learning, and Cloud Middleware for Exascale SystemsDesigning HPC, Deep Learning, and Cloud Middleware for Exascale Systems
Designing HPC, Deep Learning, and Cloud Middleware for Exascale Systemsinside-BigData.com
 
Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...inside-BigData.com
 
Advancing OpenFabrics Interfaces
Advancing OpenFabrics InterfacesAdvancing OpenFabrics Interfaces
Advancing OpenFabrics Interfacesinside-BigData.com
 
Addressing Emerging Challenges in Designing HPC Runtimes
Addressing Emerging Challenges in Designing HPC RuntimesAddressing Emerging Challenges in Designing HPC Runtimes
Addressing Emerging Challenges in Designing HPC Runtimesinside-BigData.com
 
The Education of Computational Scientists
The Education of Computational ScientistsThe Education of Computational Scientists
The Education of Computational Scientistsinside-BigData.com
 
Scalable and Distributed DNN Training on Modern HPC Systems
Scalable and Distributed DNN Training on Modern HPC SystemsScalable and Distributed DNN Training on Modern HPC Systems
Scalable and Distributed DNN Training on Modern HPC Systemsinside-BigData.com
 
Introduction to OpenFlow
Introduction to OpenFlowIntroduction to OpenFlow
Introduction to OpenFlowrjain51
 
Real time machine learning proposers day v3
Real time machine learning proposers day v3Real time machine learning proposers day v3
Real time machine learning proposers day v3mustafa sarac
 

What's hot (20)

Accelerating Hadoop, Spark, and Memcached with HPC Technologies
Accelerating Hadoop, Spark, and Memcached with HPC TechnologiesAccelerating Hadoop, Spark, and Memcached with HPC Technologies
Accelerating Hadoop, Spark, and Memcached with HPC Technologies
 
Accelerating apache spark with rdma
Accelerating apache spark with rdmaAccelerating apache spark with rdma
Accelerating apache spark with rdma
 
ARM HPC Ecosystem
ARM HPC EcosystemARM HPC Ecosystem
ARM HPC Ecosystem
 
State of ARM-based HPC
State of ARM-based HPCState of ARM-based HPC
State of ARM-based HPC
 
Sierra Supercomputer: Science Unleashed
Sierra Supercomputer: Science UnleashedSierra Supercomputer: Science Unleashed
Sierra Supercomputer: Science Unleashed
 
GEN-Z: An Overview and Use Cases
GEN-Z: An Overview and Use CasesGEN-Z: An Overview and Use Cases
GEN-Z: An Overview and Use Cases
 
Overview of HPC Interconnects
Overview of HPC InterconnectsOverview of HPC Interconnects
Overview of HPC Interconnects
 
The HPE Machine and Gen-Z - BUD17-503
The HPE Machine and Gen-Z - BUD17-503The HPE Machine and Gen-Z - BUD17-503
The HPE Machine and Gen-Z - BUD17-503
 
Deep Learning: Convergence of HPC and Hyperscale
Deep Learning: Convergence of HPC and HyperscaleDeep Learning: Convergence of HPC and Hyperscale
Deep Learning: Convergence of HPC and Hyperscale
 
High Performance Interconnects: Landscape, Assessments & Rankings
High Performance Interconnects: Landscape, Assessments & RankingsHigh Performance Interconnects: Landscape, Assessments & Rankings
High Performance Interconnects: Landscape, Assessments & Rankings
 
Welcome to the 2016 HPC Advisory Council Switzerland Conference
Welcome to the 2016 HPC Advisory Council Switzerland ConferenceWelcome to the 2016 HPC Advisory Council Switzerland Conference
Welcome to the 2016 HPC Advisory Council Switzerland Conference
 
Designing HPC, Deep Learning, and Cloud Middleware for Exascale Systems
Designing HPC, Deep Learning, and Cloud Middleware for Exascale SystemsDesigning HPC, Deep Learning, and Cloud Middleware for Exascale Systems
Designing HPC, Deep Learning, and Cloud Middleware for Exascale Systems
 
Interconnect your future
Interconnect your futureInterconnect your future
Interconnect your future
 
Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...
 
Advancing OpenFabrics Interfaces
Advancing OpenFabrics InterfacesAdvancing OpenFabrics Interfaces
Advancing OpenFabrics Interfaces
 
Addressing Emerging Challenges in Designing HPC Runtimes
Addressing Emerging Challenges in Designing HPC RuntimesAddressing Emerging Challenges in Designing HPC Runtimes
Addressing Emerging Challenges in Designing HPC Runtimes
 
The Education of Computational Scientists
The Education of Computational ScientistsThe Education of Computational Scientists
The Education of Computational Scientists
 
Scalable and Distributed DNN Training on Modern HPC Systems
Scalable and Distributed DNN Training on Modern HPC SystemsScalable and Distributed DNN Training on Modern HPC Systems
Scalable and Distributed DNN Training on Modern HPC Systems
 
Introduction to OpenFlow
Introduction to OpenFlowIntroduction to OpenFlow
Introduction to OpenFlow
 
Real time machine learning proposers day v3
Real time machine learning proposers day v3Real time machine learning proposers day v3
Real time machine learning proposers day v3
 

Similar to Overview of the MVAPICH Project and Future Roadmap

Scallable Distributed Deep Learning on OpenPOWER systems
Scallable Distributed Deep Learning on OpenPOWER systemsScallable Distributed Deep Learning on OpenPOWER systems
Scallable Distributed Deep Learning on OpenPOWER systemsGanesan Narayanasamy
 
Designing Scalable HPC, Deep Learning and Cloud Middleware for Exascale Systems
Designing Scalable HPC, Deep Learning and Cloud Middleware for Exascale SystemsDesigning Scalable HPC, Deep Learning and Cloud Middleware for Exascale Systems
Designing Scalable HPC, Deep Learning and Cloud Middleware for Exascale Systemsinside-BigData.com
 
Communication Frameworks for HPC and Big Data
Communication Frameworks for HPC and Big DataCommunication Frameworks for HPC and Big Data
Communication Frameworks for HPC and Big Datainside-BigData.com
 
A Library for Emerging High-Performance Computing Clusters
A Library for Emerging High-Performance Computing ClustersA Library for Emerging High-Performance Computing Clusters
A Library for Emerging High-Performance Computing ClustersIntel® Software
 
AI Bridging Cloud Infrastructure (ABCI) and its communication performance
AI Bridging Cloud Infrastructure (ABCI) and its communication performanceAI Bridging Cloud Infrastructure (ABCI) and its communication performance
AI Bridging Cloud Infrastructure (ABCI) and its communication performanceinside-BigData.com
 
Designing HPC & Deep Learning Middleware for Exascale Systems
Designing HPC & Deep Learning Middleware for Exascale SystemsDesigning HPC & Deep Learning Middleware for Exascale Systems
Designing HPC & Deep Learning Middleware for Exascale Systemsinside-BigData.com
 
How to Design Scalable HPC, Deep Learning, and Cloud Middleware for Exascale ...
How to Design Scalable HPC, Deep Learning, and Cloud Middleware for Exascale ...How to Design Scalable HPC, Deep Learning, and Cloud Middleware for Exascale ...
How to Design Scalable HPC, Deep Learning, and Cloud Middleware for Exascale ...inside-BigData.com
 
Building Efficient HPC Clouds with MCAPICH2 and RDMA-Hadoop over SR-IOV Infin...
Building Efficient HPC Clouds with MCAPICH2 and RDMA-Hadoop over SR-IOV Infin...Building Efficient HPC Clouds with MCAPICH2 and RDMA-Hadoop over SR-IOV Infin...
Building Efficient HPC Clouds with MCAPICH2 and RDMA-Hadoop over SR-IOV Infin...inside-BigData.com
 
Iccsit2010 paper2
Iccsit2010 paper2Iccsit2010 paper2
Iccsit2010 paper2hanums1
 
draft-georgescu-bmwg-ipv6-tran-tech-benchmarking-00
draft-georgescu-bmwg-ipv6-tran-tech-benchmarking-00draft-georgescu-bmwg-ipv6-tran-tech-benchmarking-00
draft-georgescu-bmwg-ipv6-tran-tech-benchmarking-00Marius Georgescu
 
Icemc22010 ppt 29
Icemc22010 ppt 29Icemc22010 ppt 29
Icemc22010 ppt 29hanums1
 
Icemc2 kuppam
Icemc2 kuppamIcemc2 kuppam
Icemc2 kuppamhanums1
 
General Introduction to technologies that will be seen in the school
General Introduction to technologies that will be seen in the school General Introduction to technologies that will be seen in the school
General Introduction to technologies that will be seen in the school ISSGC Summer School
 
LREProxy module for Kamailio Presenation
LREProxy module for Kamailio PresenationLREProxy module for Kamailio Presenation
LREProxy module for Kamailio PresenationMojtaba Esfandiari
 
IBM: The Linux Ecosystem
IBM: The Linux EcosystemIBM: The Linux Ecosystem
IBM: The Linux EcosystemKangaroot
 
TULIPP overview
TULIPP overviewTULIPP overview
TULIPP overviewTulipp. Eu
 
Openstack Neutron, interconnections with BGP/MPLS VPNs
Openstack Neutron, interconnections with BGP/MPLS VPNsOpenstack Neutron, interconnections with BGP/MPLS VPNs
Openstack Neutron, interconnections with BGP/MPLS VPNsThomas Morin
 
Iccsit 2010 paper1
Iccsit 2010 paper1Iccsit 2010 paper1
Iccsit 2010 paper1hanums1
 
Best practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at RenaultBest practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at RenaultDataWorks Summit
 
MVAPICH2 and MVAPICH2-X Projects: Latest Developments and Future Plans
MVAPICH2 and MVAPICH2-X Projects: Latest Developments and Future PlansMVAPICH2 and MVAPICH2-X Projects: Latest Developments and Future Plans
MVAPICH2 and MVAPICH2-X Projects: Latest Developments and Future Plansinside-BigData.com
 

Similar to Overview of the MVAPICH Project and Future Roadmap (20)

Scallable Distributed Deep Learning on OpenPOWER systems
Scallable Distributed Deep Learning on OpenPOWER systemsScallable Distributed Deep Learning on OpenPOWER systems
Scallable Distributed Deep Learning on OpenPOWER systems
 
Designing Scalable HPC, Deep Learning and Cloud Middleware for Exascale Systems
Designing Scalable HPC, Deep Learning and Cloud Middleware for Exascale SystemsDesigning Scalable HPC, Deep Learning and Cloud Middleware for Exascale Systems
Designing Scalable HPC, Deep Learning and Cloud Middleware for Exascale Systems
 
Communication Frameworks for HPC and Big Data
Communication Frameworks for HPC and Big DataCommunication Frameworks for HPC and Big Data
Communication Frameworks for HPC and Big Data
 
A Library for Emerging High-Performance Computing Clusters
A Library for Emerging High-Performance Computing ClustersA Library for Emerging High-Performance Computing Clusters
A Library for Emerging High-Performance Computing Clusters
 
AI Bridging Cloud Infrastructure (ABCI) and its communication performance
AI Bridging Cloud Infrastructure (ABCI) and its communication performanceAI Bridging Cloud Infrastructure (ABCI) and its communication performance
AI Bridging Cloud Infrastructure (ABCI) and its communication performance
 
Designing HPC & Deep Learning Middleware for Exascale Systems
Designing HPC & Deep Learning Middleware for Exascale SystemsDesigning HPC & Deep Learning Middleware for Exascale Systems
Designing HPC & Deep Learning Middleware for Exascale Systems
 
How to Design Scalable HPC, Deep Learning, and Cloud Middleware for Exascale ...
How to Design Scalable HPC, Deep Learning, and Cloud Middleware for Exascale ...How to Design Scalable HPC, Deep Learning, and Cloud Middleware for Exascale ...
How to Design Scalable HPC, Deep Learning, and Cloud Middleware for Exascale ...
 
Building Efficient HPC Clouds with MCAPICH2 and RDMA-Hadoop over SR-IOV Infin...
Building Efficient HPC Clouds with MCAPICH2 and RDMA-Hadoop over SR-IOV Infin...Building Efficient HPC Clouds with MCAPICH2 and RDMA-Hadoop over SR-IOV Infin...
Building Efficient HPC Clouds with MCAPICH2 and RDMA-Hadoop over SR-IOV Infin...
 
Iccsit2010 paper2
Iccsit2010 paper2Iccsit2010 paper2
Iccsit2010 paper2
 
draft-georgescu-bmwg-ipv6-tran-tech-benchmarking-00
draft-georgescu-bmwg-ipv6-tran-tech-benchmarking-00draft-georgescu-bmwg-ipv6-tran-tech-benchmarking-00
draft-georgescu-bmwg-ipv6-tran-tech-benchmarking-00
 
Icemc22010 ppt 29
Icemc22010 ppt 29Icemc22010 ppt 29
Icemc22010 ppt 29
 
Icemc2 kuppam
Icemc2 kuppamIcemc2 kuppam
Icemc2 kuppam
 
General Introduction to technologies that will be seen in the school
General Introduction to technologies that will be seen in the school General Introduction to technologies that will be seen in the school
General Introduction to technologies that will be seen in the school
 
LREProxy module for Kamailio Presenation
LREProxy module for Kamailio PresenationLREProxy module for Kamailio Presenation
LREProxy module for Kamailio Presenation
 
IBM: The Linux Ecosystem
IBM: The Linux EcosystemIBM: The Linux Ecosystem
IBM: The Linux Ecosystem
 
TULIPP overview
TULIPP overviewTULIPP overview
TULIPP overview
 
Openstack Neutron, interconnections with BGP/MPLS VPNs
Openstack Neutron, interconnections with BGP/MPLS VPNsOpenstack Neutron, interconnections with BGP/MPLS VPNs
Openstack Neutron, interconnections with BGP/MPLS VPNs
 
Iccsit 2010 paper1
Iccsit 2010 paper1Iccsit 2010 paper1
Iccsit 2010 paper1
 
Best practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at RenaultBest practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at Renault
 
MVAPICH2 and MVAPICH2-X Projects: Latest Developments and Future Plans
MVAPICH2 and MVAPICH2-X Projects: Latest Developments and Future PlansMVAPICH2 and MVAPICH2-X Projects: Latest Developments and Future Plans
MVAPICH2 and MVAPICH2-X Projects: Latest Developments and Future Plans
 

More from inside-BigData.com

Transforming Private 5G Networks
Transforming Private 5G NetworksTransforming Private 5G Networks
Transforming Private 5G Networksinside-BigData.com
 
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...inside-BigData.com
 
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...inside-BigData.com
 
HPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural NetworksHPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural Networksinside-BigData.com
 
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean MonitoringBiohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoringinside-BigData.com
 
Machine Learning for Weather Forecasts
Machine Learning for Weather ForecastsMachine Learning for Weather Forecasts
Machine Learning for Weather Forecastsinside-BigData.com
 
HPC AI Advisory Council Update
HPC AI Advisory Council UpdateHPC AI Advisory Council Update
HPC AI Advisory Council Updateinside-BigData.com
 
Fugaku Supercomputer joins fight against COVID-19
Fugaku Supercomputer joins fight against COVID-19Fugaku Supercomputer joins fight against COVID-19
Fugaku Supercomputer joins fight against COVID-19inside-BigData.com
 
Energy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic TuningEnergy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic Tuninginside-BigData.com
 
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPODHPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPODinside-BigData.com
 
Versal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud AccelerationVersal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud Accelerationinside-BigData.com
 
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance EfficientlyZettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance Efficientlyinside-BigData.com
 
Scaling TCO in a Post Moore's Era
Scaling TCO in a Post Moore's EraScaling TCO in a Post Moore's Era
Scaling TCO in a Post Moore's Erainside-BigData.com
 
Introducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi ClusterIntroducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi Clusterinside-BigData.com
 
Efficient Model Selection for Deep Neural Networks on Massively Parallel Proc...
Efficient Model Selection for Deep Neural Networks on Massively Parallel Proc...Efficient Model Selection for Deep Neural Networks on Massively Parallel Proc...
Efficient Model Selection for Deep Neural Networks on Massively Parallel Proc...inside-BigData.com
 
Adaptive Linear Solvers and Eigensolvers
Adaptive Linear Solvers and EigensolversAdaptive Linear Solvers and Eigensolvers
Adaptive Linear Solvers and Eigensolversinside-BigData.com
 
Scientific Applications and Heterogeneous Architectures
Scientific Applications and Heterogeneous ArchitecturesScientific Applications and Heterogeneous Architectures
Scientific Applications and Heterogeneous Architecturesinside-BigData.com
 

More from inside-BigData.com (20)

Major Market Shifts in IT
Major Market Shifts in ITMajor Market Shifts in IT
Major Market Shifts in IT
 
Transforming Private 5G Networks
Transforming Private 5G NetworksTransforming Private 5G Networks
Transforming Private 5G Networks
 
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
 
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
 
HPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural NetworksHPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural Networks
 
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean MonitoringBiohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
 
Machine Learning for Weather Forecasts
Machine Learning for Weather ForecastsMachine Learning for Weather Forecasts
Machine Learning for Weather Forecasts
 
HPC AI Advisory Council Update
HPC AI Advisory Council UpdateHPC AI Advisory Council Update
HPC AI Advisory Council Update
 
Fugaku Supercomputer joins fight against COVID-19
Fugaku Supercomputer joins fight against COVID-19Fugaku Supercomputer joins fight against COVID-19
Fugaku Supercomputer joins fight against COVID-19
 
Energy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic TuningEnergy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic Tuning
 
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPODHPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
 
Versal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud AccelerationVersal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud Acceleration
 
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance EfficientlyZettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
 
Scaling TCO in a Post Moore's Era
Scaling TCO in a Post Moore's EraScaling TCO in a Post Moore's Era
Scaling TCO in a Post Moore's Era
 
Introducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi ClusterIntroducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi Cluster
 
Efficient Model Selection for Deep Neural Networks on Massively Parallel Proc...
Efficient Model Selection for Deep Neural Networks on Massively Parallel Proc...Efficient Model Selection for Deep Neural Networks on Massively Parallel Proc...
Efficient Model Selection for Deep Neural Networks on Massively Parallel Proc...
 
Data Parallel Deep Learning
Data Parallel Deep LearningData Parallel Deep Learning
Data Parallel Deep Learning
 
Making Supernovae with Jets
Making Supernovae with JetsMaking Supernovae with Jets
Making Supernovae with Jets
 
Adaptive Linear Solvers and Eigensolvers
Adaptive Linear Solvers and EigensolversAdaptive Linear Solvers and Eigensolvers
Adaptive Linear Solvers and Eigensolvers
 
Scientific Applications and Heterogeneous Architectures
Scientific Applications and Heterogeneous ArchitecturesScientific Applications and Heterogeneous Architectures
Scientific Applications and Heterogeneous Architectures
 

Recently uploaded

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Recently uploaded (20)

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Overview of the MVAPICH Project and Future Roadmap

  • 1. Overview of the MVAPICH Project: Latest Status and Future Roadmap MVAPICH2 User Group (MUG) Meeting by Dhabaleswar K. (DK) Panda The Ohio State University E-mail: panda@cse.ohio-state.edu http://www.cse.ohio-state.edu/~panda
  • 2. MVAPICH User Group Meeting (MUG) 2017 2Network Based Computing Laboratory Parallel Programming Models Overview P1 P2 P3 Shared Memory P1 P2 P3 Memory Memory Memory P1 P2 P3 Memory Memory Memory Logical shared memory Shared Memory Model SHMEM, DSM Distributed Memory Model MPI (Message Passing Interface) Partitioned Global Address Space (PGAS) Global Arrays, UPC, Chapel, X10, CAF, … • Programming models provide abstract machine models • Models can be mapped on different types of systems – e.g. Distributed Shared Memory (DSM), MPI within a node, etc. • PGAS models and Hybrid MPI+PGAS models are gradually receiving importance
  • 3. MVAPICH User Group Meeting (MUG) 2017 3Network Based Computing Laboratory Supporting Programming Models for Multi-Petaflop and Exaflop Systems: Challenges Programming Models MPI, PGAS (UPC, Global Arrays, OpenSHMEM), CUDA, OpenMP, OpenACC, Cilk, Hadoop (MapReduce), Spark (RDD, DAG), etc. Application Kernels/Applications Networking Technologies (InfiniBand, 40/100GigE, Aries, and Omni-Path) Multi-/Many-core Architectures Accelerators (GPU and MIC) Middleware Co-Design Opportunities and Challenges across Various Layers Performance Scalability Resilience Communication Library or Runtime for Programming Models Point-to-point Communication Collective Communication Energy- Awareness Synchronization and Locks I/O and File Systems Fault Tolerance
  • 4. MVAPICH User Group Meeting (MUG) 2017 4Network Based Computing Laboratory Designing (MPI+X) for Exascale • Scalability for million to billion processors – Support for highly-efficient inter-node and intra-node communication (both two-sided and one-sided) • Scalable Collective communication – Offloaded – Non-blocking – Topology-aware • Balancing intra-node and inter-node communication for next generation multi-/many-core (128-1024 cores/node) – Multiple end-points per node • Support for efficient multi-threading • Integrated Support for GPGPUs and Accelerators • Fault-tolerance/resiliency • QoS support for communication and I/O • Support for Hybrid MPI+PGAS programming • MPI + OpenMP, MPI + UPC, MPI + OpenSHMEM, CAF, MPI + UPC++… • Virtualization • Energy-Awareness
  • 5. MVAPICH User Group Meeting (MUG) 2017 5Network Based Computing Laboratory Overview of the MVAPICH2 Project • High Performance open-source MPI Library for InfiniBand, Omni-Path, Ethernet/iWARP, and RDMA over Converged Ethernet (RoCE) – MVAPICH (MPI-1), MVAPICH2 (MPI-2.2 and MPI-3.0), Started in 2001, First version available in 2002 – MVAPICH2-X (MPI + PGAS), Available since 2011 – Support for GPGPUs (MVAPICH2-GDR) and MIC (MVAPICH2-MIC), Available since 2014 – Support for Virtualization (MVAPICH2-Virt), Available since 2015 – Support for Energy-Awareness (MVAPICH2-EA), Available since 2015 – Support for InfiniBand Network Analysis and Monitoring (OSU INAM) since 2015 – Used by more than 2,800 organizations in 85 countries – More than 424,000 (> 0.4 million) downloads from the OSU site directly – Empowering many TOP500 clusters (June ‘17 ranking) • 1st, 10,649,600-core (Sunway TaihuLight) at National Supercomputing Center in Wuxi, China • 15th, 241,108-core (Pleiades) at NASA • 20th, 462,462-core (Stampede) at TACC • 44th, 74,520-core (Tsubame 2.5) at Tokyo Institute of Technology – Available with software stacks of many vendors and Linux Distros (RedHat and SuSE) – http://mvapich.cse.ohio-state.edu • Empowering Top500 systems for over a decade – System-X from Virginia Tech (3rd in Nov 2003, 2,200 processors, 12.25 TFlops) -> – Stampede at TACC (12th in Jun’16, 462,462 cores, 5.168 Plops)
  • 6. MVAPICH User Group Meeting (MUG) 2017 6Network Based Computing Laboratory Timeline Jan-04 Jan-10 Nov-12 MVAPICH2-X OMB MVAPICH2 MVAPICH Oct-02 Nov-04 Apr-15 EOL MVAPICH2-GDR MVAPICH2-MIC MVAPICH Project Timeline Jul-15 MVAPICH2-Virt Aug-14 Aug-15 Sep-15 MVAPICH2-EA OSU-INAM
  • 7. MVAPICH User Group Meeting (MUG) 2017 7Network Based Computing Laboratory 0 50000 100000 150000 200000 250000 300000 350000 400000 450000 Sep-04 Jan-05 May-05 Sep-05 Jan-06 May-06 Sep-06 Jan-07 May-07 Sep-07 Jan-08 May-08 Sep-08 Jan-09 May-09 Sep-09 Jan-10 May-10 Sep-10 Jan-11 May-11 Sep-11 Jan-12 May-12 Sep-12 Jan-13 May-13 Sep-13 Jan-14 May-14 Sep-14 Jan-15 May-15 Sep-15 Jan-16 May-16 Sep-16 Jan-17 May-17 NumberofDownloads Timeline MV0.9.4 MV20.9.0 MV20.9.8 MV21.0 MV1.0 MV21.0.3 MV1.1 MV21.4 MV21.5 MV21.6 MV21.7 MV21.8 MV21.9 MV22.1 MV2-GDR2.0b MV2-MIC2.0 MV2-Virt2.2 MV2-GDR2.2rc1 MV2-X2.2 MV22.3b MVAPICH2 Release Timeline and Downloads
  • 8. MVAPICH User Group Meeting (MUG) 2017 8Network Based Computing Laboratory Architecture of MVAPICH2 Software Family High Performance Parallel Programming Models Message Passing Interface (MPI) PGAS (UPC, OpenSHMEM, CAF, UPC++) Hybrid --- MPI + X (MPI + PGAS + OpenMP/Cilk) High Performance and Scalable Communication Runtime Diverse APIs and Mechanisms Point-to- point Primitives Collectives Algorithms Energy- Awareness Remote Memory Access I/O and File Systems Fault Tolerance Virtualization Active Messages Job Startup Introspectio n & Analysis Support for Modern Networking Technology (InfiniBand, iWARP, RoCE, Omni-Path) Support for Modern Multi-/Many-core Architectures (Intel-Xeon, OpenPower, Xeon-Phi (MIC, KNL), NVIDIA GPGPU) Transport Protocols Modern Features RC XRC UD DC UMR ODP SR- IOV Multi Rail Transport Mechanisms Shared Memory CMA IVSHMEM Modern Features MCDRAM* NVLink* CAPI* * Upcoming
  • 9. MVAPICH User Group Meeting (MUG) 2017 9Network Based Computing Laboratory • Research is done for exploring new designs • Designs are first presented to conference/journal publications • Best performing designs are incorporated into the codebase • Rigorous Q&A procedure before making a release – Exhaustive unit testing – Various test procedures on diverse range of platforms and interconnects – Performance tuning – Applications-based evaluation – Evaluation on large-scale systems • Even alpha and beta versions go through the above testing Strong Procedure for Design, Development and Release
  • 10. MVAPICH User Group Meeting (MUG) 2017 10Network Based Computing Laboratory MVAPICH2 Software Family Requirements Library MPI with IB, iWARP and RoCE MVAPICH2 Advanced MPI, OSU INAM, PGAS and MPI+PGAS with IB and RoCE MVAPICH2-X MPI with IB & GPU MVAPICH2-GDR MPI with IB & MIC MVAPICH2-MIC HPC Cloud with MPI & IB MVAPICH2-Virt Energy-aware MPI with IB, iWARP and RoCE MVAPICH2-EA MPI Energy Monitoring Tool OEMT InfiniBand Network Analysis and Monitoring OSU INAM Microbenchmarks for Measuring MPI and PGAS Performance OMB
  • 11. MVAPICH User Group Meeting (MUG) 2017 11Network Based Computing Laboratory • Released on 08/10/2017 • Major Features and Enhancements – Based on MPICH-3.2 – Enhance performance of point-to-point operations for CH3-Gen2 (InfiniBand), CH3-PSM, and CH3-PSM2 (Omni-Path) channels – Improve performance for MPI-3 RMA operations – Introduce support for Cavium ARM (ThunderX) systems – Improve support for process to core mapping on many-core systems • New environment variable MV2_THREADS_BINDING_POLICY for multi-threaded MPI and MPI+OpenMP applications • Support `linear' and `compact' placement of threads • Warn user if over-subscription of core is detected – Improve launch time for large-scale jobs with mpirun_rsh – Add support for non-blocking Allreduce using Mellanox SHARP – Efficient support for different Intel Knight's Landing (KNL) models – Improve performance for Intra- and Inter-node communication for OpenPOWER architecture – Improve support for large processes per node and huge pages on SMP systems – Enhance collective tuning for many architectures/systems – Enhance support for MPI_T PVARs and CVARs MVAPICH2 2.3b
  • 12. MVAPICH User Group Meeting (MUG) 2017 12Network Based Computing Laboratory One-way Latency: MPI over IB with MVAPICH2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 Small Message Latency Message Size (bytes) Latency(us) 1.11 1.19 1.01 1.15 1.04 TrueScale-QDR - 3.1 GHz Deca-core (Haswell) Intel PCI Gen3 with IB switch ConnectX-3-FDR - 2.8 GHz Deca-core (IvyBridge) Intel PCI Gen3 with IB switch ConnectIB-Dual FDR - 3.1 GHz Deca-core (Haswell) Intel PCI Gen3 with IB switch ConnectX-4-EDR - 3.1 GHz Deca-core (Haswell) Intel PCI Gen3 with IB Switch Omni-Path - 3.1 GHz Deca-core (Haswell) Intel PCI Gen3 with Omni-Path switch 0 20 40 60 80 100 120 TrueScale-QDR ConnectX-3-FDR ConnectIB-DualFDR ConnectX-4-EDR Omni-Path Large Message Latency Message Size (bytes) Latency(us)
  • 13. MVAPICH User Group Meeting (MUG) 2017 13Network Based Computing Laboratory TrueScale-QDR - 3.1 GHz Deca-core (Haswell) Intel PCI Gen3 with IB switch ConnectX-3-FDR - 2.8 GHz Deca-core (IvyBridge) Intel PCI Gen3 with IB switch ConnectIB-Dual FDR - 3.1 GHz Deca-core (Haswell) Intel PCI Gen3 with IB switch ConnectX-4-EDR - 3.1 GHz Deca-core (Haswell) Intel PCI Gen3 IB switch Omni-Path - 3.1 GHz Deca-core (Haswell) Intel PCI Gen3 with Omni-Path switch Bandwidth: MPI over IB with MVAPICH2 0 5000 10000 15000 20000 25000 4 16 64 256 1024 4K 16K 64K 256K 1M TrueScale-QDR ConnectX-3-FDR ConnectIB-DualFDR ConnectX-4-EDR Omni-Path Bidirectional Bandwidth Bandwidth(MBytes/sec) Message Size (bytes) 21,227 12,161 21,983 6,228 24,136 0 2000 4000 6000 8000 10000 12000 14000 4 16 64 256 1024 4K 16K 64K 256K 1M Unidirectional Bandwidth Bandwidth(MBytes/sec) Message Size (bytes) 12,590 3,373 6,356 12,083 12,366
  • 14. MVAPICH User Group Meeting (MUG) 2017 14Network Based Computing Laboratory • Near-constant MPI and OpenSHMEM initialization time at any process count • 10x and 30x improvement in startup time of MPI and OpenSHMEM respectively at 16,384 processes • Memory consumption reduced for remote endpoint information by O(processes per node) • 1GB Memory saved per node with 1M processes and 16 processes per node Towards High Performance and Scalable Startup at Exascale P M O Job Startup Performance MemoryRequiredtoStore EndpointInformation a b c d eP M PGAS – State of the art MPI – State of the art O PGAS/MPI – Optimized PMIX_Ring PMIX_Ibarrier PMIX_Iallgather Shmem based PMI b c d e a On-demand Connection On-demand Connection Management for OpenSHMEM and OpenSHMEM+MPI. S. Chakraborty, H. Subramoni, J. Perkins, A. A. Awan, and D K Panda, 20th International Workshop on High-level Parallel Programming Models and Supportive Environments (HIPS ’15) PMI Extensions for Scalable MPI Startup. S. Chakraborty, H. Subramoni, A. Moody, J. Perkins, M. Arnold, and D K Panda, Proceedings of the 21st European MPI Users' Group Meeting (EuroMPI/Asia ’14) Non-blocking PMI Extensions for Fast MPI Startup. S. Chakraborty, H. Subramoni, A. Moody, A. Venkatesh, J. Perkins, and D K Panda, 15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid ’15) SHMEMPMI – Shared Memory based PMI for Improved Performance and Scalability. S. Chakraborty, H. Subramoni, J. Perkins, and D K Panda, 16th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid ’16) a b c d e
  • 15. MVAPICH User Group Meeting (MUG) 2017 15Network Based Computing Laboratory Startup Performance on KNL + Omni-Path 0 5 10 15 20 25 64 128 256 512 1K 2K 4K 8K 16K 32K 64K TimeTaken(Seconds) Number of Processes MPI_Init & Hello World - Oakforest-PACS Hello World (MVAPICH2-2.3a) MPI_Init (MVAPICH2-2.3a) • MPI_Init takes 22 seconds on 229,376 processes on 3,584 KNL nodes (Stampede2 – Full scale) • 8.8 times faster than Intel MPI at 128K processes (Courtesy: TACC) • At 64K processes, MPI_Init and Hello World takes 5.8s and 21s respectively (Oakforest-PACS) • All numbers reported with 64 processes per node 5.8s 21s 22s New designs available since MVAPICH2-2.3a and as patch for SLURM-15.08.8 and SLURM-16.05.1
  • 16. MVAPICH User Group Meeting (MUG) 2017 16Network Based Computing Laboratory 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 (4,28) (8,28) (16,28) Latency(seconds) (Number of Nodes, PPN) MVAPICH2 MVAPICH2-SHArP 13% Mesh Refinement Time of MiniAMR Advanced Allreduce Collective Designs Using SHArP 12% 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 (4,28) (8,28) (16,28) Latency(seconds) (Number of Nodes, PPN) MVAPICH2 MVAPICH2-SHArP Avg DDOT Allreduce time of HPCG M. Bayatpour, S. Chakraborty, H. Subramoni, X. Lu, and D. K. Panda, Scalable Reduction Collectives with Data Partitioning-based Multi-Leader Design, Supercomputing '17. SHArP Support is available since MVAPICH2 2.3a Non-blocking SHArP Support added in MVAPICH2 2.3b
  • 17. MVAPICH User Group Meeting (MUG) 2017 17Network Based Computing Laboratory 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0 1 2 4 8 16 32 64 128 256 512 1K 2K 4K Latency(us) MVAPICH2 Intra-node Point-to-Point Performance on OpenPower 0 5000 10000 15000 20000 25000 30000 35000 Bandwidth(MB/s) MVAPICH2 0 10000 20000 30000 40000 50000 60000 70000 BidirectionalBandwidth MVAPICH2 Platform: OpenPOWER (Power8-ppc64le) processor with 160 cores dual-socket CPU. Each socket contains 80 cores. 0 10 20 30 40 50 60 70 80 8K 16K 32K 64K 128K 256K 512K 1M 2M Latency(us) MVAPICH2 Small Message Latency Large Message Latency Bi-directional BandwidthBandwidth
  • 18. MVAPICH User Group Meeting (MUG) 2017 18Network Based Computing Laboratory 0 0.5 1 1.5 2 2.5 3 3.5 0 1 2 4 8 16 32 64 256 512 1K 2K 4K Latency(us) MVAPICH2 Inter-node Point-to-Point Performance on OpenPower 0 2000 4000 6000 8000 10000 12000 14000 Bandwidth(MB/s) MVAPICH2 0 5000 10000 15000 20000 25000 30000 BidirectionalBandwidth MVAPICH2 Platform: Two nodes of OpenPOWER (Power8-ppc64le) CPU using Mellanox EDR (MT4115) HCA. 0 50 100 150 200 8K 16K 32K 64K 128K 256K 512K 1M 2M Latency(us) MVAPICH2 Small Message Latency Large Message Latency Bi-directional BandwidthBandwidth
  • 19. MVAPICH User Group Meeting (MUG) 2017 19Network Based Computing Laboratory 0 0.5 1 1.5 2 2.5 3 3.5 4 0 1 2 4 8 16 32 64 128 256 512 1K 2K 4K Latency(us) MVAPICH2 OpenMPI-v2.1.1 Intra-node Point-to-point Performance on ARMv8 0 500 1000 1500 2000 2500 3000 3500 4000 4500 1 2 4 8 16 32 64 128 256 512 1K 2K 4K 8K 32K 64K 128K 256K 512K 1M 2M 4M Bandwidth(MB/s) MVAPICH2 OpenMPI-v2.1.1 0 2000 4000 6000 8000 10000 1 2 4 8 16 32 64 128 256 512 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M 2M BidirectionalBandwidth MVAPICH2 OpenMPI-v2.1.1 Platform: ARMv8 (aarch64) MIPS processor with 96 cores dual-socket CPU. Each socket contains 48 cores. 0 100 200 300 400 500 600 700 800 8K 16K 32K 64K 128K 256K 512K 1M 2M Latency(us) MVAPICH2 OpenMPI-v2.1.1 Small Message Latency Large Message Latency Bi-directional BandwidthBandwidth Available in MVAPICH2 2.3b 0.92 us (OpenMPI) 0.74 us (MVAPICH2) (19.5% improvement at 4-byte) 53% at 4K 28% at 2M 38% at 2M 1.85 X at 2M ** OpenMPI version 2.2.1 used with “––mca bta self,sm”
  • 20. MVAPICH User Group Meeting (MUG) 2017 20Network Based Computing Laboratory ● Enhance existing support for MPI_T in MVAPICH2 to expose a richer set of performance and control variables ● Get and display MPI Performance Variables (PVARs) made available by the runtime in TAU ● Control the runtime’s behavior via MPI Control Variables (CVARs) ● Introduced support for new MPI_T based CVARs to MVAPICH2 ○ MPIR_CVAR_MAX_INLINE_MSG_SZ, MPIR_CVAR_VBUF_POOL_SIZE, MPIR_CVAR_VBUF_SECONDARY_POOL_SIZE ● TAU enhanced with support for setting MPI_T CVARs in a non-interactive mode for uninstrumented applications ● S. Ramesh, A. Maheo, S. Shende, A. Malony, H. Subramoni, and D. K. Panda, MPI Performance Engineering with the MPI Tool Interface: the Integration of MVAPICH and TAU, EuroMPI/USA ‘17, Best Paper Finalist ● More details in Prof. Malony’s talk today and poster presentations Performance Engineering Applications using MVAPICH2 and TAU VBUF usage without CVAR based tuning as displayed by ParaProf VBUF usage with CVAR based tuning as displayed by ParaProf
  • 21. MVAPICH User Group Meeting (MUG) 2017 21Network Based Computing Laboratory • Dynamic and Adaptive Tag Matching • Dynamic and Adaptive Communication Protocols • Optimized Kernel-Assisted collectives • Enhanced Collectives to exploit MCDRAM MVAPICH2 Upcoming Features
  • 22. MVAPICH User Group Meeting (MUG) 2017 22Network Based Computing Laboratory Dynamic and Adaptive Tag Matching Normalized Total Tag Matching Time at 512 Processes Normalized to Default (Lower is Better) Normalized Memory Overhead per Process at 512 Processes Compared to Default (Lower is Better) Adaptive and Dynamic Design for MPI Tag Matching; M. Bayatpour, H. Subramoni, S. Chakraborty, and D. K. Panda; IEEE Cluster 2016. [Best Paper Nominee] Challenge Tag matching is a significant overhead for receivers Existing Solutions are - Static and do not adapt dynamically to communication pattern - Do not consider memory overhead Solution A new tag matching design - Dynamically adapt to communication patterns - Use different strategies for different ranks - Decisions are based on the number of request object that must be traversed before hitting on the required one Results Better performance than other state- of-the art tag-matching schemes Minimum memory consumption Will be available in future MVAPICH2 releases
  • 23. MVAPICH User Group Meeting (MUG) 2017 23Network Based Computing Laboratory Dynamic and Adaptive MPI Point-to-point Communication Protocols Process on Node 1 Process on Node 2 Eager Threshold for Example Communication Pattern with Different Designs 0 1 2 3 4 5 6 7 Default 16 KB 16 KB 16 KB 16 KB 0 1 2 3 4 5 6 7 Manually Tuned 128 KB 128 KB 128 KB 128 KB 0 1 2 3 4 5 6 7 Dynamic + Adaptive 32 KB 64 KB 128 KB 32 KB H. Subramoni, S. Chakraborty, D. K. Panda, Designing Dynamic & Adaptive MPI Point-to-Point Communication Protocols for Efficient Overlap of Computation & Communication, ISC'17 - Best Paper 0 100 200 300 400 500 600 128 256 512 1K WallClockTime(seconds) Number of Processes Execution Time of Amber Default Threshold=17K Threshold=64K Threshold=128K Dynamic Threshold 0 1 2 3 4 5 6 7 8 9 128 256 512 1K RelativeMemoryConsumption Number of Processes Relative Memory Consumption of Amber Default Threshold=17K Threshold=64K Threshold=128K Dynamic Threshold Default Poor overlap; Low memory requirement Low Performance; High Productivity Manually Tuned Good overlap; High memory requirement High Performance; Low Productivity Dynamic + Adaptive Good overlap; Optimal memory requirement High Performance; High Productivity Process Pair Eager Threshold (KB) 0 – 4 32 1 – 5 64 2 – 6 128 3 – 7 32 Desired Eager Threshold
  • 24. MVAPICH User Group Meeting (MUG) 2017 24Network Based Computing Laboratory • Kernel-Assisted transfers (CMA, LiMIC, KNEM) offers single-copy transfers for large messages • Scatter/Gather/Bcast etc. can be optimized with direct Kernel-Assisted transfers • Applicable to Broadwell and OpenPOWER architectures as well 1.00 10.00 100.00 1000.00 10000.00 100000.00 1000000.00 1 Node, 64 Processes MV2-2.3a IMPI-2017 OMPI-2.1 Native CMA Optimized Kernel-Assisted Collectives for Multi-/Many-Core TACC Stampede2: 68 core Intel Knights Landing (KNL) 7250 @ 1.4 GHz, Intel Omni-Path HCA (100GBps), 16GB MCDRAM (Cache Mode) 1 10 100 1000 10000 100000 1000000 1K 4K 16K 64K 256K 1M 4M 2 Nodes, 128 Processes MV2-2.3a IMPI-2017 OMPI-2.1 Native CMA 1 10 100 1000 10000 100000 1000000 1K 4K 16K 64K 256K 1M 4 Nodes, 256 Processes MV2-2.3a IMPI-2017 OMPI-2.1 Native CMA 1 10 100 1000 10000 100000 1000000 1K 4K 16K 64K 256K 1M 8 Nodes, 512 Processes MV2-2.3a IMPI-2017 OMPI-2.1 Native CMA Performance of MPI_Gather Message Size (Bytes) Latency(us)Latency(us) S. Chakraborty, H. Subramoni, and D. K. Panda, Contention-Aware Kernel-Assisted MPI Collectives for Multi/Many-core Systems, IEEE Cluster ’17, Best Paper Finalist Enhanced Designs will be available in upcoming MVAPICH2 releases
  • 25. MVAPICH User Group Meeting (MUG) 2017 25Network Based Computing Laboratory Enhanced Collectives to Exploit MCDRAM • New designs to exploit high concurrency and MCDRAM of KNL • Significant improvements for large message sizes • Benefits seen in varying message size as well as varying MPI processes Very Large Message Bi-directional Bandwidth16-process Intra-node All-to-AllIntra-node Broadcast with 64MB Message 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 2M 4M 8M 16M 32M 64M Bandwidth(MB/s) Message size MVAPICH2 MVAPICH2-Optimized 0 10000 20000 30000 40000 50000 60000 4 8 16 Latency(us) No. of processes MVAPICH2 MVAPICH2-Optimized 27% 0 50000 100000 150000 200000 250000 300000 1M 2M 4M 8M 16M 32M Latency(us) Message size MVAPICH2 MVAPICH2-Optimized 17.2% 52%
  • 26. MVAPICH User Group Meeting (MUG) 2017 26Network Based Computing Laboratory Performance Benefits of Enhanced Designs 0 10000 20000 30000 40000 50000 60000 1M 2M 4M 8M 16M 32M 64M Bandwidth(MB/s) Message Size (bytes) MV2_Opt_DRAM MV2_Opt_MCDRAM MV2_Def_DRAM MV2_Def_MCDRAM 30% 0 50 100 150 200 250 300 4:268 4:204 4:64 Time(s) MPI Processes : OMP Threads MV2_Def_DRAM MV2_Opt_DRAM 15% Multi-Bandwidth using 32 MPI processesCNTK: MLP Training Time using MNIST (BS:64) • Benefits observed on training time of Multi-level Perceptron (MLP) model on MNIST dataset using CNTK Deep Learning Framework Enhanced Designs will be available in upcoming MVAPICH2 releases
  • 27. MVAPICH User Group Meeting (MUG) 2017 27Network Based Computing Laboratory MVAPICH2 Software Family Requirements Library MPI with IB, iWARP and RoCE MVAPICH2 Advanced MPI, OSU INAM, PGAS and MPI+PGAS with IB and RoCE MVAPICH2-X MPI with IB & GPU MVAPICH2-GDR MPI with IB & MIC MVAPICH2-MIC HPC Cloud with MPI & IB MVAPICH2-Virt Energy-aware MPI with IB, iWARP and RoCE MVAPICH2-EA MPI Energy Monitoring Tool OEMT InfiniBand Network Analysis and Monitoring OSU INAM Microbenchmarks for Measuring MPI and PGAS Performance OMB
  • 28. MVAPICH User Group Meeting (MUG) 2017 28Network Based Computing Laboratory MVAPICH2-X for Hybrid MPI + PGAS Applications • Current Model – Separate Runtimes for OpenSHMEM/UPC/UPC++/CAF and MPI – Possible deadlock if both runtimes are not progressed – Consumes more network resource • Unified communication runtime for MPI, UPC, UPC++, OpenSHMEM, CAF – Available with since 2012 (starting with MVAPICH2-X 1.9) – http://mvapich.cse.ohio-state.edu
  • 29. MVAPICH User Group Meeting (MUG) 2017 29Network Based Computing Laboratory UPC++ Support in MVAPICH2-X MPI + {UPC++} Application GASNet Interfaces UPC++ Interface Network Conduit (MPI) MVAPICH2-X Unified Communication Runtime (UCR) MPI + {UPC++} Application UPC++ Runtime MPI Interfaces • Full and native support for hybrid MPI + UPC++ applications • Better performance compared to IBV and MPI conduits • OSU Micro-benchmarks (OMB) support for UPC++ • Available since MVAPICH2-X (2.2rc1) 0 5000 10000 15000 20000 25000 30000 35000 40000 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M Time(us) Message Size (bytes) GASNet_MPI GASNET_IBV MV2-X 14x Inter-node Broadcast (64 nodes 1:ppn) MPI Runtime More Details in Student Poster Presentation
  • 30. MVAPICH User Group Meeting (MUG) 2017 30Network Based Computing Laboratory Application Level Performance with Graph500 and Sort Graph500 Execution Time J. Jose, S. Potluri, K. Tomko and D. K. Panda, Designing Scalable Graph500 Benchmark with Hybrid MPI+OpenSHMEM Programming Models, International Supercomputing Conference (ISC’13), June 2013 J. Jose, K. Kandalla, M. Luo and D. K. Panda, Supporting Hybrid MPI and OpenSHMEM over InfiniBand: Design and Performance Evaluation, Int'l Conference on Parallel Processing (ICPP '12), September 2012 0 5 10 15 20 25 30 35 4K 8K 16K Time(s) No. of Processes MPI-Simple MPI-CSC MPI-CSR Hybrid (MPI+OpenSHMEM) 13X 7.6X • Performance of Hybrid (MPI+ OpenSHMEM) Graph500 Design • 8,192 processes - 2.4X improvement over MPI-CSR - 7.6X improvement over MPI-Simple • 16,384 processes - 1.5X improvement over MPI-CSR - 13X improvement over MPI-Simple J. Jose, K. Kandalla, S. Potluri, J. Zhang and D. K. Panda, Optimizing Collective Communication in OpenSHMEM, Int'l Conference on Partitioned Global Address Space Programming Models (PGAS '13), October 2013. Sort Execution Time 0 500 1000 1500 2000 2500 3000 500GB-512 1TB-1K 2TB-2K 4TB-4K Time(seconds) Input Data - No. of Processes MPI Hybrid 51% • Performance of Hybrid (MPI+OpenSHMEM) Sort Application • 4,096 processes, 4 TB Input Size - MPI – 2408 sec; 0.16 TB/min - Hybrid – 1172 sec; 0.36 TB/min - 51% improvement over MPI-design
  • 31. MVAPICH User Group Meeting (MUG) 2017 31Network Based Computing Laboratory • Updating to OpenSHMEM 1.3 • UPC to be updated to 2.42.2 • Optimized OpenSHMEM with AVX and MCDRAM Support • Implicit On-Demand Paging (ODP) Support MVAPICH2-X Upcoming Features
  • 32. MVAPICH User Group Meeting (MUG) 2017 32Network Based Computing Laboratory OpenSHMEM Application kernels • AVX-512 vectorization showed up to 3X improvement over default • KNL showed on-par performance as Broadwell on Node-by-node comparison 0.01 0.1 1 10 100 2 4 8 16 32 64 128 Time(s) No. of processes KNL (Default) KNL (AVX-512) KNL (AVX-512+MCDRAM) Broadwell Scalable Integer Sort Kernel (ISx) 0.01 0.1 1 10 100 2DHeat HeatImg MatMul DAXPY ISx(strong) Time(s) KNL (68) Broadwell (28) Single KNL and Single Broadwell node • AVX-512 vectorization and MCDRAM based optimizations for MVAPICH2-X – Will be available in future MVAPICH2-X release Exploiting and Evaluating OpenSHMEM on KNL Architecture J. Hashmi, M. Li, H. Subramoni, D. Panda Fourth Workshop on OpenSHMEM and Related Technologies, Aug 2017. +30% -5%
  • 33. MVAPICH User Group Meeting (MUG) 2017 33Network Based Computing Laboratory • Introduced by Mellanox to avoid pinning the pages of registered memory regions • ODP-aware runtime could reduce the size of pin-down buffers while maintaining performance Implicit On-Demand Paging (ODP) M. Li, X. Lu, H. Subramoni, and D. K. Panda, “Designing Registration Caching Free High-Performance MPI Library with Implicit On-Demand Paging (ODP) of InfiniBand”, Under Review 0.1 1 10 100 CG EP FT IS MG LU SP AWP-ODC Graph500 ExecutionTime(s) Applications (256 Processes) Pin-down Explicit-ODP Implicit-ODP
  • 34. MVAPICH User Group Meeting (MUG) 2017 34Network Based Computing Laboratory MVAPICH2 Software Family Requirements Library MPI with IB, iWARP and RoCE MVAPICH2 Advanced MPI, OSU INAM, PGAS and MPI+PGAS with IB and RoCE MVAPICH2-X MPI with IB & GPU MVAPICH2-GDR MPI with IB & MIC MVAPICH2-MIC HPC Cloud with MPI & IB MVAPICH2-Virt Energy-aware MPI with IB, iWARP and RoCE MVAPICH2-EA MPI Energy Monitoring Tool OEMT InfiniBand Network Analysis and Monitoring OSU INAM Microbenchmarks for Measuring MPI and PGAS Performance OMB
  • 35. MVAPICH User Group Meeting (MUG) 2017 35Network Based Computing Laboratory CUDA-Aware MPI: MVAPICH2-GDR 1.8-2.2 Releases • Support for MPI communication from NVIDIA GPU device memory • High performance RDMA-based inter-node point-to-point communication (GPU-GPU, GPU-Host and Host-GPU) • High performance intra-node point-to-point communication for multi-GPU adapters/node (GPU-GPU, GPU-Host and Host-GPU) • Taking advantage of CUDA IPC (available since CUDA 4.1) in intra-node communication for multiple GPU adapters/node • Optimized and tuned collectives for GPU device buffers • MPI datatype support for point-to-point and collective communication from GPU device buffers
  • 36. MVAPICH User Group Meeting (MUG) 2017 36Network Based Computing Laboratory 0 500 1000 1500 2000 2500 3000 3500 1 4 16 64 256 1K 4K MV2-GDR2.2 MV2-GDR2.0b MV2 w/o GDR GPU-GPU Internode Bi-Bandwidth Message Size (bytes) Bi-Bandwidth(MB/s) 0 5 10 15 20 25 30 0 2 8 32 128 512 2K MV2-GDR2.2 MV2-GDR2.0b MV2 w/o GDR GPU-GPU internode latency Message Size (bytes) Latency(us) MVAPICH2-GDR-2.2 Intel Ivy Bridge (E5-2680 v2) node - 20 cores NVIDIA Tesla K40c GPU Mellanox Connect-X4 EDR HCA CUDA 8.0 Mellanox OFED 3.0 with GPU-Direct-RDMA 10x 2X 11x Performance of MVAPICH2-GPU with GPU-Direct RDMA (GDR) 2.18us 0 500 1000 1500 2000 2500 3000 1 4 16 64 256 1K 4K MV2-GDR2.2 MV2-GDR2.0b MV2 w/o GDR GPU-GPU Internode Bandwidth Message Size (bytes) Bandwidth(MB/s) 11X 2X 3X
  • 37. MVAPICH User Group Meeting (MUG) 2017 37Network Based Computing Laboratory • Platform: Wilkes (Intel Ivy Bridge + NVIDIA Tesla K20c + Mellanox Connect-IB) • HoomdBlue Version 1.0.5 • GDRCOPY enabled: MV2_USE_CUDA=1 MV2_IBA_HCA=mlx5_0 MV2_IBA_EAGER_THRESHOLD=32768 MV2_VBUF_TOTAL_SIZE=32768 MV2_USE_GPUDIRECT_LOOPBACK_LIMIT=32768 MV2_USE_GPUDIRECT_GDRCOPY=1 MV2_USE_GPUDIRECT_GDRCOPY_LIMIT=16384 Application-Level Evaluation (HOOMD-blue) 0 500 1000 1500 2000 2500 4 8 16 32 AverageTimeStepspersecond(TPS) Number of Processes MV2 MV2+GDR 0 500 1000 1500 2000 2500 3000 3500 4 8 16 32 AverageTimeStepspersecond (TPS) Number of Processes 64K Particles 256K Particles 2X 2X
  • 38. MVAPICH User Group Meeting (MUG) 2017 38Network Based Computing Laboratory Application-Level Evaluation (Cosmo) and Weather Forecasting in Switzerland 0 0.2 0.4 0.6 0.8 1 1.2 16 32 64 96NormalizedExecutionTime Number of GPUs CSCS GPU cluster Default Callback-based Event-based 0 0.2 0.4 0.6 0.8 1 1.2 4 8 16 32 NormalizedExecutionTime Number of GPUs Wilkes GPU Cluster Default Callback-based Event-based • 2X improvement on 32 GPUs nodes • 30% improvement on 96 GPU nodes (8 GPUs/node) C. Chu, K. Hamidouche, A. Venkatesh, D. Banerjee , H. Subramoni, and D. K. Panda, Exploiting Maximal Overlap for Non-Contiguous Data Movement Processing on Modern GPU-enabled Systems, IPDPS’16 On-going collaboration with CSCS and MeteoSwiss (Switzerland) in co-designing MV2-GDR and Cosmo Application Cosmo model: http://www2.cosmo-model.org/content /tasks/operational/meteoSwiss/
  • 39. MVAPICH User Group Meeting (MUG) 2017 39Network Based Computing Laboratory Enhanced Support for GPU Managed Memory ● CUDA Managed => no memory pin down ● No IPC support for intranode communication ● No GDR support for Internode communication ● Significant productivity benefits due to abstraction of explicit allocation and cudaMemcpy() ● Initial and basic support in MVAPICH2-GDR ● For both intra- and inter-nodes use “pipeline through” host memory ● Enhance intranode managed memory to use IPC ● Double buffering pair-wise IPC-based scheme ● Brings IPC performance to Managed memory ● High performance and high productivity ● 2.5 X improvement in bandwidth ● OMB extended to evaluate the performance of point-to-point and collective communications using managed buffers 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 32K 128K 512K 2M Enhanced MV2-GDR 2.2b Message Size (bytes) Bandwidth(MB/s) 2.5X D. S. Banerjee, K Hamidouche, and D. K Panda, Designing High Performance Communication Runtime for GPUManaged Memory: Early Experiences, GPGPU-9 Workshop, held in conjunction with PPoPP ‘16 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 1 2 4 8 16 32 64 128 256 1K 4K 8K 16K HaloExchangeTime(ms) Total Dimension Size (Bytes) 2D Stencil Performance for Halowidth=1 Device Managed
  • 40. MVAPICH User Group Meeting (MUG) 2017 40Network Based Computing Laboratory • Optimized Designs • Support for OpenPower+NVLINK Platforms • Optimized Support for Deep Learning (Caffe and CNTK) • Support for Streaming Applications • GPU Direct Async (GDS) Support • CUDA-aware OpenSHMEM MVAPICH2-GDR Upcoming Features
  • 41. MVAPICH User Group Meeting (MUG) 2017 41Network Based Computing Laboratory 0 1000 2000 3000 4000 5000 6000 1 2 4 8 16 32 64 128 256 512 1K 2K 4K Bandwidth(MB/s) Message Size (Bytes) GPU-GPU Inter-node Bi-Bandwidth MV2-(NO-GDR) MV2-GDR-2.3a 0 500 1000 1500 2000 2500 3000 3500 1 2 4 8 16 32 64 128 256 512 1K 2K 4K Bandwidth(MB/s) Message Size (Bytes) GPU-GPU Inter-node Bandwidth MV2-(NO-GDR) MV2-GDR-2.3a 0 5 10 15 20 25 30 0 1 2 4 8 16 32 64 128 256 512 1K 2K 4K 8K Latency(us) Message Size (Bytes) GPU-GPU Inter-node Latency MV2-(NO-GDR) MV2-GDR-2.3a MVAPICH2-GDR-2.3a Intel Haswell (E5-2687W) node - 20 cores NVIDIA Pascal P100 GPU Mellanox Connect-X5 EDR HCA CUDA 8.0 Mellanox OFED 4.0 with GPU-Direct-RDMA 10x 9x Performance of MVAPICH2-GPU with GPU-Direct RDMA (GDR) 1.91us 11X
  • 42. MVAPICH User Group Meeting (MUG) 2017 42Network Based Computing Laboratory 0 5 10 15 20 1 2 4 8 16 32 64 128 256 512 1K 2K 4K 8K Latency(us) Message Size (Bytes) INTRA-NODE LATENCY (SMALL) INTRA-SOCKET(NVLINK) INTER-SOCKET MVAPICH2-GDR: Performance on OpenPOWER (NVLink + Pascal) 0 5 10 15 20 25 30 35 1 4 16 64 256 1K 4K 16K 64K 256K 1M 4M Bandwidth(GB/sec) Message Size (Bytes) INTRA-NODE BANDWIDTH INTRA-SOCKET(NVLINK) INTER-SOCKET 0 1 2 3 4 5 6 7 1 4 16 64 256 1K 4K 16K 64K 256K 1M 4M Bandwidth(GB/sec) Message Size (Bytes) INTER-NODE BANDWIDTH Platform: OpenPOWER (ppc64le) nodes equipped with a dual-socket CPU, 4 Pascal P100-SXM GPUs, and 4X-FDR InfiniBand Inter-connect 0 100 200 300 400 500 16K 32K 64K 128K 256K 512K 1M 2M 4M Latency(us) Message Size (Bytes) INTRA-NODE LATENCY (LARGE) INTRA-SOCKET(NVLINK) INTER-SOCKET 0 5 10 15 20 25 30 35 1 2 4 8 16 32 64 128 256 512 1K 2K 4K 8K Latency(us) Message Size (Bytes) INTER-NODE LATENCY (SMALL) 0 100 200 300 400 500 600 700 800 900 16K 32K 64K 128K 256K 512K 1M 2M 4M Latency(us) Message Size (Bytes) INTER-NODE LATENCY (LARGE) Intra-node Bandwidth: 32 GB/sec (NVLINK)Intra-node Latency: 16.8 us (without GPUDirectRDMA) Inter-node Latency: 22 us (without GPUDirectRDMA) Inter-node Bandwidth: 6 GB/sec (FDR) Will be available in upcoming MVAPICH2-GDR
  • 43. MVAPICH User Group Meeting (MUG) 2017 43Network Based Computing Laboratory • NCCL has some limitations – Only works for a single node, thus, no scale-out on multiple nodes – Degradation across IOH (socket) for scale-up (within a node) • We propose optimized MPI_Bcast – Communication of very large GPU buffers (order of megabytes) – Scale-out on large number of dense multi-GPU nodes • Hierarchical Communication that efficiently exploits: – CUDA-Aware MPI_Bcast in MV2-GDR – NCCL Broadcast primitive Efficient Broadcast for Deep Learning: MVAPICH2-GDR and NCCL 1 10 100 1000 10000 100000 1 4 16 64 256 1K 4K 16K 64K 256K 1M 4M 16M 64M 256M Latency(us) LogScale Message Size MV2-GDR MV2-GDR-Opt 100x 0 5 10 15 20 25 30 2 4 8 16 32 64 Time(seconds) Number of GPUs MV2-GDR MV2-GDR-Opt Performance Benefits: Microsoft CNTK DL framework (25% avg. improvement ) Performance Benefits: OSU Micro-benchmarks Efficient Large Message Broadcast using NCCL and CUDA-Aware MPI for Deep Learning, A. Awan , K. Hamidouche , A. Venkatesh , and D. K. Panda, The 23rd European MPI Users' Group Meeting (EuroMPI 16), Sep 2016 [Best Paper Runner-Up]
  • 44. MVAPICH User Group Meeting (MUG) 2017 44Network Based Computing Laboratory 0 50 100 150 200 250 2 4 8 16 32 64 128 Latency(ms) Message Size (MB) Reduce – 192 GPUs Large Message Optimized Collectives for Deep Learning 0 50 100 150 200 128 160 192 Latency(ms) No. of GPUs Reduce – 64 MB 0 50 100 150 200 250 300 16 32 64 Latency(ms) No. of GPUs Allreduce - 128 MB 0 20 40 60 80 2 4 8 16 32 64 128 Latency(ms) Message Size (MB) Bcast – 64 GPUs 0 20 40 60 80 16 32 64 Latency(ms) No. of GPUs Bcast 128 MB • MV2-GDR provides optimized collectives for large message sizes • Optimized Reduce, Allreduce, and Bcast • Good scaling with large number of GPUs • Available in MVAPICH2-GDR 2.2GA 0 50 100 150 200 250 300 2 4 8 16 32 64 128 Latency(ms) Message Size (MB) Allreduce – 64 GPUs
  • 45. MVAPICH User Group Meeting (MUG) 2017 45Network Based Computing Laboratory • Caffe : A flexible and layered Deep Learning framework. • Benefits and Weaknesses – Multi-GPU Training within a single node – Performance degradation for GPUs across different sockets – Limited Scale-out • OSU-Caffe: MPI-based Parallel Training – Enable Scale-up (within a node) and Scale-out (across multi- GPU nodes) – Scale-out on 64 GPUs for training CIFAR-10 network on CIFAR- 10 dataset – Scale-out on 128 GPUs for training GoogLeNet network on ImageNet dataset OSU-Caffe: Scalable Deep Learning 0 50 100 150 200 250 8 16 32 64 128 TrainingTime(seconds) No. of GPUs GoogLeNet (ImageNet) on 128 GPUs Caffe OSU-Caffe (1024) OSU-Caffe (2048) Invalid use case OSU-Caffe publicly available from http://hidl.cse.ohio-state.edu/ More Details in Poster
  • 46. MVAPICH User Group Meeting (MUG) 2017 46Network Based Computing Laboratory • Combining MCAST+GDR hardware features for heterogeneous configurations: – Source on the Host and destination on Device – SL design: Scatter at destination • Source: Data and Control on Host • Destinations: Data on Device and Control on Host – Combines IB MCAST and GDR features at receivers – CUDA IPC-based topology-aware intra-node broadcast – Minimize use of PCIe resources (Maximizing availability of PCIe Host- Device Resources) Streaming Support (Combining GDR and IB-Mcast) Node N IB HCA IB HCA CPU GPU Source IB Switch GPU CPU Node 1 Multicast steps C Data C IB SL step Data IB HCA GPU CPU Data C C.-H. Chu, K. Hamidouche, H. Subramoni, A. Venkatesh, B. Elton, and D. K. Panda. “Designing High Performance Heterogeneous Broadcast for Streaming Applications on GPU Clusters, “ SBAC-PAD’16, Oct 2016.
  • 47. MVAPICH User Group Meeting (MUG) 2017 47Network Based Computing Laboratory • Optimizing MCAST+GDR Broadcast for deep learning: – Source and destination buffers are on GPU Device • Typically very large messages (>1MB) – Pipelining data from Device to Host • Avoid GDR read limit • Leverage high-performance SL design – Combines IB MCAST and GDR features – Minimize use of PCIe resources on the receiver side • Maximizing availability of PCIe Host-Device Resources Exploiting GDR+IB-Mcast Design for Deep Learning Applications IB HCA CPU GPU Source IB Switch Header Data IB HCA CPU GPU Node 1 Header Data IB HCA CPU GPU Node N Header Data 1. Pipeline Data movement 2. IB Gather 3. IB Hardware Multicast 4. IB Scatter + GDR Write Data Ching-Hsiang Chu, Xiaoyi Lu, Ammar A. Awan, Hari Subramoni, Jahanzeb Hashmi, Bracy Elton, and Dhabaleswar K. Panda, "Efficient and Scalable Multi-Source Streaming Broadcast on GPU Clusters for Deep Learning , ” ICPP’17.
  • 48. MVAPICH User Group Meeting (MUG) 2017 48Network Based Computing Laboratory • @ RI2 cluster, 16 GPUs, 1 GPU/node – Microsoft Cognitive Toolkit (CNTK) [https://github.com/Microsoft/CNTK] Application Evaluation: Deep Learning Frameworks 0 100 200 300 8 16 TrainingTime(s) Number of GPU nodes AlexNet model MV2-GDR-Knomial MV2-GDR-Ring MCAST-GDR-Opt 0 1000 2000 3000 8 16 TrainingTime(s) Number of GPU nodes VGG model MV2-GDR-Knomial MV2-GDR-Ring MCAST-GDR-Opt Lower is better 15% 24% 6% 15% Ching-Hsiang Chu, Xiaoyi Lu, Ammar A. Awan, Hari Subramoni, Jahanzeb Hashmi, Bracy Elton, and Dhabaleswar K. Panda, "Efficient and Scalable Multi-Source Streaming Broadcast on GPU Clusters for Deep Learning , " ICPP’17. • Reduces up to 24% and 15% of latency for AlexNet and VGG models • Higher improvement can be observed for larger system sizes More Details in Poster
  • 49. MVAPICH User Group Meeting (MUG) 2017 49Network Based Computing Laboratory Latency oriented: Send+kernel and Recv+kernel MVAPICH2-GDS: Preliminary Results 0 5 10 15 20 25 30 8 32 128 512 Default Enhanced-GDS Message Size (bytes) Latency(us) 0 5 10 15 20 25 30 35 16 64 256 1024 Default Enhanced-GDS Message Size (bytes) Latency(us) Throughput Oriented: back-to-back • Latency Oriented: Able to hide the kernel launch overhead – 25% improvement at 256 Bytes compared to default behavior • Throughput Oriented: Asynchronously to offload queue the Communication and computation tasks – 14% improvement at 1KB message size Intel Sandy Bridge, NVIDIA K20 and Mellanox FDR HCA Will be available in a public release soon
  • 50. MVAPICH User Group Meeting (MUG) 2017 50Network Based Computing Laboratory 0 0.02 0.04 0.06 0.08 0.1 8 16 32 64 Executiontime(sec) Number of GPU Nodes Host-Pipeline Enhanced-GDR - Platform: Wilkes (Intel Ivy Bridge + NVIDIA Tesla K20c + Mellanox Connect-IB) - New designs achieve 20% and 19% improvements on 32 and 64 GPU nodes CUDA-Aware OpenSHMEM: Evaluation with GPULBM and 2DStencil 19% 0 50 100 150 200 8 16 32 64 EvolutionTime(msec) Number of GPU Nodes Weak Scaling Host-Pipeline Enhanced-GDR GPULBM: 64x64x64 2DStencil 2Kx2K • Redesign the application • CUDA-Aware MPI : Send/Recv => hybrid CUDA- Aware MPI+OpenSHMEM • cudaMalloc =>shmalloc(size,1); • MPI_Send/recv => shmem_put + fence • 53% and 45% • Degradation is due to small input size • Will be available in future MVAPICH2-GDR releases 45 % 1. K. Hamidouche, A. Venkatesh, A. Awan, H. Subramoni, C. Ching and D. K. Panda, Exploiting GPUDirect RDMA in Designing High Performance OpenSHMEM for GPU Clusters. IEEE Cluster 2015. 2. K. Hamidouche, A. Venkatesh, A. Awan, H. Subramoni, C. Ching and D. K. Panda, CUDA-Aware OpenSHMEM: Extensions and Designs for High Performance OpenSHMEM on GPU Clusters. PARCO, October 2016.
  • 51. MVAPICH User Group Meeting (MUG) 2017 51Network Based Computing Laboratory MVAPICH2 Software Family Requirements Library MPI with IB, iWARP and RoCE MVAPICH2 Advanced MPI, OSU INAM, PGAS and MPI+PGAS with IB and RoCE MVAPICH2-X MPI with IB & GPU MVAPICH2-GDR MPI with IB & MIC MVAPICH2-MIC HPC Cloud with MPI & IB MVAPICH2-Virt Energy-aware MPI with IB, iWARP and RoCE MVAPICH2-EA MPI Energy Monitoring Tool OEMT InfiniBand Network Analysis and Monitoring OSU INAM Microbenchmarks for Measuring MPI and PGAS Performance OMB
  • 52. MVAPICH User Group Meeting (MUG) 2017 52Network Based Computing Laboratory • Virtualization has many benefits – Fault-tolerance – Job migration – Compaction • Have not been very popular in HPC due to overhead associated with Virtualization • New SR-IOV (Single Root – IO Virtualization) support available with Mellanox InfiniBand adapters changes the field • Enhanced MVAPICH2 support for SR-IOV • MVAPICH2-Virt 2.2 supports: – Efficient MPI communication over SR-IOV enabled InfiniBand networks – High-performance and locality-aware MPI communication for VMs and containers – Automatic communication channel selection for VMs (SR-IOV, IVSHMEM, and CMA/LiMIC2) and containers (IPC-SHM, CMA, and HCA) – OpenStack, Docker, and Singularity Can HPC and Virtualization be Combined? J. Zhang, X. Lu, J. Jose, R. Shi and D. K. Panda, Can Inter-VM Shmem Benefit MPI Applications on SR-IOV based Virtualized InfiniBand Clusters? EuroPar'14 J. Zhang, X. Lu, J. Jose, M. Li, R. Shi and D.K. Panda, High Performance MPI Libray over SR-IOV enabled InfiniBand Clusters, HiPC’14 J. Zhang, X .Lu, M. Arnold and D. K. Panda, MVAPICH2 Over OpenStack with SR-IOV: an Efficient Approach to build HPC Clouds, CCGrid’15
  • 53. MVAPICH User Group Meeting (MUG) 2017 53Network Based Computing Laboratory 0 50 100 150 200 250 300 350 400 milc leslie3d pop2 GAPgeofem zeusmp2 lu ExecutionTime(s) MV2-SR-IOV-Def MV2-SR-IOV-Opt MV2-Native 1% 9.5% 0 1000 2000 3000 4000 5000 6000 22,20 24,10 24,16 24,20 26,10 26,16 ExecutionTime(ms) Problem Size (Scale, Edgefactor) MV2-SR-IOV-Def MV2-SR-IOV-Opt MV2-Native 2% • 32 VMs, 6 Core/VM • Compared to Native, 2-5% overhead for Graph500 with 128 Procs • Compared to Native, 1-9.5% overhead for SPEC MPI2007 with 128 Procs Application-Level Performance on Chameleon (SR-IOV Support) SPEC MPI2007Graph500 5%
  • 54. MVAPICH User Group Meeting (MUG) 2017 54Network Based Computing Laboratory 0 500 1000 1500 2000 2500 3000 3500 4000 22, 16 22, 20 24, 16 24, 20 26, 16 26, 20 ExecutionTime(ms) Problem Size (Scale, Edgefactor) Container-Def Container-Opt Native 0 10 20 30 40 50 60 70 80 90 100 MG.D FT.D EP.D LU.D CG.D ExecutionTime(s) Container-Def Container-Opt Native • 64 Containers across 16 nodes, pining 4 Cores per Container • Compared to Container-Def, up to 11% and 16% of execution time reduction for NAS and Graph 500 • Compared to Native, less than 9 % and 4% overhead for NAS and Graph 500 Application-Level Performance on Chameleon (Containers Support) Graph 500NAS 11% 16%
  • 55. MVAPICH User Group Meeting (MUG) 2017 55Network Based Computing Laboratory 0 500 1000 1500 2000 2500 3000 22,16 22,20 24,16 24,20 26,16 26,20 BFSExecutionTime(ms) Problem Size (Scale, Edgefactor) Graph500 Singularity Native 0 50 100 150 200 250 300 CG EP FT IS LU MG ExecutionTime(s) NPB Class D Singularity Native • 512 Processes across 32 nodes • Less than 7% and 6% overhead for NPB and Graph500, respectively Application-Level Performance on Singularity with MVAPICH2 7% 6% More Details in Tomorrow’s Tutorial/Demo Session
  • 56. MVAPICH User Group Meeting (MUG) 2017 56Network Based Computing Laboratory • Support for SR-IOV Enabled VM Migration • SR-IOV and IVSHMEM Support in SLURM • Support for Microsoft Azure Platform MVAPICH2-Virt Upcoming Features
  • 57. MVAPICH User Group Meeting (MUG) 2017 57Network Based Computing Laboratory High Performance SR-IOV enabled VM Migration Support in MVAPICH2 J. Zhang, X. Lu, D. K. Panda. High-Performance Virtual Machine Migration Framework for MPI Applications on SR-IOV enabled InfiniBand Clusters. IPDPS, 2017 • Migration with SR-IOV device has to handle the challenges of detachment/re-attachment of virtualized IB device and IB connection • Consist of SR-IOV enabled IB Cluster and External Migration Controller • Multiple parallel libraries to notify MPI applications during migration (detach/reattach SR- IOV/IVShmem, migrate VMs, migration status) • Handle the IB connection suspending and reactivating • Propose Progress engine (PE) and migration thread based (MT) design to optimize VM migration and MPI application performance
  • 58. MVAPICH User Group Meeting (MUG) 2017 58Network Based Computing Laboratory Graph500 • 8 VMs in total and 1 VM carries out migration during application running • Compared with NM, MT- worst and PE incur some overhead compared with NM • MT-typical allows migration to be completely overlapped with computation Performance Evaluation of VM Migration Framework NAS 0 20 40 60 80 100 120 LU.C EP.C IS.C MG.C CG.C ExecutionTime(s) PE MT-worst MT-typical NM 0.0 0.1 0.1 0.2 0.2 0.3 0.3 0.4 0.4 20,10 20,16 20,20 22,10 ExecutionTime(s) PE MT-worst MT-typical NM
  • 59. MVAPICH User Group Meeting (MUG) 2017 59Network Based Computing Laboratory • Requirement of managing and isolating virtualized resources of SR-IOV and IVSHMEM • Such kind of management and isolation is hard to be achieved by MPI library alone, but much easier with SLURM • Efficient running MPI applications on HPC Clouds needs SLURM to support managing SR-IOV and IVSHMEM – Can critical HPC resources be efficiently shared among users by extending SLURM with support for SR-IOV and IVSHMEM based virtualization? – Can SR-IOV and IVSHMEM enabled SLURM and MPI library provide bare-metal performance for end applications on HPC Clouds? SR-IOV and IVSHMEM in SLURM J. Zhang, X. Lu, S. Chakraborty, and D. K. Panda. SLURM-V: Extending SLURM for Building Efficient HPC Cloud with SR-IOV and IVShmem. The 22nd International European Conference on Parallel Processing (Euro-Par), 2016.
  • 60. MVAPICH User Group Meeting (MUG) 2017 60Network Based Computing Laboratory MVAPICH2 Software Family Requirements Library MPI with IB, iWARP and RoCE MVAPICH2 Advanced MPI, OSU INAM, PGAS and MPI+PGAS with IB and RoCE MVAPICH2-X MPI with IB & GPU MVAPICH2-GDR MPI with IB & MIC MVAPICH2-MIC HPC Cloud with MPI & IB MVAPICH2-Virt Energy-aware MPI with IB, iWARP and RoCE MVAPICH2-EA MPI Energy Monitoring Tool OEMT InfiniBand Network Analysis and Monitoring OSU INAM Microbenchmarks for Measuring MPI and PGAS Performance OMB
  • 61. MVAPICH User Group Meeting (MUG) 2017 61Network Based Computing Laboratory • MVAPICH2-EA 2.1 (Energy-Aware) • A white-box approach • New Energy-Efficient communication protocols for pt-pt and collective operations • Intelligently apply the appropriate Energy saving techniques • Application oblivious energy saving • OEMT • A library utility to measure energy consumption for MPI applications • Works with all MPI runtimes • PRELOAD option for precompiled applications • Does not require ROOT permission: • A safe kernel module to read only a subset of MSRs Energy-Aware MVAPICH2 & OSU Energy Management Tool (OEMT)
  • 62. MVAPICH User Group Meeting (MUG) 2017 62Network Based Computing Laboratory • An energy efficient runtime that provides energy savings without application knowledge • Uses automatically and transparently the best energy lever • Provides guarantees on maximum degradation with 5- 41% savings at <= 5% degradation • Pessimistic MPI applies energy reduction lever to each MPI call MVAPICH2-EA: Application Oblivious Energy-Aware-MPI (EAM) A Case for Application-Oblivious Energy-Efficient MPI Runtime A. Venkatesh, A. Vishnu, K. Hamidouche, N. Tallent, D. K. Panda, D. Kerbyson, and A. Hoise, Supercomputing ‘15, Nov 2015 [Best Student Paper Finalist] 1
  • 63. MVAPICH User Group Meeting (MUG) 2017 63Network Based Computing Laboratory MPI-3 RMA Energy Savings with Proxy-Applications 0 10 20 30 40 50 60 512 256 128 Seconds #Processes Graph500 (Execution Time) optimistic pessimistic EAM-RMA 0 50000 100000 150000 200000 250000 300000 350000 512 256 128 Joules #Processes Graph500 (Energy Usage) optimistic pessimistic EAM-RMA 46% • MPI_Win_fence dominates application execution time in graph500 • Between 128 and 512 processes, EAM-RMA yields between 31% and 46% savings with no degradation in execution time in comparison with the default optimistic MPI runtime • MPI-3 RMA Energy-efficient support will be available in upcoming MVAPICH2-EA release
  • 64. MVAPICH User Group Meeting (MUG) 2017 64Network Based Computing Laboratory MVAPICH2 Software Family Requirements Library MPI with IB, iWARP and RoCE MVAPICH2 Advanced MPI, OSU INAM, PGAS and MPI+PGAS with IB and RoCE MVAPICH2-X MPI with IB & GPU MVAPICH2-GDR MPI with IB & MIC MVAPICH2-MIC HPC Cloud with MPI & IB MVAPICH2-Virt Energy-aware MPI with IB, iWARP and RoCE MVAPICH2-EA MPI Energy Monitoring Tool OEMT InfiniBand Network Analysis and Monitoring OSU INAM Microbenchmarks for Measuring MPI and PGAS Performance OMB
  • 65. MVAPICH User Group Meeting (MUG) 2017 65Network Based Computing Laboratory Overview of OSU INAM • A network monitoring and analysis tool that is capable of analyzing traffic on the InfiniBand network with inputs from the MPI runtime – http://mvapich.cse.ohio-state.edu/tools/osu-inam/ • Monitors IB clusters in real time by querying various subnet management entities and gathering input from the MPI runtimes • OSU INAM v0.9.1 released on 05/13/16 • Significant enhancements to user interface to enable scaling to clusters with thousands of nodes • Improve database insert times by using 'bulk inserts‘ • Capability to look up list of nodes communicating through a network link • Capability to classify data flowing over a network link at job level and process level granularity in conjunction with MVAPICH2-X 2.2rc1 • “Best practices “ guidelines for deploying OSU INAM on different clusters • Capability to analyze and profile node-level, job-level and process-level activities for MPI communication – Point-to-Point, Collectives and RMA • Ability to filter data based on type of counters using “drop down” list • Remotely monitor various metrics of MPI processes at user specified granularity • "Job Page" to display jobs in ascending/descending order of various performance metrics in conjunction with MVAPICH2-X • Visualize the data transfer happening in a “live” or “historical” fashion for entire network, job or set of nodes
  • 66. MVAPICH User Group Meeting (MUG) 2017 66Network Based Computing Laboratory OSU INAM Features • Show network topology of large clusters • Visualize traffic pattern on different links • Quickly identify congested links/links in error state • See the history unfold – play back historical state of the network Comet@SDSC --- Clustered View (1,879 nodes, 212 switches, 4,377 network links) Finding Routes Between Nodes
  • 67. MVAPICH User Group Meeting (MUG) 2017 67Network Based Computing Laboratory OSU INAM Features (Cont.) Visualizing a Job (5 Nodes) • Job level view • Show different network metrics (load, error, etc.) for any live job • Play back historical data for completed jobs to identify bottlenecks • Node level view - details per process or per node • CPU utilization for each rank/node • Bytes sent/received for MPI operations (pt-to-pt, collective, RMA) • Network metrics (e.g. XmitDiscard, RcvError) per rank/node Estimated Process Level Link Utilization • Estimated Link Utilization view • Classify data flowing over a network link at different granularity in conjunction with MVAPICH2-X 2.2rc1 • Job level and • Process level More Details in Tutorial/Demo Session Tomorrow
  • 68. MVAPICH User Group Meeting (MUG) 2017 68Network Based Computing Laboratory • Available since 2004 • Suite of microbenchmarks to study communication performance of various programming models • Benchmarks available for the following programming models – Message Passing Interface (MPI) – Partitioned Global Address Space (PGAS) • Unified Parallel C (UPC) • Unified Parallel C++ (UPC++) • OpenSHMEM • Benchmarks available for multiple accelerator based architectures – Compute Unified Device Architecture (CUDA) – OpenACC Application Program Interface • Part of various national resource procurement suites like NERSC-8 / Trinity Benchmarks • Continuing to add support for newer primitives and features • Please visit the following link for more information – http://mvapich.cse.ohio-state.edu/benchmarks/ OSU Microbenchmarks
  • 69. MVAPICH User Group Meeting (MUG) 2017 69Network Based Computing Laboratory • MPI runtime has many parameters • Tuning a set of parameters can help you to extract higher performance • Compiled a list of such contributions through the MVAPICH Website – http://mvapich.cse.ohio-state.edu/best_practices/ • Initial list of applications – Amber – HoomDBlue – HPCG – Lulesh – MILC – Neuron – SMG2000 • Soliciting additional contributions, send your results to mvapich-help at cse.ohio-state.edu. • We will link these results with credits to you. Applications-Level Tuning: Compilation of Best Practices
  • 70. MVAPICH User Group Meeting (MUG) 2017 70Network Based Computing Laboratory MVAPICH2 – Plans for Exascale • Performance and Memory scalability toward 1-10M cores • Hybrid programming (MPI + OpenSHMEM, MPI + UPC, MPI + CAF …) • MPI + Task* • Enhanced Optimization for GPU Support and Accelerators • Taking advantage of advanced features of Mellanox InfiniBand • Tag Matching* • Adapter Memory* • Enhanced communication schemes for upcoming architectures • Knights Landing with MCDRAM* • NVLINK* • CAPI* • Extended topology-aware collectives • Extended Energy-aware designs and Virtualization Support • Extended Support for MPI Tools Interface (as in MPI 3.0) • Extended FT support • Support for * features will be available in future MVAPICH2 Releases
  • 71. MVAPICH User Group Meeting (MUG) 2017 71Network Based Computing Laboratory Thank You! Network-Based Computing Laboratory http://nowlab.cse.ohio-state.edu/ The MVAPICH2 Project http://mvapich.cse.ohio-state.edu/