Journal of Logic and Computation Advance Access published online on February 17, 2009
Journal of Logic and Computation, doi:10.1093/logcom/exp003
Original Papers |
Distributed Algorithms for SCC Decomposition
í Barnat
Department of Computer Science, Faculty of Informatics, Masaryk University Brno, Czech Republic.
E-mail: barnat{at}fi.muni.cz; xchalou1{at}fi.muni.cz
Formal Methods and Tools, Department of EEMCS, University of Twente, The Netherlands.
E-mail: j.c.vandepol{at}ewi.utwente.nl
Received 29 February 2008.
We study existing parallel algorithms for the decomposition of a partitioned graph into its strongly connected components (SCCs). In particular, we identify several individual procedures that the algorithms are assembled from and show how to assemble a new and more efficient algorithm, called Recursive OBF (OBFR), to solve the decomposition problem. We also report on a thorough experimental study to evaluate the new algorithm. It shows that it is possible to perform SCC decomposition in parallel efficiently and that OBFR, if properly implemented, is the best choice in most cases.
Keywords: parallel algorithms; strongly connected components
References
- Amato N. Improved processor bounds for parallel algorithms for weighted directed graphs. Information Processing Letters (1993) 45:147–152.[CrossRef][Web of Science]
- Barnat J, Brim L,
erná I, Moravec P, Ro
kai P,
ime
ek P. Divine – a tool for distributed verification. (2006) Springer Berlin/Heidelberg. 278–281. In Proceedings of Computer Aided Verification, Vol. 4144/2006 of Lecture Notes in Computer Science. - Barnat J, Chaloupka J, van de Pol JC. Improved distributed algorithms for SCC decomposition. In: Participant proceedings of the Sixth International Workshop on Parallel and Distributed Methods in verifiCation (PDMC 2007) (2007) CTIT: University of Twente. 65–80.
- Barnat J, Moravec P. Parallel algorithms for finding SCCs in implicitly given graphs. (2007) Springer-Verlag. 316–330. In Proceedings of the 5th International Workshop on Parallel and Distributed Methods in Verification (PDMC 2006). Vol. 4346 of Lecture Notes in Computer Science.
- Behrmann G. A performance study of distributed timed automata reachability analysis. (2002) Elsevier Science Publishers. In Proceedings of the Workshop on Parallel and Distributed Model Checking. Vol. 68 of Electronic Notes in Theoretical Computer Science.
- Blom SCC, Calamé JR, Lisser B, Orzan S, Pang J, van de Pol JC, Torabi Dashti M, Wijs AJ. Distributed analysis with µcrl: a compendium of case studies. Grumberg O, Huth M, eds. (2007) Braga, Portugal, Berlin: Springer Verlag. 683–689. In Tools and Algorithms for the Construction and Analysis of Systems, Vol. 4424 of Lecture Notes in Computer Science.
- Blom SCC, Garavel H. The VLTS benchmark suite. (2003) (last accessed on 4 February, 2009). Available at: http://www.inrialpes.fr/vasy/cadp/resources/benchmark_bcg.html.
- Blom SCC, van de Pol JC. State space reduction by proving confluence. Brinksma E, Larsen KG, Larsen KG, eds. (2002) Springer. 596–609. In CAV, Vol. 2404 of Lecture Notes in Computer Science.
- Brim L,
erná I, Moravec P,
im
a J. Accepting predecessors are better than back edges in distributed LTL model-checking. (2004) Springer-Verlag. 352–366. In Proceddings of the 5th International Conference on Formal Methods in Computer-Aided Design (FMCAD04). Vol. 3312 of Lecture Notes in Computer Science. - Caselli S, Conte G, Marenzoni P. Parallel state space exploration for GSPN models. De Michelis G, Diaz M, eds. (1995) Springer-Verlag. 181–200. In Applications and Theory of Petri Nets 1995, Vol. 935 of Lecture Notes in Computer Science.
- Ciardo G, Gluckman J, Nicol DM. Distributed state space generation of discrete-state stochastic models. INFORMS Journal of Computing (1997) 47:153–167.
- Ciesinski F, Baier C. LiQuor: a tool for qualitative and qualitative linear time analysis of reactive systems. In: IEEE Computer Society (2006) 3rd International Conference on the Quantitative Evaluation of Systems (QEST 2006), 131–132.
- Clarke EM, Grumberg O, Peled DA. Model Checking (1999) Cambridge, MA: The MIT Press.
- Cole R, Vishkin U. Faster optimal parallel prefix sums and list ranking. Information and Computation (1989) 81:334–352.[CrossRef][Web of Science]
- Cormen TH, Leiserson CE, Rivest RL. Introduction to Algorithms (1990) MIT Press.
- Fisler K, Fraer R, Kamhi G, Vardi MY, Yang Z. Is there a best symbolic cycle-detection algorithm? (2001) Springer. 420–434. In Proceedings of theTools and Algorithms for Construction and Analysis of Systems. Vol. 2031 of Lecture Notes in Computer Science.
- Fleischer LK, Hendrickson B, Pinar A. On identifying strongly connected components in parallel. (2000) Springer. 505–511. Vol. 1800 of Lecture Notes in Computer Science.
- Garavel H, Mateescu R, Smarandache IM. Parallel state space construction for model-checking. (2001) Springer-Verlag. 200–216. In Proceedings of the 8th International SPIN Workshop on Model Checking of Software (SPIN01). Vol. 2057 of Lecture Notes in Computer Science.
- Gazit H, Miller GL. An improved parallel algorithm that computes the BFS numbering of a directed graph. Information Processing Letters (1988) 28:61–65.[CrossRef][Web of Science]
- McLendon W III, Hendrickson B, Plimpton SJ, Rauchwerger L. Finding strongly connected components in distributed graphs. Journal of Parallel Distribution Computation (2005) 65:901–910.[CrossRef]
- Lerda F, Sisto R. Distributed-memory model checking with SPIN. (1999) Springer-Verlag. In Proceedings of the 6th International SPINWorkshop on Model Checking of Software (SPIN99). Vol. 1680 of Lecture Notes in Computer Science.
- Orzan S. On Distributed Verification and Verified Distribution (2004) Free University of Amsterdam. PhD Thesis.
- Reif JH. Depth-first search is inherently sequential. Information Processing Letters (1985) 20:229–234.[CrossRef][Web of Science]
- Stern U, Dill DL. Parallelizing the Mur
verifier. Grumberg O, ed. (1997) Springer-Verlag. 256–267. In Proceedings of Computer Aided Verification (CAV97), Vol. 1254 of Lecture Notes in Computer Science. - Tarjan R. Depth first search and linear graph algorithms. SIAM Journal on computing (1972) 1:146–160.[CrossRef]
| ||||||||||||||||||||||||||||||||||||||||||||||||||