Parallel Approximate Maximum Flows in Near-Linear Work and Polylogarithmic Depth
Arpit Agarwal, Sanjeev Khanna, Huan Li, Prathamesh Patil, Chen Wang, Nathan White, Peilin Zhong
TL;DR
This work provides a randomized PRAM algorithm for undirected capacitated graphs that computes a $(1-\varepsilon)$-approximate $s$-$t$ max-flow and a $(1+\varepsilon)$-approximate $s$-$t$ min-cut with depth $O(\varepsilon^{-3}\mathrm{polylog}(n))$ and total work $O(m\varepsilon^{-3}\mathrm{polylog}(n))$. Central to the result is a polylogarithmic-depth, near-linear-work congestion-approximator construction, built via a novel contraction-based hierarchical decomposition that avoids expensive recursion on vertex-induced subgraphs. A parallel flow-decomposition routine enables efficient path extraction from flows, which is crucial for Sherman's iterative framework to converge in polylogarithmic depth. The techniques yield broad algorithmic consequences, including near-linear-time parallel algorithms for sparsest cut, balanced sparsest cut, minimum-cost hierarchical clustering, fair cuts, and approximate Gomory-Hu trees, with implications for MPC as well. Overall, the paper closes a long-standing gap by achieving polylogarithmic depth with near-linear work for parallel approximate max flows on undirected graphs, enabling scalable, high-performance graph analytics.
Abstract
We present a parallel algorithm for the $(1-ε)$-approximate maximum flow problem in capacitated, undirected graphs with $n$ vertices and $m$ edges, achieving $O(ε^{-3}\text{polylog} n)$ depth and $O(m ε^{-3} \text{polylog} n)$ work in the PRAM model. Although near-linear time sequential algorithms for this problem have been known for almost a decade, no parallel algorithms that simultaneously achieved polylogarithmic depth and near-linear work were known. At the heart of our result is a polylogarithmic depth, near-linear work recursive algorithm for computing congestion approximators. Our algorithm involves a recursive step to obtain a low-quality congestion approximator followed by a "boosting" step to improve its quality which prevents a multiplicative blow-up in error. Similar to Peng [SODA'16], our boosting step builds upon the hierarchical decomposition scheme of Räcke, Shah, and Täubig [SODA'14]. A direct implementation of this approach, however, leads only to an algorithm with $n^{o(1)}$ depth and $m^{1+o(1)}$ work. To get around this, we introduce a new hierarchical decomposition scheme, in which we only need to solve maximum flows on subgraphs obtained by contracting vertices, as opposed to vertex-induced subgraphs used in Räcke, Shah, and Täubig [SODA'14]. In particular, we are able to directly extract congestion approximators for the subgraphs from a congestion approximator for the entire graph, thereby avoiding additional recursion on those subgraphs. Along the way, we also develop a parallel flow-decomposition algorithm that is crucial to achieving polylogarithmic depth and may be of independent interest.
