Round Compression for Parallel Graph Algorithms in Strongly Sublinear Space
The Massive Parallel Computation (MPC) model is a theoretical framework for popular parallel and distributed platforms such as MapReduce, Hadoop, or Spark. We consider the task of computing a large matching or small vertex cover in this model when the space per machine is n^δ for δ∈ (0,1), where n is the number of vertices in the input graph. A direct simulation of classic PRAM and distributed algorithms from the 1980s results in algorithms that require at least a logarithmic number of MPC rounds. We give the first algorithm that breaks this logarithmic barrier and runs in Õ(√( n)) rounds, as long as the total space is at least slightly superlinear in the number of vertices. The result is obtained by repeatedly compressing several rounds of a natural peeling algorithm to a logarithmically smaller number of MPC rounds. Each time we show that it suffices to consider a low-degree subgraph, in which local neighborhoods can be explored with exponential speedup. Our techniques are relatively simple and can also be used to accelerate the simulation of distributed algorithms for bounded-degree graphs and finding a maximal independent set in bounded-arboricity graphs.
READ FULL TEXT