Dynamic Data Structures for Betweenness Centrality on Distributed GPUs

 
Project contacts: Bozhi You (youbozhi@cs.utexas.edu) Roshan Dathathri (roshan@cs.utexas.edu)

Project description: entrality metrics are useful for analyzing network structure since they capture the relative importance of individual vertices in the network. Betweenness Centrality (BC), is a metric based on the computation of shortest paths between vertices in the network graph. Intuitively, BC measures the degree of control a vertex has over communication between vertices in the network. If G = (V , E) is a graph and s, t are a pair of vertices, the betweenness score of a vertex v for this vertex pair is the fraction of shortest paths between s and t that include v. The BC of v is the sum of its betweenness scores for all pairs of vertices in the graph. BC has been used to find key actors in terrorist networks, study the spread of sexual diseases, and analyze power grid component failures. Recently, a new distributed-memory algorithm called Min-Rounds BC (MRBC) [1] has been shown to be theoretically efficient. The algorithm has been implemented for distributed CPUs using D-Galois [2], which uses the Gluon substrate for communication and Galois for computation. MRBC in D-Galois scales well but it is restricted to CPUs. The performance can be improved by exploiting GPUs. In this project, you will implement the MRBC algorithm for distributed GPUs. The MRBC algorithm uses dynamic data structures like hash tables. It can be expressed quite easily in Galois because Galois/C++/CPUs support efficient dynamic data structures. However, support for such data structures on GPUs is limited, although recent work [3] tries to address that. You will implement the required dynamic data structures and implement MRBC for a single GPU using IrGL [4] or CUDA. Then you can interface with the Gluon substrate to distribute this on multi-host multi-GPUs.

Hardware:

Project deliverables and deadlines:

Papers:

[1] A round-efficient distributed betweenness centrality algorithm, PPoPP 2019

[2] Roshan Dathathri, Gurbinder Gill, Loc Hoang, Hoang-Vu Dang, Alex Brooks, Nikoli Dryden, Marc Snir, Keshav Pingali, Gluon: a communication-optimizing substrate for distributed heterogeneous graph analytics. PLDI 2018: 752-768

[3] A dynamic hash table for the GPU, IPDPS 2018

[4] A compiler for throughput optimization of graph algorithms on GPUs, OOPSLA 2016