Lightweight MPI Communicators with Applications to Perfectly Balanced Quicksort
Michael Axtmann, Armin Wiebigke, Peter Sanders

TL;DR
This paper introduces RBC, a library for creating range-based MPI communicators in constant time, enabling efficient, flexible parallel algorithms like Janus Quicksort with significantly improved performance and load balancing.
Contribution
The paper presents RBC, a novel MPI-based library for instant creation of range-based communicators, and proposes Janus Quicksort, a load-balanced distributed sorting algorithm utilizing RBC.
Findings
RBC reduces communicator creation time by over 400 times.
Janus Quicksort's performance improves by a factor of 15 with RBC.
RBC maintains collective operation performance despite faster communicator creation.
Abstract
MPI uses the concept of communicators to connect groups of processes. It provides nonblocking collective operations on communicators to overlap communication and computation. Flexible algorithms demand flexible communicators. E.g., a process can work on different subproblems within different process groups simultaneously, new process groups can be created, or the members of a process group can change. Depending on the number of communicators, the time for communicator creation can drastically increase the running time of the algorithm. Furthermore, a new communicator synchronizes all processes as communicator creation routines are blocking collective operations. We present RBC, a communication library based on MPI, that creates range-based communicators in constant time without communication. These RBC communicators support (non)blocking point-to-point communication as well as…
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 · Distributed and Parallel Computing Systems
