Fast Connected Components Computation in Large Graphs by Vertex Pruning

Alessandro Lulli, University of Pisa, Italy
Emanuele Carlini, HPC Lab., ISTI-CNR, Pisa, Italy
Patrizio Dazzi, HPC Lab., ISTI-CNR, Pisa, Italy
Claudio Lucchese, HPC Lab., ISTI-CNR, Pisa, Italy
Laura Ricci, University of Pisa, Italy

July 10 2016

Journal paper accepted at TPDS ’16: IEEE Transactions on Parallel and Distributed Systems [1].

Abstract. Finding connected components is a fundamental task in applications dealing with graph analytics, such as social network analysis, web graph mining and image processing. The exponentially growing size of today’s graphs has required the definition of new computational models and algorithms for their efficient processing on highly distributed architectures. In this paper we present cracker, an efficient iterative MapReduce-like algorithm to detect connected components in large graphs. The strategy of cracker is to transform the input graph in a set of trees, one for each connected component in the graph. Nodes are iteratively removed from the graph and added to the trees, reducing the amount of computation at each iteration. We prove the correctness of the algorithm, evaluate its computational cost and provide an extensive experimental evaluation considering a wide variety of synthetic and real-world graphs. The experimental results show that cracker consistently outperforms state-of-the-art approaches both in terms of total computation time and volume of messages exchanged.


[1]   Alessandro Lulli, Emanuele Carlini, Patrizio Dazzi, Claudio Lucchese, and Laura Ricci. Fast connected components computation in large graphs by vertex pruning. IEEE Transactions on Parallel and Distributed Systems, 28(3):760–773, 2017.

Share on