Fast Connected Components Computation in Large Graphs by Vertex Pruning
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 putational models and algorithms for their efficient processing on highly distributed architectures. In this paper we present CRACKER, an efficient iterative MapReduce MapReduce-like like algorithm to detect connected components in large graphs. The strategy of CRACKER iiss 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, algo evaluate its computational cost and provide an extensive experimental evaluation considering a wide variety of synthetic and real real-world world graphs. The experimental results show that CRACKER consistently outperforms state state-of-the-art art approaches both in terms erms of total computation time and volume of messages exchanged.