2018 IEEE 59th Annual Symposium on Foundations of Computer Science (FOCS) (2018)
Oct 7, 2018 to Oct 9, 2018
Many modern parallel systems, such as MapReduce, Hadoop and Spark, can be modeled well by the MPC model. The MPC model captures well coarse-grained computation on large data - data is distributed to processors, each of which has a sublinear (in the input data) amount of memory and we alternate between rounds of computation and rounds of communication, where each machine can communicate an amount of data as large as the size of its memory. This model is stronger than the classical PRAM model, and it is an intriguing question to design algorithms whose running time is smaller than in the PRAM model. One fundamental graph problem is connectivity. On an undirected graph with n nodes and m edges, O(log n) round connectivity algorithms have been known for over 35 years. However, no algorithms with better complexity bounds were known. In this work, we give fully scalable, faster algorithms for the connectivity problem, by parameterizing the time complexity as a function of the diameter of the graph. Our main result is a O(log D log logm/n n) time connectivity algorithm for diameter-D graphs, using Θ(m) total memory. If our algorithm can use more memory, it can terminate in fewer rounds, and there is no lower bound on the memory per processor. We extend our results to related graph problems such as spanning forest, finding a DFS sequence, exact/approximate minimum spanning forest, and bottleneck spanning forest. We also show that achieving similar bounds for reachability in directed graphs would imply faster boolean matrix multiplication algorithms. We introduce several new algorithmic ideas. We describe a general technique called double exponential speed problem size reduction which roughly means that if we can use total memory N to reduce a problem from size n to n/k, for k = (N/n)Θ(1) in one phase, then we can solve the problem in O(log logN/n n) phases. In order to achieve this fast reduction for graph connectivity, we use a multistep algorithm. One key step is a carefully constructed truncated broadcasting scheme where each node broadcasts neighbor sets to its neighbors in a way that limits the size of the resulting neighbor sets. Another key step is random leader contraction, where we choose a smaller set of leaders than many previous works do.
computational complexity, concurrency theory, directed graphs, matrix multiplication, parallel algorithms, trees (mathematics)
A. Andoni, Z. Song, C. Stein, Z. Wang and P. Zhong, "Parallel Graph Connectivity in Log Diameter Rounds," 2018 IEEE 59th Annual Symposium on Foundations of Computer Science (FOCS), Paris, France, 2019, pp. 674-685.