On Parallel PushRelabel based Algorithms for Bipartite Maximum Matching
Abstract
We study multithreaded pushrelabel 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 multisocket multicore systems and compare their performance to stateoftheart augmenting pathbased serial and parallel algorithms using a testset comprised of a wide range of realworld instances. Building on several heuristics for enhancing performance, we demonstrate good scaling for the parallel pushrelabel algorithm. We show that it is comparable to the best augmenting pathbased algorithms for bipartite matching. To the best of our knowledge, this is the first extensive study of multithreaded pushrelabel based algorithms. In addition to a direct impact on the applications using matching, the proposed algorithmic techniques can be extended to preflowpush based algorithms for computing maximum flow in graphs.
 Authors:
 Publication Date:
 Research Org.:
 Pacific Northwest National Lab. (PNNL), Richland, WA (United States)
 Sponsoring Org.:
 USDOE
 OSTI Identifier:
 1171882
 Report Number(s):
 PNNLSA91913
400470000
 DOE Contract Number:
 AC0576RL01830
 Resource Type:
 Journal Article
 Resource Relation:
 Journal Name: Parallel Computing, 40(7):289  308
 Country of Publication:
 United States
 Language:
 English
 Subject:
 Pushrelabel, matching, bipartite
Citation Formats
Langguth, Johannes, Azad, Md Ariful, Halappanavar, Mahantesh, and Manne, Fredrik. On Parallel PushRelabel based Algorithms for Bipartite Maximum Matching. United States: N. p., 2014.
Web. doi:10.1016/j.parco.2014.03.004.
Langguth, Johannes, Azad, Md Ariful, Halappanavar, Mahantesh, & Manne, Fredrik. On Parallel PushRelabel based Algorithms for Bipartite Maximum Matching. United States. doi:10.1016/j.parco.2014.03.004.
Langguth, Johannes, Azad, Md Ariful, Halappanavar, Mahantesh, and Manne, Fredrik. Tue .
"On Parallel PushRelabel based Algorithms for Bipartite Maximum Matching". United States.
doi:10.1016/j.parco.2014.03.004.
@article{osti_1171882,
title = {On Parallel PushRelabel based Algorithms for Bipartite Maximum Matching},
author = {Langguth, Johannes and Azad, Md Ariful and Halappanavar, Mahantesh and Manne, Fredrik},
abstractNote = {We study multithreaded pushrelabel 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 multisocket multicore systems and compare their performance to stateoftheart augmenting pathbased serial and parallel algorithms using a testset comprised of a wide range of realworld instances. Building on several heuristics for enhancing performance, we demonstrate good scaling for the parallel pushrelabel algorithm. We show that it is comparable to the best augmenting pathbased algorithms for bipartite matching. To the best of our knowledge, this is the first extensive study of multithreaded pushrelabel based algorithms. In addition to a direct impact on the applications using matching, the proposed algorithmic techniques can be extended to preflowpush based algorithms for computing maximum flow in graphs.},
doi = {10.1016/j.parco.2014.03.004},
journal = {Parallel Computing, 40(7):289  308},
number = ,
volume = ,
place = {United States},
year = {Tue Jul 01 00:00:00 EDT 2014},
month = {Tue Jul 01 00:00:00 EDT 2014}
}

Two parallel algorithms for finding maximum bipartite matchings on a CRCW PRAM are presented. The first algorithm finds a maximum bipartite matching in O(n log n) time using m processors, where n is the number of vertices and m is the number of edges in the bipartite graph. The second algorithm does the same job in O(n) time using nm processors. Simple modifications of these algorithms induce parallel algorithms for finding maximum 01 flows, which are also presented.

A matrixalgebraic formulation of distributedmemory maximal cardinality matching algorithms in bipartite graphs
We describe parallel algorithms for computing maximal cardinality matching in a bipartite graph on distributedmemory systems. Unlike traditional algorithms that match one vertex at a time, our algorithms process many unmatched vertices simultaneously using a matrixalgebraic formulation of maximal matching. This generic matrixalgebraic framework is used to develop three efficient maximal matching algorithms with minimal changes. The newly developed algorithms have two benefits over existing graphbased algorithms. First, unlike existing parallel algorithms, cardinality of matching obtained by the new algorithms stays constant with increasing processor counts, which is important for predictable and reproducible performance. Second, relying on bulksynchronous matrix operations,more » 
A parallel matching algorithm for convex bipartite graphs and applications to scheduling
An efficient parallel algorithm to obtain maximum matchings in convex bipartite graphs is developed. This algorithm can be used to obtain efficient parallel algorithms for several scheduling problems. Some examples are: job scheduling with release times and deadlines; scheduling to minimize maximum cost; and preemptive scheduling to minimize maximum completion time. 
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 multicore 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 lossmore »