Near Linear-Work Parallel SDD Solvers, Low-Diameter Decomposition, and Low-Stretch Subgraphs (1111.1750v1)
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 $n$-by-$n$ matrix $A$ with $m$ non-zero entries and a vector $b$, our algorithm computes a vector $\tilde{x}$ such that $\norm[A]{\tilde{x} - A+b} \leq \vareps \cdot \norm[A]{A+b}$ in $O(m\log{O(1)}{n}\log{\frac1\epsilon})$ work and $O(m{1/3+\theta}\log \frac1\epsilon)$ depth for any fixed $\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|)$ 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{\alpha})$ in $O(n{1+\alpha})$ work and $O(n{\alpha})$ depth. Alternatively, it can be used to generate spanning subgraphs with polylogarithmic average stretch in $\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.
- Guy E. Blelloch (42 papers)
- Anupam Gupta (131 papers)
- Ioannis Koutis (22 papers)
- Gary L. Miller (16 papers)
- Richard Peng (87 papers)
- Kanat Tangwongsan (13 papers)