Computing maximum matching in parallel on bipartite graphs: worth the effort?

  • Authors:
  • Ariful Azad;Mahantesh Halappanavar;Florin Dobrian;Alex Pothen

  • Affiliations:
  • Purdue University, West Lafayette, IN, USA;Pacific Northwest National Laboratory, Richland, WA, USA;Conviva Inc., San Mateo, CA, USA;Purdue University, West Lafayette, IN, USA

  • Venue:
  • Proceedings of the first workshop on Irregular applications: architectures and algorithm
  • Year:
  • 2011

Quantified Score

Hi-index 0.03

Visualization

Abstract

We discuss parallel algorithms for computing maximum matchings in bipartite graphs on multithreaded computers, reporting for the first time, good speedups for the maximum cardinality matching problem. Experiments with serial matching algorithms have shown that their performance is sensitive to the order in which vertices are processed. In the execution of a multithreaded parallel algorithm for matching, variability in the order in which different threads process vertices is unavoidable. This sensitivity raises the possibility that different execution orderings might adversely affect the performance of parallel matching algorithms. In this paper, we answer this question by showing that good speedups are attainable by careful design of algorithms tuned to the characteristics of multithreaded architectures and the structure of the input graphs. We discuss preliminary results from parallel implementations of two key algorithms (Hopcroft-Karp and Pothen-Fan) and their variants on three multithreaded platforms (Cray XMT, AMD Opteron and Intel Nehalem) using a carefully chosen test set from real-world applications as well as synthetical graphs.