Title :
Multithreaded Algorithms for Maximum Matching in Bipartite Graphs
Author :
Azad, A. ; Halappanavar, Mahantesh ; Rajamanickam, Sivasankaran ; Boman, Erik G. ; Khan, Ajmal ; Pothen, A.
Abstract :
We design, implement, and evaluate algorithms for computing a matching of maximum cardinality in a bipartite graph on multicore and massively multithreaded computers. As computers with larger numbers of slower cores dominate the commodity processor market, the design of multithreaded algorithms to solve large matching problems becomes a necessity. Recent work on serial algorithms for the matching problem has shown that their performance is sensitive to the order in which the vertices are processed for matching. In a multithreaded environment, imposing a serial order in which vertices are considered for matching would lead to loss of concurrency and performance. But this raises the question: {em Would parallel matching algorithms on multithreaded machines improve performance over a serial algorithm?}We answer this question in the affirmative. We report efficient multithreaded implementations of three classes of algorithms based on their manner of searching for augmenting paths: breadth-first-search, depth-first-search, and a combination of both. The Karp-Sipser initialization algorithm is used to make the parallel algorithms practical. We report extensive results and insights using three shared-memory platforms (a 48-core AMD Opteron, a 32-coreIntel Nehalem, and a 128-processor Cray XMT) on a representative set of real-world and synthetic graphs. To the best of our knowledge, this is the first study of augmentation-based parallel algorithms for bipartite cardinality matching that demonstrates good speedups on multithreaded shared memory multiprocessors.
Keywords :
concurrency theory; graph theory; multi-threading; parallel algorithms; pattern matching; shared memory systems; tree searching; Karp-Sipser initialization algorithm; augmentation-based parallel algorithm; bipartite cardinality matching; bipartite graph; breadth first search; commodity processor market; concurrency; depth first search; multiprocessing system; multithreaded algorithm; multithreaded machine; parallel matching algorithm; serial algorithm; shared memory system; synthetic graph; Algorithm design and analysis; Arrays; Bipartite graph; Heuristic algorithms; Instruction sets; Multicore processing; Parallel algorithms; bipartite graphs; maximum cardinality matchings; multithreaded algorithm; parallel algorithm;
Conference_Titel :
Parallel & Distributed Processing Symposium (IPDPS), 2012 IEEE 26th International
Conference_Location :
Shanghai
Print_ISBN :
978-1-4673-0975-2
DOI :
10.1109/IPDPS.2012.82