Computing Maximum Cardinality Matchings in Parallel on Bipartite Graphs via Tree-Grafting

被引:15
作者
Azad, Ariful [1 ]
Buluc, Aydin [1 ]
Pothen, Alex [2 ]
机构
[1] Lawrence Berkeley Natl Lab, Computat Res Div, Berkeley, CA 94720 USA
[2] Purdue Univ, Dept Comp Sci, W Lafayette, IN 47907 USA
基金
美国国家科学基金会;
关键词
Cardinality matching; bipartite graph; tree grafting; parallel algorithms; RELABEL BASED ALGORITHMS; SPARSE;
D O I
10.1109/TPDS.2016.2546258
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
It is difficult to obtain high performance when computing matchings on parallel processors because matching algorithms explicitly or implicitly search for paths in the graph, and when these paths become long, there is little concurrency. In spite of this limitation, we present a new algorithm and its shared-memory parallelization that achieves good performance and scalability in computing maximum cardinality matchings in bipartite graphs. Our algorithm searches for augmenting paths via specialized breadth-first searches (BFS) from multiple source vertices, hence creating more parallelism than single source algorithms. Algorithms that employ multiple-source searches cannot discard a search tree once no augmenting path is discovered from the tree, unlike algorithms that rely on single-source searches. We describe a novel tree-grafting method that eliminates most of the redundant edge traversals resulting from this property of multiple-source searches. We also employ the recent direction-optimizing BFS algorithm as a subroutine to discover augmenting paths faster. Our algorithm compares favorably with the current best algorithms in terms of the number of edges traversed, the average augmenting path length, and the number of iterations. We provide a proof of correctness for our algorithm. Our NUMA-aware implementation is scalable to 80 threads of an Intel multiprocessor and to 240 threads on an Intel Knights Corner coprocessor. On average, our parallel algorithm runs an order of magnitude faster than the fastest algorithms available. The performance improvement is more significant on graphs with small matching number.
引用
收藏
页码:44 / 59
页数:16
相关论文
共 33 条
[1]  
Agarwal V., 2010, PROC ACM IEEE INT C, P1
[2]  
[Anonymous], P IPDPS IN PRESS
[3]  
[Anonymous], 2010, J EXPT ALGORITHMICS
[4]  
[Anonymous], NETWORK FLOWS MATCHI
[5]  
[Anonymous], GRAPH500 BENCHMARK
[6]  
[Anonymous], 1981, 22 ANN S FDN COMPUTE
[7]  
[Anonymous], IC9609 U CAMP
[8]  
[Anonymous], 1998, COMBINATORIAL OPTIMI
[9]   A Parallel Tree Grafting Algorithm for Maximum Cardinality Matching in Bipartite Graphs [J].
Azad, Ariful ;
Buluc, Aydin ;
Pothen, Alex .
2015 IEEE 29TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS), 2015, :1075-1084
[10]   Multithreaded Algorithms for Matching in Graphs with Application to Data Analysis in Flow Cytometry [J].
Azad, Ariful ;
Pothen, Alex .
2012 IEEE 26TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS & PHD FORUM (IPDPSW), 2012, :2494-2497