Abstract
Tarjan's famous linear time, sequential algorithm for finding the strongly connected components (SCCs) of a graph relies on depth first search, which is inherently sequential. Deterministic parallel algorithms solve this problem in logarithmic time using matrix multiplication techniques, but matrix multiplication requires a large amount of total work. Randomized algorithms based on reachability -- the ability to get from one vertex to another along a directed path -- greatly improve the work bound in the average case. However, these algorithms do not always perform well; for instance, Divide-and-Conquer Strong Components (DCSC), a scalable, divide-and-conquer algorithm, has good expected theoretical limits, but can perform very poorly on graphs for which the maximum reachability of any vertex is small. A related algorithm, MultiPivot, gives very high probability guarantees on the total amount of work for all graphs, but this improvement introduces an overhead that increases the average running time. This work introduces SCCMulti, a multi-pivot improvement of DCSC that offers the same consistency as MultiPivot without the time overhead. We provide experimental results demonstrating SCCMulti's scalability; these results also show that SCCMulti is more consistent than DCSC and is always faster than MultiPivot.
- L. Fleischer, B. Hendrickson, and A. Pinar. On Identifying Strongly Connected Components in Parallel. In J. D. P. Rolim, ed., IPDPS Workshops, volume 1800 of phLec. Notes in Comp. Sci., pages 505--511. Springer, 2000. ISBN 3--540--67442-X. Google Scholar
Digital Library
- Harshvardhan, A. Fidel, N. M. Amato, and L. Rauchwerger. The STAPL Parallel Graph Library. In Wkshp. on Lang. and Comp. for Par. Comp. (LCPC), Tokyo, Japan, Sep 2012.Google Scholar
- W. McLendon, III, B. Hendrickson, S. J. Plimpton, and L. Rauchwerger. Finding Strongly Connected Components in Distributed Graphs. J. Parallel Distrib. Comput., 65: 901--910, 2005. Google Scholar
Digital Library
- W. Schudy. Finding Strongly Connected Components in Parallel Using O(log2 n) Reachability Queries. In Proc. of the 20th Annual Symp. on Parallelism in Algorithms and Architectures, SPAA '08, pages 146--151, New York, NY, USA, 2008. ACM. ISBN 978--1--59593--973--9. 10.1145/1378533.1378560 Google Scholar
Digital Library
- }Spenc2T. H. Spencer. More Time-Work Tradeoffs for Parallel Graph Algorithms. In Proc. of the 3rd Annual Symp. on Parallel Algorithms and Architectures, SPAA '91, pages 81--93, New York, NY, USA, 1991. ACM. ISBN 0--89791--438--4. 10.1145/113379.113387 Google Scholar
Digital Library
- R. E. Tarjan. Depth-First Search and Linear Graph Algorithms. SIAM J. Comput., 1 (2): 146--160, 1972.Google Scholar
Digital Library
Index Terms
SCCMulti: an improved parallel strongly connected components algorithm
Recommendations
SCCMulti: an improved parallel strongly connected components algorithm
PPoPP '14: Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programmingTarjan's famous linear time, sequential algorithm for finding the strongly connected components (SCCs) of a graph relies on depth first search, which is inherently sequential. Deterministic parallel algorithms solve this problem in logarithmic time ...
A new augmentation based algorithm for extracting maximal chordal subgraphs
A graph is chordal if every cycle of length greater than three contains an edge between non-adjacent vertices. Chordal graphs are of interest both theoretically, since they admit polynomial time solutions to a range of NP-hard graph problems, and ...
Randomized $\tilde{O}(M(|V|))$ Algorithms for Problems in Matching Theory
A randomized (Las Vegas) algorithm is given for finding the Gallai--Edmonds decomposition of a graph. Let n denote the number of vertices, and let M( n) denote the number of arithmetic operations for multiplying two n $\times$ n matrices. The sequential ...







Comments