Matrix multiplication via arithmetic progressions
STOC '87 Proceedings of the nineteenth annual ACM symposium on Theory of computing
An improved parallel algorithm that computes the BFS numbering of a directed graph
Information Processing Letters
Optimal and sublogarithmic time randomized parallel sorting algorithms
SIAM Journal on Computing
Parallel depth-first search in general directed graphs
SIAM Journal on Computing
STOC '90 Proceedings of the twenty-second annual ACM symposium on Theory of computing
High probability parallel transitive-closure algorithms
SIAM Journal on Computing
Parallel algorithms for shared-memory machines
Handbook of theoretical computer science (vol. A)
Linear-processor NC algorithms for planar directed graphs I: strongly connected components
SIAM Journal on Computing
A comparison of parallel algorithms for connected components
SPAA '94 Proceedings of the sixth annual ACM symposium on Parallel algorithms and architectures
Time-work tradeoffs for parallel algorithms
Journal of the ACM (JACM)
Size-estimation framework with applications to transitive closure and reachability
Journal of Computer and System Sciences
Parallel algorithms for radiation transport on unstructured grids
Proceedings of the 2000 ACM/IEEE conference on Supercomputing
Finding strongly connected components in parallel in particle transport sweeps
Proceedings of the thirteenth annual ACM symposium on Parallel algorithms and architectures
Computing strongly connected components in a linear number of symbolic steps
SODA '03 Proceedings of the fourteenth annual ACM-SIAM symposium on Discrete algorithms
On Identifying Strongly Connected Components in Parallel
IPDPS '00 Proceedings of the 15 IPDPS 2000 Workshops on Parallel and Distributed Processing
Probability and Computing: Randomized Algorithms and Probabilistic Analysis
Probability and Computing: Randomized Algorithms and Probabilistic Analysis
Finding strongly connected components in distributed graphs
Journal of Parallel and Distributed Computing
An Algorithm for Strongly Connected Component Analysis in n log n Symbolic Steps
Formal Methods in System Design
A topological sorting algorithm for large graphs
Journal of Experimental Algorithmics (JEA)
SCCMulti: an improved parallel strongly connected components algorithm
Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming
Efficient decomposition of strongly connected components on GPUs
Journal of Systems Architecture: the EUROMICRO Journal
Hi-index | 0.00 |
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.