skip to main content
10.1145/1378533.1378560acmconferencesArticle/Chapter ViewAbstractPublication PagesspaaConference Proceedingsconference-collections
research-article

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

Published: 14 June 2008 Publication History

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.

References

[1]
A. Aggarwal, R. J. Anderson, and M.-Y. Kao. Parallel depth-first search in general directed graphs. SIAM J. Comput., 19(2):397--409, 1990.
[2]
D. Bader. A practical parallel algorithm for cycle detection in partitioned digraphs. Technical Report AHPCC-TR-99-013, Electrical & Computer Eng. Dept., Univ. New Mexico, Albuquerque, NM, 1999.
[3]
R. Bloem, H. N. Gabow, and F. Somenzi. An algorithm for strongly connected component analysis in n log n symbolic steps. Form. Methods Syst. Des., 28(1):37--56, 2006.
[4]
E. Cohen. Size-estimation framework with applications to transitive closure and reachability. J. Comput. Syst. Sci., 55(3):441--453, 1997.
[5]
D. Coppersmith, L. Fleischer, B. Hendrickson, and A. Pinar. A divide-and-conquer algorithm for identifying strongly connected components. Technical Report RC23744, IBM Research, 2005.
[6]
D. Coppersmith and S. Winograd. Matrix multiplication via arithmetic progressions. In STOC '87: Proceedings of the nineteenth annual ACM Symposium on Theory of Computing, pages 1--6, New York, NY, USA, 1987. ACM Press.
[7]
L. Fleischer, B. Hendrickson, and A. Pinar. On identifying strongly connected components in parallel. In IPDPS'00: Proceedings of the 15 IPDPS 2000 Workshops on Parallel and Distributed Processing, pages 505--511, London, UK, 2000. Springer-Verlag.
[8]
H. Gazit and G. L. Miller. An improved parallel algorithm that computes the bfs numbering of a directed graph. Inf. Process. Lett., 28(2):61--65, 1988.
[9]
R. Gentilini, C. Piazza, and A. Policriti. Computing strongly connected components in a linear number of symbolic steps. In SODA '03: Proceedings of the fourteenth annual ACM-SIAM Symposium on Discrete Algorithms, pages 573--582, Philadelphia, PA, USA, 2003. Society for Industrial and Applied Mathematics.
[10]
J. Greiner. A comparison of parallel algorithms for connected components. In SPAA'94: Proceedings of the sixth annual ACM symposium on Parallel algorithms and architectures, pages 16--25, New York, NY, USA, 1994. ACM Press.
[11]
M.-Y. Kao. Linear-processor nc algorithms for planar directed graphs i: Strongly connected components. SIAM J. Comput., 22:431--459, 1993.
[12]
M.-Y. Kao and P. N. Klein. Towards overcoming the transitive-closure bottleneck: efficient parallel algorithms for planar digraphs. In STOC'90: Proceedings of the twenty-second annual ACM symposium on Theory of computing, pages 181--192, New York, NY, USA, 1990. ACM Press.
[13]
R. M. Karp and V. Ramachandran. Parallel algorithms for shared-memory machines. Handbook of theoretical computer science (vol. A): algorithms and complexity, pages 869--941, 1990.
[14]
W. McLendon, III, B. Hendrickson, S. Plimpton, and L. Rauchwerger. Finding strongly connected components in parallel in particle transport sweeps. In ACM Symposium on Parallel Algorithms and Architectures, pages 328--329, 2001.
[15]
W. McLendon, III, B. Hendrickson, S. J. Plimpton, and L. Rauchwerger. Finding strongly connected components in distributed graphs. J. Parallel Distrib. Comput., 65(8):901--910, 2005.
[16]
M. Mitzenmacher and E. Upfal. Probability and Computing: Randomized Algorithms and Probabilistic Analysis, chapter 4.2, page 66. Cambridge University Press, 2005.
[17]
S. Plimpton, B. Hendrickson, S. Burns, and W. McLendon, III. Parallel algorithms for radiation transport on unstructured grids. In Supercomputing'00: Proceedings of the 2000 ACM/IEEE conference on Supercomputing (CDROM), page 25, Washington, DC, USA, 2000. IEEE Computer Society.
[18]
S. Rajasekaran and J. H. Reif. Optimal and sublogarithmic time randomized parallel sorting algorithms. SIAM J. Comput., 18(3):594--607, 1989.
[19]
J. H. Reif. Depth-first search is inherently sequential. Information Processing Letters, 20(5):229--234, 1985.
[20]
T. H. Spencer. Time-work tradeoffs for parallel algorithms. J. ACM, 44(5):742--778, 1997.
[21]
R. E. Tarjan. Depth-first search and linear graph algorithms. SIAM Journal on Computing, 1:146--160, 1972.
[22]
J. D. Ullman and M. Yannakakis. High probability parallel transitive-closure algorithms. SIAM J. Comput., 20(1):100--125, 1991.

Cited By

View all
  • (2023)Parallel Strong Connectivity Based on Faster ReachabilityProceedings of the ACM on Management of Data10.1145/35892591:2(1-29)Online publication date: 20-Jun-2023
  • (2022)Efficient trimming for strongly connected components calculationProceedings of the 19th ACM International Conference on Computing Frontiers10.1145/3528416.3530247(131-140)Online publication date: 17-May-2022
  • (2018)Theoretically Efficient Parallel Graph Algorithms Can Be Fast and ScalableProceedings of the 30th on Symposium on Parallelism in Algorithms and Architectures10.1145/3210377.3210414(393-404)Online publication date: 11-Jul-2018
  • Show More Cited By

Index Terms

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

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SPAA '08: Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
    June 2008
    380 pages
    ISBN:9781595939739
    DOI:10.1145/1378533
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 14 June 2008

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. graph algorithms
    2. parallel algorithms
    3. strongly connected components
    4. topological sort
    5. transitive closure bottleneck

    Qualifiers

    • Research-article

    Conference

    SPAA08

    Acceptance Rates

    Overall Acceptance Rate 447 of 1,461 submissions, 31%

    Upcoming Conference

    SPAA '25
    37th ACM Symposium on Parallelism in Algorithms and Architectures
    July 28 - August 1, 2025
    Portland , OR , USA

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)14
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 19 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Parallel Strong Connectivity Based on Faster ReachabilityProceedings of the ACM on Management of Data10.1145/35892591:2(1-29)Online publication date: 20-Jun-2023
    • (2022)Efficient trimming for strongly connected components calculationProceedings of the 19th ACM International Conference on Computing Frontiers10.1145/3528416.3530247(131-140)Online publication date: 17-May-2022
    • (2018)Theoretically Efficient Parallel Graph Algorithms Can Be Fast and ScalableProceedings of the 30th on Symposium on Parallelism in Algorithms and Architectures10.1145/3210377.3210414(393-404)Online publication date: 11-Jul-2018
    • (2018)Nearly work-efficient parallel algorithm for digraph reachabilityProceedings of the 50th Annual ACM SIGACT Symposium on Theory of Computing10.1145/3188745.3188926(457-470)Online publication date: 20-Jun-2018
    • (2018)Parallel Model Checking Algorithms for Linear-Time Temporal LogicHandbook of Parallel Constraint Reasoning10.1007/978-3-319-63516-3_12(457-507)Online publication date: 6-Apr-2018
    • (2016)Multi-core on-the-fly SCC decompositionACM SIGPLAN Notices10.1145/3016078.285116151:8(1-12)Online publication date: 27-Feb-2016
    • (2016)Parallelism in Randomized Incremental AlgorithmsProceedings of the 28th ACM Symposium on Parallelism in Algorithms and Architectures10.1145/2935764.2935766(467-478)Online publication date: 11-Jul-2016
    • (2016)Multi-core on-the-fly SCC decompositionProceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/2851141.2851161(1-12)Online publication date: 27-Feb-2016
    • (2016)Multi-core SCC-Based LTL Model CheckingHardware and Software: Verification and Testing10.1007/978-3-319-49052-6_2(18-33)Online publication date: 1-Nov-2016
    • (2014)SCCMultiACM SIGPLAN Notices10.1145/2692916.255528649:8(393-394)Online publication date: 6-Feb-2014
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media