July 1, 2014
Journal Article

On Parallel Push-Relabel based Algorithms for Bipartite Maximum Matching

Abstract

We study multithreaded push-relabel based algorithms for computing maximum cardinality matching in bipartite graphs. Matching is a fundamental combinatorial (graph) problem with applications in a wide variety of problems in science and engineering. We are motivated by its use in the context of sparse linear solvers for computing maximum transversal of a matrix. We implement and test our algorithms on several multi-socket multicore systems and compare their performance to state-of-the-art augmenting path-based serial and parallel algorithms using a testset comprised of a wide range of real-world instances. Building on several heuristics for enhancing performance, we demonstrate good scaling for the parallel push-relabel algorithm. We show that it is comparable to the best augmenting path-based algorithms for bipartite matching. To the best of our knowledge, this is the first extensive study of multithreaded push-relabel based algorithms. In addition to a direct impact on the applications using matching, the proposed algorithmic techniques can be extended to preflow-push based algorithms for computing maximum flow in graphs.

Revised: February 25, 2015 | Published: July 1, 2014

Citation

Langguth J., M. Azad, M. Halappanavar, and F. Manne. 2014. On Parallel Push-Relabel based Algorithms for Bipartite Maximum Matching. Parallel Computing 40, no. 7:289 - 308. PNNL-SA-91913. doi:10.1016/j.parco.2014.03.004