Title :
A Parallel Tree Grafting Algorithm for Maximum Cardinality Matching in Bipartite Graphs
Author :
Azad, Ariful ; Buluc, Aydin ; Pothen, Alex
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;
Conference_Titel :
Parallel and Distributed Processing Symposium (IPDPS), 2015 IEEE International
Conference_Location :
Hyderabad
DOI :
10.1109/IPDPS.2015.68