ABSTRACT
Betweenness Centrality (BC) is steadily growing in popularity as a metrics of the influence of a vertex in a graph. The BC score of a vertex is proportional to the number of all-pairs-shortest-paths passing through it. However, complete and exact BC computation for a large-scale graph is an extraordinary challenge that requires high performance computing techniques to provide results in a reasonable amount of time. Our approach combines bi-dimensional (2-D) decomposition of the graph and multi-level parallelism together with a suitable data-thread mapping that overcomes most of the difficulties caused by the irregularity of the computation on GPUs. In order to reduce time and space requirements of BC computation, a heuristics based on 1-degree reduction technique is developed as well. Experimental results on synthetic and real-world graphs show that the proposed techniques are well suited to compute BC scores in graphs which are too large to fit in the memory of a single computational node.
- S. Beamer, A. Buluc, K. Asanovic, and D. Patterson. Distributed memory breadth-first search revisited: Enabling bottom-up search. In Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), 2013 IEEE 27th International, pages 1618--1627. IEEE, 2013. Google ScholarDigital Library
- M. Bernaschi, G. Carbone, E. Mastrostefano, M. Bisson, and M. Fatica. Enhanced GPU-based distributed breadth first search. In Proceedings of the 12th ACM International Conference on Computing Frontiers, CF '15, pages 10:1--10:8, New York, NY, USA, 2015. ACM. Google ScholarDigital Library
- M. Bernaschi, G. Carbone, and F. Vella. Betweenness centrality on Multi-GPU systems. In Proceedings of the 5th Workshop on Irregular Applications: Architectures and Algorithms, IA3 '15, pages 12:1--12:4, New York, NY, USA, 2015. ACM. Google ScholarDigital Library
- M. Bisson, M. Bernaschi, and E. Mastrostefano. Parallel Distributed Breadth First Search on the kepler architecture. IEEE Transactions on Parallel Distributed Systems, 2015.Google Scholar
- U. Brandes. A faster algorithm for betweenness centrality*. Journal of Mathematical Sociology, 25(2):163--177, 2001.Google ScholarCross Ref
- A. Buluç and J. R. Gilbert. The combinatorial blas: Design, implementation, and applications. International Journal of High Performance Computing Applications, page 1094342011403516, 2011. Google ScholarDigital Library
- L. C. Freeman. A set of measures of centrality based on betweenness. Sociometry, pages 35--41, 1977.Google ScholarCross Ref
- J. Hoberock and N. Bell. Thrust CUDA library (http://thrust.github.com/).Google Scholar
- Y. Jia, V. Lu, J. Hoberock, M. Garland, and J. C. Hart. Edge vs. node parallelism for graph centrality metrics. GPU Computing Gems: Jade Edition, pages 15--28, 2011.Google Scholar
- H. Kwak, C. Lee, H. Park, and S. Moon. What is Twitter, a social network or a news media? In WWW '10: Proceedings of the 19th international conference on World wide web, pages 591--600, New York, NY, USA, 2010. ACM. Google ScholarDigital Library
- J. Leskovec and A. Krevl. SNAP Datasets: Stanford large network dataset collection. http://snap.stanford.edu/data, June 2014.Google Scholar
- K. Madduri, D. Ediger, K. Jiang, D. A. Bader, and D. Chavarria-Miranda. A faster parallel algorithm and efficient multithreaded implementations for evaluating betweenness centrality on massive datasets. In Parallel & Distributed Processing, 2009. IPDPS, pages 1--8. IEEE, 2009. Google ScholarDigital Library
- E. Mastrostefano and M. Bernaschi. Efficient breadth first search on multi-GPU systems. J. Parallel Distrib. Comput., 73(9):1292--1305, Sept. 2013. Google ScholarDigital Library
- A. McLaughlin and D. A. Bader. Scalable and high performance betweenness centrality on the GPU. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, pages 572--583. IEEE Press, 2014. Google ScholarDigital Library
- A. E. Sariyüce, K. Kaya, E. Saule, and U. V. Çatalyürek. Betweenness centrality on GPUs and heterogeneous architectures. In Proceedings of the 6th Workshop on GPGPU, GPGPU-6, pages 76--85, New York, NY, USA, 2013. ACM. Google ScholarDigital Library
- A. E. Sariyüce, E. Saule, K. Kaya, and Ümit V. Çatalyürek. Regularizing graph centrality computations. Journal of Parallel and Distributed Computing, 76(0):106--119, 2015. Google ScholarDigital Library
- Y. Wang, A. A. Davidson, Y. Pan, Y. Wu, A. Riffel, and J. D. Owens. Gunrock: a high-performance graph processing library on the GPU. In Proceedings of the 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015, San Francisco, CA, USA, February 7--11, 2015, pages 265--266, 2015. Google ScholarDigital Library
- A. Yoo, E. Chow, K. Henderson, W. McLendon, B. Hendrickson, and U. Catalyurek. A scalable distributed parallel breadth-first search algorithm on bluegene/l. In Proceedings of the 2005 ACM/IEEE Conference on Supercomputing, SC '05, pages 25--, Washington, DC, USA, 2005. IEEE Computer Society. Google ScholarDigital Library
Index Terms
- Scalable betweenness centrality on multi-GPU systems
Recommendations
Betweenness centrality on Multi-GPU systems
IA3 '15: Proceedings of the 5th Workshop on Irregular Applications: Architectures and AlgorithmsBetweenness Centrality (BC) is steadily growing in popularity as a metrics of the influence of a vertex in a graph. The exact BC computation for a large scale graph is an extraordinary challenging and requires high performance computing techniques to ...
Enhanced GPU-based distributed breadth first search
CF '15: Proceedings of the 12th ACM International Conference on Computing FrontiersThere is growing interest in studying large scale graphs having millions of vertices and billions of edges, up to the point that a specific benchmark, called Graph500, has been defined to measure the performance of graph algorithms on modern computing ...
ParTBC: Faster Estimation of Top-k Betweenness Centrality Vertices on GPU
Betweenness centrality (BC) is a popular centrality measure, based on shortest paths, used to quantify the importance of vertices in networks. It is used in a wide array of applications including social network analysis, community detection, clustering, ...
Comments