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.
- 10th DIMACS implementation challenge. http://www.cc.gatech.edu/dimacs10/index.shtml.Google Scholar
- 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 ScholarCross Ref
- J. Dean and S. Ghemawat. MapReduce: simplified data processing on large clusters. Communications of the ACM, 51(1):107--113, 2008. Google ScholarDigital Library
- T. M. J. Fruchterman and E. M. Reingold. Graph drawing by force-directed placement. Software: Practice and Experience, 21:1129--1164, 1991. Google ScholarDigital Library
- 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 ScholarCross Ref
- M. Granovetter. Threshold models of collective behavior. American journal of sociology, pages 1420--1443, 1978.Google Scholar
- GTGraph Generator. http://www.cc.gatech.edu/ kamesh/GTgraph/.Google Scholar
- P. Harish and P. Narayanan. Accelerating large graph algorithms on the GPU using CUDA. In HiPC, pages 197--208. 2007. Google ScholarDigital Library
- 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 ScholarDigital Library
- S. Hong, S. K. Kim, T. Oguntebi, and K. Olukotun. Accelerating CUDA graph algorithms at maximum warp. In PPoPP, pages 267--276, 2011. Google ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- S. Sengupta, M. Harris, and M. Garland. Efficient parallel scan algorithms for GPUs. NVIDIA. Technical report, 2008.Google Scholar
- Stanford Large Network Dataset Collections. http://snap.stanford.edu/data/index.html.Google Scholar
- T. White. Hadoop: The Definitive Guide: The Definitive Guide. O'Reilly Media, 2009. Google ScholarDigital Library
- J. Zhong and B. He. Parallel graph processing on graphics processors made easy. PVLDB, 6(12):1270--1273, 2013. Google ScholarDigital Library
- 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 ScholarDigital Library
- J. Zhong and B. He. Medusa: Simplified graph processing on gpus. IEEE Transactions on Parallel and Distributed Systems, 25(6):1543--1552, 2014.Google ScholarDigital Library
Recommendations
Medusa: Simplified Graph Processing on GPUs
Graphs are common data structures for many applications, and efficient graph processing is a must for application performance. Recently, the graphics processing unit (GPU) has been adopted to accelerate various graph processing algorithms such as BFS ...
An overview of Medusa: simplified graph processing on GPUs
PPoPP '12: Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel ProgrammingGraphs are the de facto data structures for many applications, and efficient graph processing is a must for the application performance. GPUs have an order of magnitude higher computational power and memory bandwidth compared to CPUs and have been ...
An overview of Medusa: simplified graph processing on GPUs
PPOPP '12Graphs are the de facto data structures for many applications, and efficient graph processing is a must for the application performance. GPUs have an order of magnitude higher computational power and memory bandwidth compared to CPUs and have been ...
Comments