DocumentCode :
2959310
Title :
Multithreaded Algorithms for Maximum Matching in Bipartite Graphs
Author :
Azad, A. ; Halappanavar, Mahantesh ; Rajamanickam, Sivasankaran ; Boman, Erik G. ; Khan, Ajmal ; Pothen, A.
fYear :
2012
fDate :
21-25 May 2012
Firstpage :
860
Lastpage :
872
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;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Parallel & Distributed Processing Symposium (IPDPS), 2012 IEEE 26th International
Conference_Location :
Shanghai
ISSN :
1530-2075
Print_ISBN :
978-1-4673-0975-2
Type :
conf
DOI :
10.1109/IPDPS.2012.82
Filename :
6267894
Link To Document :
بازگشت