skip to main content
column

Medusa: A Parallel Graph Processing System on Graphics Processors

Published:04 December 2014Publication History
Skip Abstract Section

Abstract

Medusa is a parallel graph processing system on graphics processors (GPUs). The core design of Medusa is to enable 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 optimizations based on the architecture features of GPUs and characteristics of graph applications. In this paper, we present an overview of the Medusa system and a case study of adopting Medusa to a research project on social network simulations. With Medusa, users without GPU programming experiencecan quickly implement their graph operations on the GPU, which accelerates the discovery and findings of domain-specific applications.

References

  1. 10th DIMACS implementation challenge. http://www.cc.gatech.edu/dimacs10/index.shtml.Google ScholarGoogle Scholar
  2. J. W. Berry, B. Hendrickson, S. Kahan, and P. Konecny. Software and algorithms for graph queries on multithreaded architectures. In IPDPS, pages 1--14, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  3. J. Dean and S. Ghemawat. MapReduce: simplified data processing on large clusters. Communications of the ACM, 51(1):107--113, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. T. M. J. Fruchterman and E. M. Reingold. Graph drawing by force-directed placement. Software: Practice and Experience, 21:1129--1164, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. Goldenberg, B. Libai, and E. Muller. Talk of the network: A complex systems look at the underlying process of word-of-mouth. Marketing letters, 12(3):211--223, 2001.Google ScholarGoogle ScholarCross RefCross Ref
  6. M. Granovetter. Threshold models of collective behavior. American journal of sociology, pages 1420--1443, 1978.Google ScholarGoogle Scholar
  7. GTGraph Generator. http://www.cc.gatech.edu/ kamesh/GTgraph/.Google ScholarGoogle Scholar
  8. P. Harish and P. Narayanan. Accelerating large graph algorithms on the GPU using CUDA. In HiPC, pages 197--208. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. B. He, W. Fang, Q. Luo, N. K. Govindaraju, and T. Wang. Mars: a MapReduce framework on graphics processors. In PACT, pages 260--269, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. S. Hong, S. K. Kim, T. Oguntebi, and K. Olukotun. Accelerating CUDA graph algorithms at maximum warp. In PPoPP, pages 267--276, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. Jin, S. J. Turner, B.-S. Lee, J. Zhong, and B. He. HPC simulations of information propagation over social networks. Procedia Computer Science, 9:292--301, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  12. J. Jin, S. J. Turner, B.-S. Lee, J. Zhong, and B. He. Simulation of information propagation over complex networks: Performance studies on multi-GPU. In DS-RT, pages 179--188, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J. Jin, S. J. Turner, B.-S. Lee, J. Zhong, and B. He. Simulation studies of viral advertisement diffusion on multi-GPU. In Winter Simulation Conference (WSC), pages 1592--1603, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Y. Low, J. Gonzalez, A. Kyrola, D. Bickson, C. Guestrin, and J. M. Hellerstein. GraphLab: A new parallel framework for machine learning. In UAI, 2010.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Sengupta, M. Harris, and M. Garland. Efficient parallel scan algorithms for GPUs. NVIDIA. Technical report, 2008.Google ScholarGoogle Scholar
  16. Stanford Large Network Dataset Collections. http://snap.stanford.edu/data/index.html.Google ScholarGoogle Scholar
  17. T. White. Hadoop: The Definitive Guide: The Definitive Guide. O'Reilly Media, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. Zhong and B. He. Parallel graph processing on graphics processors made easy. PVLDB, 6(12):1270--1273, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. Zhong and B. He. Kernelet: High-throughput gpu kernel executions with dynamic slicing and scheduling. Parallel and Distributed Systems, IEEE Transactions on, 25(6):1522--1532, 2014.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. Zhong and B. He. Medusa: Simplified graph processing on gpus. IEEE Transactions on Parallel and Distributed Systems, 25(6):1543--1552, 2014.Google ScholarGoogle ScholarDigital LibraryDigital Library

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

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader