Saturation NOW

We present a distributed version of the saturation algorithm for symbolic state-space generation of discrete-state models. The execution is strictly sequential but utilizes the overall available memory. A level-based allocation of the decision diagram nodes onto the workstations is created. No additional node or work is created. A dynamic memory load balancing heuristic helps coping with the uneven growth of the decision diagram levels allocated to each workstation. Experiments on a conventional network of workstations show that the runtime of our distributed implementation is close to the sequential one even when balancing is triggered, while it is of course much better when the sequential implementation is forced to rely on virtual memory.

[1]  Gianfranco Ciardo,et al.  Structural Symbolic CTL Model Checking of Asynchronous Systems , 2003, CAV.

[2]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[3]  Peter Buchholz,et al.  Complexity of Memory-Efficient Kronecker Operations with Applications to the Solution of Markov Models , 2000, INFORMS J. Comput..

[4]  Gianfranco Ciardo,et al.  Efficient Symbolic State-Space Construction for Asynchronous Systems , 2000, ICATPN.

[5]  Sheldon B. Akers,et al.  Binary Decision Diagrams , 1978, IEEE Transactions on Computers.

[6]  David M. Nicol,et al.  Automated Parallelization of Discrete State-Space Generation , 1997, J. Parallel Distributed Comput..

[7]  Assaf Schuster,et al.  A Work-Efficient Distributed Algorithm for Reachability Analysis , 2003, CAV.

[8]  Alan J. Hu,et al.  BDDNOW: A Parallel BDD Package , 1998, FMCAD.

[9]  Gianfranco Ciardo,et al.  Efficient Reachability Set Generation and Storage Using Decision Diagrams , 1999, ICATPN.

[10]  Forrest Brewer,et al.  Implementation of an efficient parallel BDD package , 1996, DAC '96.

[11]  Gianfranco Ciardo,et al.  Saturation Unbound , 2003, TACAS.

[12]  Edmund M. Clarke,et al.  A parallel algorithm for constructing binary decision diagrams , 1990, Proceedings., 1990 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[13]  Robert K. Brayton,et al.  Binary decision diagrams on network of workstations , 1996, Proceedings International Conference on Computer Design. VLSI in Computers and Processors.

[14]  R. Brayton,et al.  Reachability analysis using partitioned-ROBDDs , 1997, ICCAD 1997.

[15]  Edmund M. Clarke,et al.  Symbolic Model Checking with Partitioned Transistion Relations , 1991, VLSI.

[16]  Edward P. Stabler,et al.  Parallel implementation of BDD algorithms using a distributed shared memory , 1994, 1994 Proceedings of the Twenty-Seventh Hawaii International Conference on System Sciences.

[17]  Hiroyuki Ochi,et al.  Breadth-first manipulation of very large binary-decision diagrams , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[18]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[19]  Jordi Cortadella,et al.  Petri Net Analysis Using Boolean Manipulation , 1994, Application and Theory of Petri Nets.

[20]  Gianfranco Ciardo,et al.  Saturation: An Efficient Iteration Strategy for Symbolic State-Space Generation , 2001, TACAS.

[21]  Gianfranco Ciardo,et al.  Using Edge-Valued Decision Diagrams for Symbolic Generation of Shortest Paths , 2002, FMCAD.

[22]  Bernhard Steffen,et al.  Compositional minimisation of finite state systems using interface specifications , 1996, Formal Aspects of Computing.