Abstract
Recently, graph computation has emerged as an important class of high-performance computing application whose characteristics differ markedly from those of traditional, compute-bound, kernels. Libraries such as BLAS, LAPACK, and others have been successful in codifying best practices in numerical computing. The data-driven nature of graph applications necessitates a more complex application stack incorporating runtime optimization. In this paper, we present a method of phrasing graph algorithms as collections of asynchronous, concurrently executing, concise code fragments which may be invoked both locally and in remote address spaces. A runtime layer performs a number of dynamic optimizations, including message coalescing, message combining, and software routing. Practical implementations and performance results are provided for a number of representative algorithms.
- A. Lumsdaine, D. Gregor, B. Hendrickson, and J. Berry, "Challenges in parallel graph processing," Parallel Processing Letters, vol. 17, no. 1, pp. 5--20, 2007.Google Scholar
Cross Ref
- K. Lang, "Fixing two weaknesses of the spectral method," in Neural Information Processing Systems, 2005.Google Scholar
- P. ErdÝos, R. L. Graham, and E. Szemeredi, "On sparse graphs with dense long paths," Stanford Univ., Tech. Rep. CS-TR-75-504, 1975. Google Scholar
Digital Library
- L. G. Valiant, "A bridging model for parallel computation," Communications of the ACM, vol. 33, no. 8, pp. 103--111, 1990. Google Scholar
Digital Library
- J.Willcock, T. Hoefler, N. Edmonds, and A. Lumsdaine, "Active Pebbles: Parallel programming for data-driven applications," in International Conference on Supercomputing, Tucson, Arizona,May 2011. Google Scholar
Digital Library
- J. Jose, S. Potluri, M. Luo, S. Sur, and D. K. Panda, "UPC Queues for scalable graph traversals: Design and evaluation on InfiniBand clusters," in Conference on PGAS Programming Models, Oct. 2011.Google Scholar
- D. Chavarria-Miranda, S. Krishnamoorthy, and A. Vishnu, "Global Futures: A multithreaded execution model for Global Arrays-based applications," in CCGRID, 2012, pp. 393--401. Google Scholar
Digital Library
- U. Meyer and P. Sanders, "?-stepping: A parallelizable shortest path algorithm," J. Algorithms, vol. 49, no. 1, pp. 114--152, 2003. Google Scholar
Digital Library
Index Terms
Expressing graph algorithms using generalized active messages
Recommendations
Expressing graph algorithms using generalized active messages
PPoPP '13: Proceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programmingRecently, graph computation has emerged as an important class of high-performance computing application whose characteristics differ markedly from those of traditional, compute-bound, kernels. Libraries such as BLAS, LAPACK, and others have been ...
Expressing graph algorithms using generalized active messages
ICS '13: Proceedings of the 27th international ACM conference on International conference on supercomputingRecently, graph computation has emerged as an important class of high-performance computing application whose characteristics differ markedly from those of traditional, compute-bound kernels. Libraries such as BLAS, LAPACK, and others have been ...
Accelerating CUDA graph algorithms at maximum warp
PPoPP '11Graphs are powerful data representations favored in many computational domains. Modern GPUs have recently shown promising results in accelerating computationally challenging graph problems but their performance suffered heavily when the graph structure ...







Comments