Multithreaded Algorithms for Maximum Matching in Bipartite Graphs
Abstract—We design, implement, and evaluate algorithms for computing a matching of maximum cardinality in a bipartite graph on multi-core and massively multithreaded computers. As computers with larger number of slower cores dominate the commodity processor market, the design of multithreaded algorithms to solve large matching problems becomes a necessity. Recent work on serial algorithms based on searching for augmenting paths for this problem have shown that their performance is sensitive to the order in which the vertices are processed for matching. In a multithreaded environment, imposing a serial order in which vertices are considered for matching would lead to loss of concurrency and performance. But this raises the question: Would parallel matching algorithms on multithreaded machines improve performance over a serial algorithm? We answer this question in the affirmative. We report efficient multithreaded implementations of two key algorithms (Hopcroft- Karp based on breadth-first-search, and Pothen-Fan based on depth-first-search) and their variants, combined with the Karp- Sipser initialization algorithm. We report extensive results and insights using three shared-memory platforms (a 48-core AMD Opteron, a 32-core Intel Nehalem, and a 128-processor Cray XMT) on a representative set of real-world and synthetic graphs. To the best of our knowledge, this is the first extensive study of augmentation-based parallel algorithms for bipartite cardinality matching.
- Research Organization:
- Pacific Northwest National Laboratory (PNNL), Richland, WA (US)
- Sponsoring Organization:
- USDOE
- DOE Contract Number:
- AC05-76RL01830
- OSTI ID:
- 1053377
- Report Number(s):
- PNNL-SA-83617; 400470000
- Country of Publication:
- United States
- Language:
- English
Similar Records
On Parallel Push-Relabel based Algorithms for Bipartite Maximum Matching
Approximate Weighted Matching On Emerging Manycore and Multithreaded Architectures
Computing Maximum Cardinality Matchings in Parallel on Bipartite Graphs via Tree-Grafting
Journal Article
·
Tue Jul 01 00:00:00 EDT 2014
· Parallel Computing, 40(7):289 - 308
·
OSTI ID:1171882
Approximate Weighted Matching On Emerging Manycore and Multithreaded Architectures
Journal Article
·
Thu Nov 29 23:00:00 EST 2012
· International Journal of High Performance Computing Applications, 26 (4 ):413-430
·
OSTI ID:1057347
Computing Maximum Cardinality Matchings in Parallel on Bipartite Graphs via Tree-Grafting
Journal Article
·
Thu Mar 24 00:00:00 EDT 2016
· IEEE Transactions on Parallel and Distributed Systems
·
OSTI ID:1379627