Peer Review #2 of "A GPU-based solution for fast calculation of the betweenness centrality in large weighted networks (v0.2)" [peer_review]

A McLaughlin
2017 unpublished
Betweenness, a widely employed centrality measure in network science, is a decent proxy for investigating network loads and rankings. However, its extremely high computational cost greatly hinders its applicability in large networks. Although several parallel algorithms have been presented to reduce its calculation cost for unweighted networks, a fast solution for weighted networks, which are commonly encountered in many realistic applications, is still lacking. In this study, we develop an
more » ... , we develop an efficient parallel GPU-based approach to boost the calculation of the betweenness centrality for large weighted networks. We parallelize the traditional Dijkstra algorithm by selecting more than one frontier vertex each time and then inspecting the frontier vertices simultaneously. By combining the parallel SSSP algorithm with the parallel betweenness centrality framework, our GPU-based betweenness algorithm achieves much better performance than its CPU counterparts. Moreover, to further improve performance, we integrate the work-efficient strategy, and to address the load-imbalance problem, we introduce a warp-centric technique, which assigns many threads rather than one to a single frontier vertex. Experiments on both realistic and synthetic networks demonstrate the efficiency of our solution, which achieves 2.9x to 8.44x speedups over the parallel CPU implementation. Our algorithm is opensource and free to the community; it is publicly available through https://dx.doi.org/10.6084/m9.figshare.4542405. Considering the pervasive deployment and declining price of GPUs in personal computers and servers, our solution will offer unprecedented opportunities for exploring betweenness-related problems and will motivate follow-up efforts in network science. PeerJ Comput. Sci. reviewing PDF | (CS- ABSTRACT 11 Betweenness, a widely employed centrality measure in network science, is a decent proxy for investigating network loads and rankings. However, its extremely high computational cost greatly hinders its applicability in large networks. Although several parallel algorithms have been presented to reduce its calculation cost for unweighted networks, a fast solution for weighted networks, which are commonly encountered in many realistic applications, is still lacking. In this study, we develop an efficient parallel GPU-based approach to boost the calculation of the betweenness centrality for large weighted networks. We parallelize the traditional Dijkstra algorithm by selecting more than one frontier vertex each time and then inspecting the frontier vertices simultaneously. By combining the parallel SSSP algorithm with the parallel betweenness centrality framework, our GPU-based betweenness algorithm achieves much better performance than its CPU counterparts. Moreover, to further improve performance, we integrate the work-efficient strategy, and to address the load-imbalance problem, we introduce a warp-centric technique, which assigns many threads rather than one to a single frontier vertex. Experiments on both realistic and synthetic networks demonstrate the efficiency of our solution, which achieves 2.9x to 8.44x speedups over the parallel CPU implementation. Our algorithm is open-source and free to the community; it is publicly available through https://dx.doi.org/10.6084/m9.figshare.4542405. Considering the pervasive deployment and declining price of GPUs in personal computers and servers, our solution will offer unprecedented opportunities for exploring betweenness-related problems and will motivate follow-up efforts in network science. Goh et al., 2003) . For example, Girvan and Newman developed a community de-35 tection algorithm based on edge betweenness centrality (Girvan and Newman, 2002), Leydesdorff used 36 centrality as an indicator of the interdisciplinarity of scientific journals (Leydesdorff, 2007) and Motter 37 and Lai established a model of cascading failures in which the load on a node is represented by its be-38 tweenness (Motter and Lai, 2002). However, the extremely high temporal and spatial complexity of the 39 betweenness centrality calculation greatly limits its applicability in large networks. Before the landmark 40 work of Brandes (Brandes, 2001), the complexity of the algorithm for computing the betweenness cen-41 trality was O(n 3 ) in time and O(n 2 ) in space. Brandes reduced the complexity to O(n + m) in space and 42 O(nm) and O(nm + n 2 log n) in time for unweighted and weighted networks, respectively, where n is the 43 number of vertices and m is the number of edges (Brandes, 2001). However, this improved algorithm 44 still cannot satisfy the requirements for scientific computations in the present era of information explo-45 PeerJ Comput. Sci. reviewing PDF | (CS-Manuscript to be reviewed Computer Science sion, as an increasing number of unexpectedly large networks emerge, such as online social networks, 46 gene networks and collaboration networks. For example, Twitter has hundreds of millions of active 47 • Based on previous GPU-based parallel SSSP and betweenness centrality algorithms, we propose 88 an efficient algorithm for calculating the betweenness centrality for weighted networks, which 89 achieves 2.9x to 8.44x speedups over the parallel CPU algorithm on realistic networks. 90 • We compare the traditional node-parallel method with the work-efficient version and the warp-91 centric method. Experiments on realistic networks and synthetic networks demonstrate that the 92 combination of these two strategies performs better than either the basic node-parallel method or 93 the individual strategies; it achieves an average speedup of 2.34x over the baseline method on 94 realistic networks. 95 • We package our algorithm as a useful tool that can be used to calculate both node and edge be-96 tweenness centrality on weighted networks. Researchers can apply this tool to quickly and conve-97 niently calculate BC values for weighted networks, especially large networks. The source code is 98 publicly available through https://dx.Manuscript to be reviewed Computer Science 131 level are isolated and have no influence on each other. As a result, the parallel version of the algorithm 132 can simultaneously explore all nodes at the same level in both steps, thereby fundamentally accelerating 133 the BC calculation. 134 Dijkstra algorithm 135 The Dijkstra algorithm (Dijkstra, 1959) and the Floyd-Warshall algorithm (Floyd, 1962) are commonly 136 employed to solve shortest-path problems. The Dijkstra algorithm is more easily adaptable to the be-137 tweenness centrality problem because the Brandes algorithm accumulates dependencies after computing 138 single-source shortest paths (SSSPs) rather than after finding and storing the shortest paths for all pairs. 139 The Dijkstra algorithm applies a greedy strategy to solve the SSSP problem. In this algorithm, the source 140 node is s, and once the shortest path from s to another node u is found, u will be settled. As seen in Algo-141 rithm 1, all nodes in graph G are separated into two sets: the settled vertices and the unsettled vertices Q. 142 An array D is used to store tentative distances from s to all nodes. Initially, Q stores all nodes, D(s) = 0, 143 and D(u) = ∞ for all other nodes (lines 1 to 5). During iteration (lines 6 to 9), the node u with the 144 shortest tentative distance D [u] (denoted by Extract Min(Q)) is selected and settled, which means that 145 3/16 PeerJ Comput. Sci. reviewing PDF | (CS-
doi:10.7287/peerj-cs.140v0.2/reviews/2 fatcat:dxnowq5fq5dzvn4uzjsuaw6qdm