skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: 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.

Authors:
; ; ;
Publication Date:
Research Org.:
Pacific Northwest National Lab. (PNNL), Richland, WA (United States)
Sponsoring Org.:
USDOE
OSTI Identifier:
1171882
Report Number(s):
PNNL-SA-91913
400470000
DOE Contract Number:
AC05-76RL01830
Resource Type:
Journal Article
Resource Relation:
Journal Name: Parallel Computing, 40(7):289 - 308
Country of Publication:
United States
Language:
English
Subject:
Push-relabel, matching, bipartite

Citation Formats

Langguth, Johannes, Azad, Md Ariful, Halappanavar, Mahantesh, and Manne, Fredrik. On Parallel Push-Relabel 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 Push-Relabel 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 Push-Relabel based Algorithms for Bipartite Maximum Matching". United States. doi:10.1016/j.parco.2014.03.004.
@article{osti_1171882,
title = {On Parallel Push-Relabel based Algorithms for Bipartite Maximum Matching},
author = {Langguth, Johannes and Azad, Md Ariful and Halappanavar, Mahantesh and Manne, Fredrik},
abstractNote = {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.},
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 0-1 flows, which are also presented.
  • We describe parallel algorithms for computing maximal cardinality matching in a bipartite graph on distributed-memory systems. Unlike traditional algorithms that match one vertex at a time, our algorithms process many unmatched vertices simultaneously using a matrix-algebraic formulation of maximal matching. This generic matrix-algebraic framework is used to develop three efficient maximal matching algorithms with minimal changes. The newly developed algorithms have two benefits over existing graph-based 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 bulk-synchronous matrix operations,more » these algorithms expose a higher degree of parallelism on distributed-memory platforms than existing graph-based algorithms. We report high-performance implementations of three maximal matching algorithms using hybrid OpenMP-MPI and evaluate the performance of these algorithm using more than 35 real and randomly generated graphs. On real instances, our algorithms achieve up to 200 × speedup on 2048 cores of a Cray XC30 supercomputer. Even higher speedups are obtained on larger synthetically generated graphs where our algorithms show good scaling on up to 16,384 cores.« less
  • 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.
  • Abstract—We design, implement, and evaluate algorithms for computing a matching of maximum cardinality in a bipartite graph on multi-core 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 » of concurrency and performance. But this raises the question: Would parallel matching algorithms on multithreaded machines improve performance over a serial algorithm? We answer this question in the affirmative. We report efficient multithreaded implementations of two key algorithms (Hopcroft- Karp based on breadth-first-search, and Pothen-Fan based on depth-first-search) and their variants, combined with the Karp- Sipser initialization algorithm. We report extensive results and insights using three shared-memory platforms (a 48-core AMD Opteron, a 32-core Intel Nehalem, and a 128-processor Cray XMT) on a representative set of real-world and synthetic graphs. To the best of our knowledge, this is the first extensive study of augmentation-based parallel algorithms for bipartite cardinality matching.« less