Download presentation

Presentation is loading. Please wait.

Published byJanelle Line Modified over 2 years ago

1
Finding Strongly Connected Components and Topological Sort in Parallel using O(log² n) reachability queries Warren Schudy Brown University Work done while interning at Google Research Mountain View

2
A Scheduling Problem To-do List –Topological sort (TS) –Strongly connected components (SCC) –Reachability SCC application in scientific computing requiring parallelism [McLendon et al. 01]

3
Previous Results for TS, SCC and Reachability Assume sparse graph with n vertices using 1 ≤ p ≤ n 4/3 processors: Question: is reachability fundamentally easier to parallelize than SCC and TS? (In Transactions of Information Processing Society of Japan ’99 ’04, Akio, Masahiro and Ryozo claim runtime n/p for TS & SCC) Coppersmith and Winograd ‘87 T. Spencer ‘97Ullman & Yannakakis ‘91 Runtime (ignore logs) n 2.38… /pn/p 1/3 n/p 1/2 ProblemsAll Reachability

4
Answer: no (up to logs) Our main result: a reduction of SCC and TS to O(log 2 n) reachability queries Remainder of talk focuses on SCC problem This workCoppersmith et al.SpencerUllman et al. Runtimen/p 1/2 n 2.38 /pn/p 1/3 n/p 1/2 ProblemsTS and SCCAll Reachability

5
Desc(s) SCC(s) V \ Desc(s) A simple SCC algorithm Choose random vertex s V Determine SCC(s) and output it Determine the vertices Desc(s) reachable from s Recurse (in parallel) on: –Desc(s) \ SCC(s) –V \ Desc(s) s (Similar to [Coppersmith, Fleischer, Hendrickson and Pinar ’05])

6
High-runtime instance Desc(s) s

7
Algorithmic Idea If this algorithm divided the graph roughly in two, recursion depth would be log n So pick many source vertices instead of 1 (number chosen later) Desc( )

8
Make one pivot vertex s special, and output its SCC Outputting SCCs s Desc( ) Desc(s) Recurse on blue, green, yellow and unreached subgraphs SCC(s)

9
Our Multipivot Algorithm Permute the vertices randomly Determine the smallest s s.t. {1,2,…s} together reach at least half the edges (binary search) Output SCC(s) Recurse on: –V \ Desc(1…s) –(Desc(1…s-1) Desc(s)) \ SCC(s) –Desc(1…s-1) \ Desc(s) –Desc(s) \ (Desc(1…s- 1) SCC(s)) s= Desc(1…s-1) Desc(s) 1 2 3 4 SCC(s)

10
Runtime Analysis k2k2 May contain almost all the edges, but will contain only some of the transitive closure edges (due to random order) s= Desc(1…s-1) Desc(s) 1 2 3 4 Each contains less than half the edges by definition of s SCC(s) k

11
Key Lemma 9 Number of edges in transitive closure of Desc(s) \ (Desc(1…s-1) SCC(s)) is at most 3/4 that of the parent subgraph V Correction for proof of Lemma 10: "vertices strictly between g(v) and v" other than v after

12
Open question Are there better parallel algorithms for reachability? E.g. can reachability on a 3-regular digraph be computed in o(√n) time using n processors? Ullman & Yannakakis takes O~(√n) time.

13
Acknowledgements & Questions D. Sivakumar Claire Mathieu Maurice Herlihy Glencora Borradaile

14
**Extra slides**

15
Combining Reachability Queries on subgraphs Subgraph 2Subgraph 1 Sources Super-source

Similar presentations

OK

Graph Algorithms Using Depth First Search Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Analysis of Algorithms.

Graph Algorithms Using Depth First Search Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Analysis of Algorithms.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on servant leadership Ppt on chronic renal failure Ppt on rational numbers for class 8 Ppt on rime of the ancient mariner part 1 and 2 Ppt on forward rate agreement risk Ppt on world environment day logo Ppt on content development strategy Ppt on operating system memory management Ppt on set top box A ppt on personality development