DocumentCode
723710
Title
A Parallel Tree Grafting Algorithm for Maximum Cardinality Matching in Bipartite Graphs
Author
Azad, Ariful ; Buluc, Aydin ; Pothen, Alex
fYear
2015
fDate
25-29 May 2015
Firstpage
1075
Lastpage
1084
Abstract
In computing matching´s in graphs on parallel processors, it is challenging to achieve high performance because these algorithms rely on searching for paths in the graph, and when these paths become long, there is little concurrency. We present a new algorithm and its shared-memory parallelization for computing maximum cardinality matching´s 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. Unfortunately, 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 favourably 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. 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.
Keywords
graph theory; mathematics computing; multi-threading; parallel processing; shared memory systems; tree searching; BFS; NUMA-aware implementation; bipartite graph; breadth-first search; maximum cardinality matching; multithread machine; parallel processor; parallel tree grafting algorithm; shared-memory parallelization; Algorithm design and analysis; Approximation algorithms; Bipartite graph; Parallel algorithms; Prediction algorithms; Vegetation; bipartite graph; cardinality matching; matching; tree grafting;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel and Distributed Processing Symposium (IPDPS), 2015 IEEE International
Conference_Location
Hyderabad
ISSN
1530-2075
Type
conf
DOI
10.1109/IPDPS.2015.68
Filename
7161592
Link To Document