Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

A matrix-algebraic formulation of distributed-memory maximal cardinality matching algorithms in bipartite graphs

Published: 01 October 2016 Publication History

Abstract

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, 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.

References

[1]
A. Pothen, C.-J. Fan, Computing the block triangular form of a sparse matrix, ACM Trans. Math. Softw., 16 (1990) 303-324.
[2]
T.A. Davis, E. Palamadai Natarajan, Algorithm 907: KLU, a direct sparse solver for circuit simulation problems, ACM Trans. Math. Softw., 37 (2010) 36.
[3]
X.S. Li, J.W. Demmel, SuperLU_DIST: A scalable distributed-memory sparse direct solver for unsymmetric linear systems, ACM Trans. Math. Softw., 29 (2003) 110-140.
[4]
I.S. Duff, K. Kaya, B. Uçar, Design, implementation, and analysis of maximum transversal algorithms, ACM Trans. Math. Softw., 38 (2011).
[5]
A. Azad, M. Halappanavar, S. Rajamanickam, E.G. Boman, A. Khan, A. Pothen, Multithreaded algorithms for maximum matching in bipartite graphs, IEEE, 2012.
[6]
K. Kaya, J. Langguth, F. Manne, B. Uçar, Push-Relabel based algorithms for the maximum transversal problem, Comput. Operat. Res., 40 (2013) 1266-1275.
[7]
J. Langguth, A. Azad, M. Halappanavar, F. Manne, On parallel push-relabel based algorithms for bipartite maximum matching, Parallel Comput., 40 (2014) 289-308.
[8]
A. Azad, A. Buluç, Distributed-memory algorithms for maximum cardinality matching in bipartite graphs, IEEE, 2016.
[9]
J.C. Setubal, Sequential and parallel experimental results with bipartite matching algorithms, University of Campinas, 1996.
[10]
J. Magun, Greeding matching algorithms, an experimental study, J. Exp. Algo., 3 (1998) 6.
[11]
J. Langguth, F. Manne, P. Sanders, Heuristic initialization for bipartite matching problems, J. Exp. Algo., 15 (2010) 1-3.
[12]
M.M.A. Patwary, R.H. Bisseling, F. Manne, Parallel greedy graph matching using an edge partitioning approach, ACM, 2010.
[13]
A. Azad, A. Buluç, Distributed-memory algorithms for maximal cardinality matching using matrix algebra, 2015.
[14]
R.M. Karp, M. Sipser, Maximum matching in sparse random graphs, IEEE, 1981.
[15]
M. Karpinski, W. Rytter, Fast parallel algorithms for graph matching problems, Clarendon Press, 1998.
[16]
J. Langguth, M.M.A. Patwary, F. Manne, Parallel algorithms for bipartite matching problems on distributed memory computers, Parallel Comput., 37 (2011) 820-845.
[17]
D.P. Bertsekas, D.A. Castañon, Parallel synchronous and asynchronous implementations of the auction algorithm, Parallel Comput., 17 (1991) 707-732.
[18]
M. Sathe, O. Schenk, H. Burkhart, An auction-based weighted matching implementation on massively parallel architectures, Parallel Comput., 38 (2012) 595-614.
[19]
U.V. Catalyurek, F. Dobrian, A. Gebremedhin, M. Halappanavar, A. Pothen, Distributed-memory parallel algorithms for matching and coloring, IEEE, 2011.
[20]
F. Manne, R.H. Bisseling, A parallel approximation algorithm for the weighted maximum matching problem, Springer-Verlag, Berlin, Heidelberg, 2008.
[21]
M. Halappanavar, J. Feo, O. Villa, A. Tumeo, A. Pothen, Approximate weighted matching on emerging manycore and multithreaded architectures, Int. J. High Performance Comput. Appl., 26 (2012) 413-430.
[22]
F. Manne, M. Halappanavar, New effective multithreaded matching algorithms, IEEE, 2014.
[23]
A. Buluç, J.R. Gilbert, The combinatorial BLAS: design, implementation, and applications, Int. J. High Performance Comput. Appl., 25 (2011).
[24]
A. Buluç, K. Madduri, Parallel breadth-first search on distributed memory systems, ACM, 2011.
[25]
R. Thakur, R. Rabenseifner, W. Gropp, Optimization of collective communication operations in MPICH, Int. J. High Performance Comput. Appl., 19 (2005) 49-66.
[26]
T.A. Davis, Y. Hu, The university of Florida sparse matrix collection, ACM Trans. Math. Softw., 38 (2011) 1.
[27]
D. Chakrabarti, Y. Zhan, C. Faloutsos, R-MAT: a recursive model for graph mining, 2004.
[28]
Graph500 benchmark, (http://www.graph500.org).
[29]
Combinatorial BLAS 1.5, (http://gauss.cs.ucsb.edu/~aydin/CombBLAS/html/).
[30]
A. Buluç, J.T. Fineman, M. Frigo, J.R. Gilbert, C.E. Leiserson, Parallel sparse matrix-vector and matrix-transpose-vector multiplication using compressed sparse blocks, ACM, 2009.

Cited By

View all
  1. A matrix-algebraic formulation of distributed-memory maximal cardinality matching algorithms in bipartite graphs

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image Parallel Computing
    Parallel Computing  Volume 58, Issue C
    October 2016
    157 pages

    Publisher

    Elsevier Science Publishers B. V.

    Netherlands

    Publication History

    Published: 01 October 2016

    Author Tags

    1. bipartite graph
    2. cardinality matching
    3. matrix-algebra
    4. parallel algorithm

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 18 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    View options

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media