A Distributed-Memory Algorithm for Computing a Heavy-Weight Perfect Matching on Bipartite Graphs
Ariful Azad, Ayd{\i}n Buluc, Xiaoye S. Li, Xinliang Wang, Johannes, Langguth

TL;DR
This paper introduces a scalable distributed-memory algorithm for finding high-weight perfect matchings in bipartite graphs, crucial for scalable sparse direct solvers, outperforming sequential methods in large-scale scenarios.
Contribution
It presents a fully parallel distributed algorithm that improves perfect matchings iteratively, enabling large-scale bipartite graph matching on supercomputers.
Findings
Scales efficiently up to 256 nodes (17,408 cores) on Cray XC40.
Produces near-optimal high-weight perfect matchings.
Handles problem instances too large for sequential algorithms.
Abstract
We design and implement an efficient parallel algorithm for finding a perfect matching in a weighted bipartite graph such that weights on the edges of the matching are large. This problem differs from the maximum weight matching problem, for which scalable approximation algorithms are known. It is primarily motivated by finding good pivots in scalable sparse direct solvers before factorization. Due to the lack of scalable alternatives, distributed solvers use sequential implementations of maximum weight perfect matching algorithms, such as those available in MC64. To overcome this limitation, we propose a fully parallel distributed memory algorithm that first generates a perfect matching and then iteratively improves the weight of the perfect matching by searching for weight-increasing cycles of length four in parallel. For most practical problems the weights of the perfect matchings…
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.
