GraphReduce
Authors:
Open Access
- 15 November 2015
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 1-12
Abstract
Recent work on real-world graph analytics has sought to leverage the massive amount of parallelism offered by GPU devices, but challenges remain due to the inherent irregularity of graph algorithms and limitations in GPU-resident memory for storing large graphs. We present GraphReduce, a highly efficient and scalable GPU-based framework that operates on graphs that exceed the device's internal memory capacity. GraphReduce adopts a combination of edge- and vertex-centric implementations of the Gather-Apply-Scatter programming model and operates on multiple asynchronous GPU streams to fully exploit the high degrees of parallelism in GPUs with efficient graph data movement between the host and device. GraphReduce-based programming is performed via device functions that include gatherMap, gatherReduce, apply, and scatter, implemented by programmers for the graph algorithms they wish to realize. Extensive experimental evaluations for a wide variety of graph inputs and algorithms demonstrate that GraphReduce significantly outperforms other competing out-of-memory approaches.Keywords
Funding Information
- Intel Science and Technology Center in Cloud Computing
This publication has 26 references indexed in Scilit:
- Locality-Driven Dynamic GPU Cache Bypassing2015
- CuSha2014
- Efficient Multi-GPU Computation of All-Pairs Shortest Paths2014
- X-Stream2013
- Parallel graph processing on graphics processors made easyProceedings of the VLDB Endowment, 2013
- Green-Marl2012
- Inertia-Revealing Preconditioning For Large-Scale Nonconvex Constrained OptimizationSIAM Journal on Scientific Computing, 2009
- Community Structure in Large Networks: Natural Cluster Sizes and the Absence of Large Well-Defined ClustersInternet Mathematics, 2009
- CHALLENGES IN PARALLEL GRAPH PROCESSINGParallel Processing Letters, 2007
- A bridging model for parallel computationCommunications of the ACM, 1990