skip to main content
article

Parallel graph processing on graphics processors made easy

Published:01 August 2013Publication History
Skip Abstract Section

Abstract

This paper demonstrates Medusa, a programming framework for parallel graph processing on graphics processors (GPUs). Medusa enables developers to leverage the massive parallelism and other hardware features of GPUs by writing sequential C/C++ code for a small set of APIs. This simplifies the implementation of parallel graph processing on the GPU. The runtime system of Medusa automatically executes the user-defined APIs in parallel on the GPU, with a series of graph-centric optimizations based on the architecture features of GPUs. We will demonstrate the steps of developing GPU-based graph processing algorithms with Medusa, and the superior performance of Medusa with both real-world and synthetic datasets.

References

  1. GTGraph generator. http://www.cse.psu.edu/~madduri/software/GTgraph/index.html, accessed on Feb 17th, 2013.Google ScholarGoogle Scholar
  2. Stanford large network dataset collections. http://snap.stanford.edu/data/index.html, accessed on Feb 17th, 2013.Google ScholarGoogle Scholar
  3. J. Berry, B. Hendrickson, S. Kahan, and P. Konecny. Software and algorithms for graph queries on multithreaded architectures. In IPDPS, March 2007.Google ScholarGoogle Scholar
  4. J. Dean and S. Ghemawat. MapReduce: simplified data processing on large clusters. Communications of the ACM, 51(1):107-113, 2008. Google ScholarGoogle Scholar
  5. P. Harish and P. J. Narayanan. Accelerating large graph algorithms on the GPU using CUDA. In HiPC, 2007. Google ScholarGoogle Scholar
  6. B. He, W. Fang, Q. Luo, N. K. Govindaraju, and T. Wang. Mars: a MapReduce framework on graphics processors. In PACT, 2008. Google ScholarGoogle Scholar
  7. G. He, H. Feng, C. Li, and H. Chen. Parallel SimRank computation on large graphs with iterative aggregation. In SIGKDD, 2010. Google ScholarGoogle Scholar
  8. S. Hong, S. K. Kim, T. Oguntebi, and K. Olukotun. Accelerating CUDA graph algorithms at maximum warp. In PPoPP, 2011. Google ScholarGoogle Scholar
  9. J. Lin and M. Schatz. Design patterns for efficient graph algorithms in MapReduce. In MLG, 2010. Google ScholarGoogle Scholar
  10. Y. Low and et al. GraphLab: A new parallel framework for machine learning. In UAI, July 2010.Google ScholarGoogle Scholar
  11. G. Malewicz and et al. Pregel: A system for large-scale graph processing. In SIGMOD, 2010. Google ScholarGoogle Scholar
  12. S. Sengupta, M. Harris, and M. Garland. Efficient parallel scan algorithms for GPUs. NVIDIA, Tech. Rep. NVR-2008-003.Google ScholarGoogle Scholar
  13. M. C. Shebanow. Pervasive massively multithreaded GPU processors. In CF, 2009. Google ScholarGoogle Scholar
  14. J. Zhong and B. He. GViewer: GPU-accelerated graph visualization and mining. In SocInfo, pages 304-307, 2011. Google ScholarGoogle Scholar
  15. J. Zhong and B. He. Kernelet: High-throughput GPU kernel executions with dynamic slicing and scheduling, 2013.Google ScholarGoogle Scholar
  16. J. Zhong and B. He. Medusa: Simplified graph processing on GPUs. IEEE TPDS, 99(PrePrints):1, 2013.Google ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

  • Published in

    cover image Proceedings of the VLDB Endowment
    Proceedings of the VLDB Endowment  Volume 6, Issue 12
    August 2013
    264 pages

    Publisher

    VLDB Endowment

    Publication History

    • Published: 1 August 2013
    Published in pvldb Volume 6, Issue 12

    Qualifiers

    • article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader