Abstract
Centrality measures offer a mechanism to quantify various notions of the importance of vertices in a network. These measures find application in social network analysis, the study of disease spread, and the like. Since the networks of interest are usually large, parallelism has become a powerful tool for computing these measures. However, for some of these applications, it is crucial to study how these centrality values change when there are changes to the underlying network. As a result, parallel algorithms that examine how to update these values due to changes to the graph are gaining research interest.
In this paper, we study the update of the percolation centrality measure in a dynamic graph. We present parallel algorithms to handle changes to the percolation value of a batch of vertices and the addition and deletion of a batch of edges to the graph. We leverage the graphs' structural properties to improve our algorithms' performance. To our knowledge, we are the first to propose such algorithms for percolation centrality.
We implement and benchmark our dynamic algorithms on a server with two AMD EPYC CPUs and an Nvidia A100 GPU. Our experiments on a collection of real-world graphs indicate that our algorithms achieve speedups of 8.79x and 2.82x on CPU and GPU, respectively, for edge updates, and 309.44x and 18.71x on CPU and GPU, respectively, for vertex percolation updates over state-of-the-art static algorithms for a batch of 10000 edges and vertices, respectively.