Efficient Parallel and External Matching

We study a simple parallel algorithm for computing matchings in a graph. A variant for unweighted graphs finds a maximal matching using linear expected work and ${\mathcal O}{\log^2 n}$ expected running time in the CREW PRAM model. Similar results also apply to External Memory, MapReduce and distributed memory models. In the maximum weight case the algorithm guarantees a 1/2-approximation. Although the parallel execution time is linear for worst case weights, an experimental evaluation indicates good scalabilty on distributed memory machines and on GPUs. Furthermore, the solution quality is very good in practice.

[1]  Guy E. Blelloch,et al.  Greedy sequential maximal independent set and matching are parallel on average , 2012, SPAA '12.

[2]  Rob H. Bisseling,et al.  A GPU Algorithm for Greedy Graph Matching , 2011, Facing the Multicore-Challenge.

[3]  Edward F. Grove,et al.  External-memory graph algorithms , 1995, SODA '95.

[4]  Vipin Kumar,et al.  A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs , 1998, SIAM J. Sci. Comput..

[5]  Rinker Hall Tuesdays THE UNIVERSITY OF FLORIDA. , 1905, Science.

[6]  Jaap-Henk Hoepman,et al.  Simple Distributed Weighted Matchings , 2004, ArXiv.

[7]  Charles E. Leiserson,et al.  Cache-Oblivious Algorithms , 2003, CIAC.

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

[9]  Wojciech Rytter,et al.  Fast parallel algorithms for graph matching problems , 1998 .

[10]  Peter Sanders,et al.  High quality graph partitioning , 2012, Graph Partitioning and Graph Clustering.

[11]  Peter Sanders,et al.  Engineering Algorithms for Approximate Weighted Matching , 2007, WEA.

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

[13]  Robert Preis,et al.  Linear Time 1/2-Approximation Algorithm for Maximum Weighted Matching in General Graphs , 1999, STACS.

[14]  Stefan Hougardy,et al.  Improved Linear Time Approximation Algorithms for Weighted Matchings , 2003, RANDOM-APPROX.

[15]  Sergei Vassilvitskii,et al.  A model of computation for MapReduce , 2010, SODA '10.

[16]  Marcel Birn Engineering Fast Parallel Matching Algorithms , 2012 .

[17]  Peter Sanders,et al.  A simpler linear time 2/3-epsilon approximation for maximum weight matching , 2004, Inf. Process. Lett..

[18]  Qin Zhang,et al.  Sorting, Searching, and Simulation in the MapReduce Framework , 2011, ISAAC.

[19]  Jeffrey Scott Vitter,et al.  Algorithms for parallel memory, I: Two-level memories , 2005, Algorithmica.

[20]  Kurt Mehlhorn,et al.  Review of algorithms and data structures: the basic toolbox by Kurt Mehlhorn and Peter Sanders , 2011, SIGA.

[21]  Alon Itai,et al.  A Fast and Simple Randomized Parallel Algorithm for Maximal Matching , 1986, Inf. Process. Lett..

[22]  Peter Sanders,et al.  Engineering a scalable high quality graph partitioner , 2009, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

[23]  P. Sanders,et al.  A simpler linear time 2 / 3 − ε approximation for maximum weight matching , 2004 .

[24]  Michael Luby,et al.  A simple parallel algorithm for the maximal independent set problem , 1985, STOC '85.

[25]  Alok Aggarwal,et al.  The input/output complexity of sorting and related problems , 1988, CACM.

[26]  Yves Métivier,et al.  An Optimal Bit Complexity Randomized Distributed MIS Algorithm (Extended Abstract) , 2009, SIROCCO.

[27]  Yves Métivier,et al.  An optimal bit complexity randomized distributed MIS algorithm , 2011, Distributed Computing.