Distributed Computation of Fixed Points on Dependency Graphs

Dependency graph is an abstract mathematical structure for representing complex causal dependencies among its vertices. Several equivalence and model checking questions, boolean equation systems and other problems can be reduced to fixed-point computations on dependency graphs. We develop a novel distributed algorithm for computing such fixed points, prove its correctness and provide an efficient, open-source implementation of the algorithm. The algorithm works in an on-the-fly manner, eliminating the need to generate a priori the entire dependency graph. We evaluate the applicability of our approach by a number of experiments that verify weak simulation/bisimulation equivalences between CCS processes and we compare the performance with the well-known CWB tool. Even though the fixed-point computation, being a P-complete problem, is difficult to parallelize in theory, we achieve significant speed-ups in the performance as demonstrated on a Linux cluster with several hundreds of cores.

[1]  Radu Mateescu,et al.  Distributed On-the-Fly Model Checking and Test Case Generation , 2006, SPIN.

[2]  C. R. Ramakrishnan,et al.  Fully Local and Efficient Evaluation of Alternating Fixed Points (Extended Abstract) , 1998, TACAS.

[3]  Kim G. Larsen,et al.  Local Model Checking of Weighted CTL with Upper-Bound Constraints , 2013, SPIN.

[4]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[5]  Radu Mateescu,et al.  CADP 2011: a toolbox for the construction and analysis of distributed processes , 2012, International Journal on Software Tools for Technology Transfer.

[6]  Ernest J. H. Chang,et al.  An improved algorithm for decentralized extrema-finding in circular configurations of processes , 1979, CACM.

[7]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[8]  Ishfaq Ahmad,et al.  Benchmarking and Comparison of the Task Graph Scheduling Algorithms , 1999, J. Parallel Distributed Comput..

[9]  Rance Cleaveland,et al.  The concurrency workbench: a semantics-based tool for the verification of concurrent systems , 1993, TOPL.

[10]  J. Gabarró,et al.  Deciding bisimilarity isP-complete , 1992, Formal Aspects of Computing.

[11]  Kim G. Larsen,et al.  Efficient On-the-Fly Algorithms for the Analysis of Timed Games , 2005, CONCUR.

[12]  Assaf Schuster,et al.  Distributed Symbolic Model Checking for μ-Calculus , 2005, Formal Methods Syst. Des..

[13]  José L. Balcázar,et al.  Deciding Bisimilarity is P-Complete , 1992, Formal Aspects Comput..

[14]  Gerard J. Holzmann,et al.  The SPIN Model Checker , 2003 .

[15]  Jan Friso Groote,et al.  Modeling and Analysis of Communicating Systems , 2014 .

[16]  Benedikt Bollig,et al.  Local Parallel Model Checking for the Alternation-Free µ-Calculus , 2002, SPIN.

[17]  Keith A. Bartlett,et al.  A note on reliable full-duplex transmission over half-duplex links , 1969, Commun. ACM.

[18]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum II , 1993, CONCUR.

[19]  R. J. vanGlabbeek The linear time - branching time spectrum , 1990 .

[20]  Kim G. Larsen,et al.  CAAL: Concurrency Workbench, Aalborg Edition , 2015, ICTAC.

[21]  Scott A. Smolka,et al.  Simple Linear-Time Algorithms for Minimal Fixed Points (Extended Abstract) , 1998, ICALP.

[22]  A. W. Roscoe,et al.  FDR3 - A Modern Refinement Checker for CSP , 2014, TACAS.

[23]  李幼升,et al.  Ph , 1989 .