Parallel greedy graph matching using an edge partitioning approach

We present a parallel version of the Karp-Sipser graph matching heuristic for the maximum cardinality problem. It is bulk-synchronous, separating computation and communication, and uses an edge-based partitioning of the graph, translated from a two-dimensional partitioning of the corresponding adjacency matrix. It is shown that the communication volume of Karp-Sipser graph matching is proportional to that of parallel sparse matrix-vector multiplication (SpMV), so that efficient partitioners developed for SpMV can be used. The algorithm is presented using a small basic set of 7 message types, which are discussed in detail. Experimental results show that for most matrices, edge-based partitioning is superior to vertex-based partitioning, in terms of both parallel speedup and matching quality. Good speedups are obtained on up to 64 processors.

[1]  M. Sipser,et al.  Maximum matching in sparse random graphs , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[2]  I. Duff,et al.  Direct Methods for Sparse Matrices , 1987 .

[3]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[4]  Rolf H M Ohring,et al.  Fachbereich 3 Mathematik Cardinality Matching: Heuristic Search for Augmenting Paths Cardinality Matching: Heuristic Search for Augmenting Paths , 1995 .

[5]  Jean Roman,et al.  SCOTCH: A Software Package for Static Mapping by Dual Recursive Bipartitioning of Process and Architecture Graphs , 1996, HPCN Europe.

[6]  Alan M. Frieze,et al.  Maximum matchings in sparse random graphs: Karp-Sipser revisited , 1998, Random Struct. Algorithms.

[7]  George Karypis,et al.  Multilevel k-way Partitioning Scheme for Irregular Graphs , 1998, J. Parallel Distributed Comput..

[8]  Torsten Suel,et al.  BSPlib: The BSP programming library , 1998, Parallel Comput..

[9]  Jacob Magun Greeding matching algorithms, an experimental study , 1998, JEAL.

[10]  Ümit V. Çatalyürek,et al.  A fine-grain hypergraph model for 2D decomposition of sparse matrices , 2001, Proceedings 15th International Parallel and Distributed Processing Symposium. IPDPS 2001.

[11]  Brendan Vastenhouw,et al.  A Two-Dimensional Data Distribution Method for Parallel Sparse Matrix-Vector Multiplication , 2005, SIAM Rev..

[12]  Ami Marowka,et al.  Parallel Scientific Computation: A Structured Approach using BSP and MPI , 2006, Scalable Comput. Pract. Exp..

[13]  David A. Bader,et al.  GTgraph : A Synthetic Graph Generator Suite , 2006 .

[14]  Rob H. Bisseling,et al.  A Parallel Approximation Algorithm for the Weighted Maximum Matching Problem , 2007, PPAM.

[15]  Ümit V. Çatalyürek,et al.  A framework for scalable greedy coloring on distributed-memory parallel computers , 2008, J. Parallel Distributed Comput..

[16]  Aart J. C. Bik,et al.  Pregel: a system for large-scale graph processing - "ABSTRACT" , 2009, PODC '09.

[17]  Peter Sanders,et al.  Heuristic initialization for bipartite matching problems , 2010, JEAL.

[18]  Aart J. C. Bik,et al.  Pregel: a system for large-scale graph processing , 2010, SIGMOD Conference.

[19]  Alan M. Frieze,et al.  Finding a maximum matching in a sparse random graph in O(n) expected time , 2008, JACM.

[20]  Timothy A. Davis,et al.  The university of Florida sparse matrix collection , 2011, TOMS.