  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^\delta$ for $\delta \in (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 $\tilde O(\sqrt{\log
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.
