Multithreaded Algorithms for Graph Coloring
Graph algorithms are challenging to parallelize when high performance and scalability are primary goals. Low concurrency, poor data locality, irregular access pattern, and high data access to computation ratio are among the chief reasons for the challenge. The performance implication of these features is exasperated on distributed memory machines. More success is being achieved on shared-memory, multi-core architectures supporting multithreading. We consider a prototypical graph problem, coloring, and show how a greedy algorithm for solving it can be e*ectively parallelized on multithreaded architectures. We present in particular two di*erent parallel algorithms. The first relies on speculation and iteration, and is suitable for any shared-memory, multithreaded system. The second uses data ow principles and is targeted at the massively multithreaded Cray XMT system. We benchmark the algorithms on three di*erent platforms and demonstrate scalable runtime performance. In terms of quality of solution, both algorithms use nearly the same number of colors as the serial algorithm.
- Research Organization:
- Pacific Northwest National Lab. (PNNL), Richland, WA (United States)
- Sponsoring Organization:
- USDOE
- DOE Contract Number:
- AC05-76RL01830
- OSTI ID:
- 1054034
- Report Number(s):
- PNNL-SA-77886; 400470000
- Journal Information:
- Parallel Computing, 38(10-11):576-594, Journal Name: Parallel Computing, 38(10-11):576-594
- Country of Publication:
- United States
- Language:
- English
Similar Records
LDRD final report : massive multithreading applied to national infrastructure and informatics.
Multithreaded Algorithms for Maximum Matching in Bipartite Graphs