High Performance and Scalable Graph Computation on GPUs

Chapter
Part of the Studies in Systems, Decision and Control book series (SSDC, volume 145)

Abstract

High compute power provided by the many-threaded SIMT model of Graphics Processing Units (GPUs) accompanied with the recent advancements in their programmability has allowed expression of massively parallel computations. Graph processing is one of the applications that expose such parallelism, and hence, candidates GPUs as attractive execution platforms. However, irregularities in large real-world graphs makes effective and scalable utilization of symmetric GPU architecture a challenging task. While degree distribution in graphs extracted from real-world origins is usually power law, GPUs demand homogeneous computation patterns on consecutive data elements. This article summarizes recent research advancements to overcome this challenge. We first overview the main concepts in the field of graph processing on GPUs . Then, we introduce novel graph representations that, unlike conventional storage formats, are a better match for GPUs . We then present a GPU-friendly decomposition scheme that provides balanced thread to task assignment and enhances the scalability and the execution performance. Finally, we discuss a set of techniques that allow scaling the computation over multiple GPUs efficiently.

Keywords

GPU GPGPU Parallel Graph Scalable High performance SIMT Irregular computation Graph representation SIMD task decomposition 

References

  1. 1.
    F. Khorasani, K. Vora, R. Gupta, L.N. Bhuyan, 2014. CuSha: vertex-centric graph processing on GPUs, in Proceedings of the 23rd International Symposium on High-Performance Parallel and Distributed Computing (HPDC ’14) (ACM, New York, NY, USA), pp. 239–252.  https://doi.org/10.1145/2600212.2600227
  2. 2.
    S. Hong, S.K Kim, T. Oguntebi, K. Olukotun, Accelerating CUDA graph algorithms at maximum warp, in Proceedings of the 16th ACM Symposium on Principles and Practice of Parallel Programming (PPoPP ’11) (ACM, New York, NY, USA, 2011), pp. 267–276.  https://doi.org/10.1145/1941553.1941590
  3. 3.
    A. Gharaibeh, L.B. Costa, E. Santos-Neto, M. Ripeanu, A yoke of oxen and a thousand chickens for heavy lifting graph processing, in 2012 21st International Conference on Parallel Architectures and Compilation Techniques (PACT) (Minneapolis, MN, 2012), pp. 345–354Google Scholar
  4. 4.
    F. Khorasani, R. Gupta, L.N. Bhuyan, Scalable SIMD-efficient graph processing on GPUs, in 2015 International Conference on Parallel Architecture and Compilation (PACT) (San Francisco, CA, 2015), pp. 39–50.  https://doi.org/10.1109/PACT.2015.15
  5. 5.
    A. Kyrola, G.E. Blelloch, C. Guestrin, textitGraphchi: Large-scale graph computation on just a pc (USENIX, 2012)Google Scholar
  6. 6.
    P. Harish, P.J. Narayanan, Accelerating large graph algorithms on the GPU using CUDA. HiPC 7, 197–208 (2007)Google Scholar
  7. 7.
    F. Khorasani, High Performance Vertex-Centric Graph Analytics on GPUs (University of California, Riverside, PhD diss., 2016)Google Scholar

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  1. 1.Georgia Institute of TechnologyAtlantaUSA

Personalised recommendations