Abstract | ||
---|---|---|
Graph matching is a prototypical combinatorial problem with many applications in high-performance scientific computing. Optimal algorithms for computing matchings are challenging to parallelize. Approximation algorithms are amenable to parallelization and are therefore important to compute matchings for large-scale problems. Approximation algorithms also generate nearly optimal solutions that are sufficient for many applications. In this paper we present multithreaded algorithms for computing half-approximate weighted matching on state-of-the-art multicore (Intel Nehalem and AMD Magny-Cours), manycore (Nvidia Tesla and Nvidia Fermi), and massively multithreaded (Cray XMT) platforms. We provide two implementations: the first uses shared work queues and is suited for all platforms; and the second implementation, based on dataflow principles, exploits special features available on the Cray XMT. Using a carefully chosen dataset that exhibits characteristics from a wide range of applications, we show scalable performance across different platforms. In particular, for one instance of the input, an R-MAT graph (RMAT-G), we show speedups of about 32 on 48 cores of an AMD Magny-Cours, 7 on 8 cores of Intel Nehalem, 3 on Nvidia Tesla and 10 on Nvidia Fermi relative to one core of Intel Nehalem, and 60 on 128 processors of Cray XMT. We demonstrate strong as well as weak scaling for graphs with up to a billion edges using up to 12,800 threads. We avoid excessive fine-tuning for each platform and retain the basic structure of the algorithm uniformly across platforms. An exception is the dataflow algorithm designed specifically for the Cray XMT. To the best of the authors' knowledge, this is the first such large-scale study of the half-approximate weighted matching problem on multithreaded platforms. Driven by the critical enabling role of combinatorial algorithms such as matching in scientific computing and the emergence of informatics applications, there is a growing demand to support irregular computations on current and future computing platforms. In this context, we evaluate the capability of emerging multithreaded platforms to tolerate latency induced by irregular memory access patterns, and to support fine-grained parallelism via light-weight synchronization mechanisms. By contrasting the architectural features of these platforms against the Cray XMT, which is specifically designed to support irregular memory-intensive applications, we delineate the impact of these choices on performance. |
Year | DOI | Venue |
---|---|---|
2012 | 10.1177/1094342012452893 | IJHPCA |
Keywords | Field | DocType |
nvidia tesla,nvidia fermi,amd magny-cours,approximate weighted matching,scientific computing,future computing platform,approximation algorithm,multithreaded architecture,multithreaded platform,high-performance scientific computing,intel nehalem,cray xmt,dataflow,matching,approximation,multicore | Approximation algorithm,Synchronization,Cray XMT,Computer science,Parallel computing,Matching (graph theory),Thread (computing),Theoretical computer science,Dataflow,Multi-core processor,Distributed computing,Scalability | Journal |
Volume | Issue | ISSN |
26 | 4 | 1094-3420 |
Citations | PageRank | References |
17 | 0.75 | 23 |
Authors | ||
5 |
Name | Order | Citations | PageRank |
---|---|---|---|
Mahantesh Halappanavar | 1 | 218 | 33.64 |
John Feo | 2 | 177 | 21.16 |
Oreste Villa | 3 | 497 | 33.54 |
Antonino Tumeo | 4 | 356 | 44.70 |
Alex Pothen | 5 | 33 | 4.50 |