221

Near Linear-Work Parallel SDD Solvers, Low-Diameter Decomposition, and Low-Stretch Subgraphs

ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), 2011
Abstract

We present the design and analysis of a near linear-work parallel algorithm for solving symmetric diagonally dominant (SDD) linear systems. On input of a SDD nn-by-nn matrix AA with mm non-zero entries and a vector bb, our algorithm computes a vector x~\tilde{x} such that \norm[A]x~A+b\vareps\norm[A]A+b\norm[A]{\tilde{x} - A^+b} \leq \vareps \cdot \norm[A]{A^+b} in O(mlogO(1)nlog1ϵ)O(m\log^{O(1)}{n}\log{\frac1\epsilon}) work and O(m1/3+θlog1ϵ)O(m^{1/3+\theta}\log \frac1\epsilon) depth for any fixed θ>0\theta > 0. The algorithm relies on a parallel algorithm for generating low-stretch spanning trees or spanning subgraphs. To this end, we first develop a parallel decomposition algorithm that in polylogarithmic depth and \otilde(E)\otilde(|E|) work, partitions a graph into components with polylogarithmic diameter such that only a small fraction of the original edges are between the components. This can be used to generate low-stretch spanning trees with average stretch O(nα)O(n^{\alpha}) in O(n1+α)O(n^{1+\alpha}) work and O(nα)O(n^{\alpha}) depth. Alternatively, it can be used to generate spanning subgraphs with polylogarithmic average stretch in \otilde(E)\otilde(|E|) work and polylogarithmic depth. We apply this subgraph construction to derive a parallel linear system solver. By using this solver in known applications, our results imply improved parallel randomized algorithms for several problems, including single-source shortest paths, maximum flow, minimum-cost flow, and approximate maximum flow.

View on arXiv
Comments on this paper