Making Applications Faster by Asynchronous Execution: Slowing Down Processes or Relaxing MPI Collectives
Ayesha Afzal, Georg Hager, Stefano Markidis, Gerhard Wellein

TL;DR
This paper explores how intentionally slowing down MPI processes or relaxing collective operations can improve performance in memory-bound parallel programs on HPC clusters, challenging conventional views on noise and synchronization.
Contribution
It introduces the concept of leveraging controlled delays and asynchronous MPI communication to enhance performance, supported by visualization tools and experiments on various benchmarks.
Findings
Deliberate delays can improve performance under certain conditions
Noise can be beneficial rather than detrimental in parallel execution
Phase-space graphs effectively visualize complex program dynamics
Abstract
Comprehending the performance bottlenecks at the core of the intricate hardware-software interactions exhibited by highly parallel programs on HPC clusters is crucial. This paper sheds light on the issue of automatically asynchronous MPI communication in memory-bound parallel programs on multicore clusters and how it can be facilitated. For instance, slowing down MPI processes by deliberate injection of delays can improve performance if certain conditions are met. This leads to the counter-intuitive conclusion that noise, independent of its source, is not always detrimental but can be leveraged for performance improvements. We employ phase-space graphs as a new tool to visualize parallel program dynamics. They are useful in spotting certain patterns in parallel execution that will easily go unnoticed with traditional tracing tools. We investigate five different microbenchmarks and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Advanced Data Storage Technologies · Cloud Computing and Resource Management
