New Effective Multithreaded Matching Algorithms

Matching is an important combinatorial problem with a number of applications in areas such as community detection, sparse linear algebra, and network alignment. Since computing optimal matchings can be very time consuming, several fast approximation algorithms, both sequential and parallel, have been suggested. Common to the algorithms giving the best solutions is that they tend to be sequential by nature, while algorithms more suitable for parallel computation give solutions of lower quality. We present a new simple 1/2-approximation algorithm for the weighted matching problem. This algorithm is both faster than any other suggested sequential 1/2-approximation algorithm on almost all inputs and when parallelized also scales better than previous multithreaded algorithms. We further extend this to a general scalable multithreaded algorithm that computes matchings of weight comparable with the best sequential deterministic algorithms. The performance of the suggested algorithms is documented through extensive experiments on different multithreaded architectures.

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

[2]  David Avis,et al.  A survey of heuristics for the weighted matching problem , 1983, Networks.

[3]  A. Pothen,et al.  Algorithms for Vertex-Weighted Matching in Graphs , 2009 .

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

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

[6]  David A. Bader,et al.  Parallel Community Detection for Massive Graphs , 2011, PPAM.

[7]  David F. Gleich,et al.  A multithreaded algorithm for network alignment via approximate matching , 2012, 2012 International Conference for High Performance Computing, Networking, Storage and Analysis.

[8]  Antonino Tumeo,et al.  Approximate weighted matching on emerging manycore and multithreaded architectures , 2012, Int. J. High Perform. Comput. Appl..

[9]  Ümit V. Çatalyürek,et al.  Distributed-Memory Parallel Algorithms for Matching and Coloring , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

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

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

[12]  Vitaly Osipov,et al.  Efficient Parallel and External Matching , 2013, Euro-Par.

[13]  Mehmet Deveci,et al.  Multithreaded Clustering for Multi-level Hypergraph Partitioning , 2012, 2012 IEEE 26th International Parallel and Distributed Processing Symposium.

[14]  Christos Faloutsos,et al.  Graph mining: Laws, generators, and algorithms , 2006, CSUR.

[15]  Harold N. Gabow,et al.  Data structures for weighted matching and nearest common ancestors with linking , 1990, SODA '90.

[16]  Xin-She Yang,et al.  Introduction to Algorithms , 2021, Nature-Inspired Optimization Algorithms.

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

[18]  Stefan Hougardy,et al.  A simple approximation algorithm for the weighted matching problem , 2003, Inf. Process. Lett..

[19]  Jean R. S. Blair,et al.  Experiments on Union-Find Algorithms for the Disjoint-Set Data Structure , 2010, SEA.

[20]  Ronald L. Rivest,et al.  Introduction to Algorithms, 3rd Edition , 2009 .