Finding strongly connected components in parallel using O(log2n) reachability queries

  • Authors:
  • Warren Schudy

  • Affiliations:
  • Brown University, Providence, RI, USA

  • Venue:
  • Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

We give a randomized (Las-Vegas) parallel algorithm for computing strongly connected components of a graph with n vertices and m edges. The runtime is dominated by O(log2n) multi-source parallel reachability queries; i.e. O(log2n) calls to a subroutine that computes the union of the descendants of a given set of vertices in a given digraph. Our algorithm also topologically sorts the strongly connected components. Using Ullman and Yannakakis's [22] techniques for the reachability subroutine gives our algorithm runtime Õ(t) using mn/t2 processors for any (n2/m)1/3 ≤= t ≤= n. On sparse graphs, this improves the number of processors needed to compute strongly connected components and topological sort within time n1/3 ≤= t ≤= n from the previously best known (n/t)3 [20] to (n/t)2.