### Large-Scale Graph Biconnectivity in MapReduce

#### Abstract

The MapReduce framework, originally proposed by Google, and its open source implementation, Hadoop, are nowadays considered the standard frameworks, both in industry and academia, to deal with petabyte scale datasets. In this paper we describe a two-rounds MapReduce approach to biconnectivity in undirected graphs, that is the computation of the set of articulation points, the set of bridges and the set of biconnected components of a graph G. We recall that an articulation point (resp. a bridge) is a vertex (resp. an edge) whose removal increases the number of connected components. A biconnected component is a maximal biconnected subgraph, i.e., it does not include neither articulation points nor bridges.

In order to minimize the communication cost, the algorithm is based on a summary of the input data set, that is a compact data structure from which queries on biconnectivity properties can be answered. This summary, called navigational sketch, was originally designed in the data streams framework and was implicitly proved to be incrementally maintainable.Here we define it in a different framework in order to prove that it is mergeable . Mergeability is the key property of summaries in distributed or parallel computation: in particular, it provides a way to split the computation of the summary across separate subsets of the original data set, and thus to exploit the parallelism of the MapReduce framework.

We finally discuss a scenario in which it is assumed that the machines have limited memory, showing tradeoffs between the memory available and the number of rounds of the algorithm. We conclude the paper with an experimental analysis that, on the basis of different executions of an Hadoop implementation of the algorithm against large-scale real world graphs, confirms the effectiveness of our approach.