@ytyoun

Near linear-work parallel SDD solvers, low-diameter decomposition, and low-stretch subgraphs

, , , , , and . Proceedings of the 23rd ACM symposium on Parallelism in algorithms and architectures, page 13--22. New York, NY, USA, ACM, (2011)
DOI: 10.1145/1989493.1989496

Abstract

This paper presents the design and analysis of a near linear-work parallel algorithm for solving symmetric diagonally dominant (SDD) linear systems. On input an SDD <i>n</i>-by-<i>n</i> matrix <i>A</i> with <i>m</i> non-zero entries and a vector <i>b</i>, our algorithm computes a vector <i>x</i> such that <i>A</i><i>x</i> - <i>A</i><sup>+<i>b</i></sup> &#8804; &#949; &#8226; <i>A</i><sup>+<i>b</i></sup> in <i>O</i>(<i>m</i> log<sup><i>O</i>(1)</sup> <i>n</i> log 1/&#949;) work and <i>O</i>(<i>m</i><sup>1/3+&#952;</sup> log 1/&#949;) depth for any fixed &#952; &#62; 0.</p> <p>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 <i>O</i>(|<i>E</i>|) 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 <i>O</i>(<i>n</i><sup>&#945;</sup>) in <i>O</i>(<i>n</i><sup>1+&#945;</sup>) work and <i>O</i>(<i>n</i><sup>&#945;</sup>) depth. Alternatively, it can be used to generate spanning subgraphs with polylogarithmic average stretch in <i>O</i>(|<i>E</i>|) work and polylogarithmic depth. We apply this subgraph construction to derive our solver.</p> <p>By using the linear system solver in known applications, our results imply improved parallel randomized algorithms for several problems, including single-source shortest paths, maximum flow, min-cost flow, and approximate max-flow.

Links and resources

Tags

community

  • @dblp
  • @ytyoun
@ytyoun's tags highlighted