On the efficient sequential and distributed generation of very large Markov chains from stochastic Petri nets

In this paper we present efficient techniques for the generation of very large continuous-time Markov chains (CTMCs) specified as stochastic Petri nets (SPNs). In particular, we investigate how the storage efficiency of the reachability graph generation can be improved by using good state coding techniques and by using hashing tables instead of tree-based data structures. These techniques allow us to analyse SPNs with almost 55 million states on a single workstation. The size of the SPNs that can be handled is then further enlarged by using a cluster of workstations. With 16 workstations, connected via a 100 Mbps Ethernet, we can generate reachability graphs with over 400 million states in reasonable time. The presented techniques have been realised in a prototype tool (PARSECS) implemented in C++ using the libraries STL and MPICH. The SPNs to be input to PARSECS are specified using CSPL, known from the tool SPNP. In the paper we present our techniques and study their performance for a number of case studies. We also present comparisons with SPNP.

[1]  William H. Sanders,et al.  An Efficient Disk-Based Tool for Solving Very Large Markov Models , 1997, Computer Performance Evaluation.

[2]  M. V. Wilkes,et al.  The Art of Computer Programming, Volume 3, Sorting and Searching , 1974 .

[3]  Kenneth E. Iverson,et al.  A programming language , 1899, AIEE-IRE '62 (Spring).

[4]  Debasis Mitra,et al.  A chaotic asynchronous algorithm for computing the fixed point of a nonnegative matrix of unit spectral radius , 1986, JACM.

[5]  Kishor S. Trivedi,et al.  SPNP: stochastic Petri net package , 1989, Proceedings of the Third International Workshop on Petri Nets and Performance Models, PNPM89.

[6]  Gianni Conte,et al.  Experiences on SIMD Massively Parallel GSPN Analysis , 1994, Computer Performance Evaluation.

[7]  David M. Nicol,et al.  Distributed State Space Generation of Discrete-State Stochastic Models , 1995, INFORMS J. Comput..

[8]  William H. Sanders,et al.  "On-the-fly" solution techniques for stochastic Petri nets and extensions , 1997, Proceedings of the Seventh International Workshop on Petri Nets and Performance Models.

[9]  U. Stern,et al.  Using Magnatic Disk Instead of Main Memory in the Murphi Verifier , 1998, CAV.

[10]  Pierre Wolper,et al.  Reliable Hashing without Collosion Detection , 1993, CAV.

[11]  Masahiro Fujita,et al.  Multi-Terminal Binary Decision Diagrams: An Efficient Data Structure for Matrix Representation , 1997, Formal Methods Syst. Des..

[12]  Gianni Conte,et al.  Analysis of large GSPN models: a distributed solution tool , 1997, Proceedings of the Seventh International Workshop on Petri Nets and Performance Models.

[13]  Susann C. Allmaier,et al.  Parallel Graph Generation Algorithms for Shared and Distributed Memory Machines , 1997, PARCO.

[14]  W. H. J. Feijen,et al.  Derivation of a termination detection algorithm for distributed computations , 1986 .

[15]  László Lovász,et al.  Factoring polynomials with rational coefficients , 1982 .

[16]  Peter G. Harrison,et al.  Probability, Parallelism and the State Space Exploration Problem , 1998, Computer Performance Evaluation.

[17]  David L. Dill,et al.  Parallelizing the Murϕ Verifier , 2001, Formal Methods Syst. Des..

[18]  Giovanni Chiola Compiling Techniques for the Analysis of Stochastic Petri Nets , 1989 .

[19]  Kishor S. Trivedi,et al.  A Decomposition Approach for Stochastic Reward Net Models , 1993, Perform. Evaluation.

[20]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[21]  David L. Dill,et al.  Improved probabilistic verification by hash compaction , 1995, CHARME.

[22]  Graham Horton,et al.  Parallel Shared-Memory State-Space Exploration in Stochastic Modeling , 1997, IRREGULAR.

[23]  Alan L. Cox,et al.  TreadMarks: shared memory computing on networks of workstations , 1996 .

[24]  Gianfranco Ciardo,et al.  Storage Alternatives for Large Structured State Spaces , 1997, Computer Performance Evaluation.

[25]  Manuel Silva,et al.  A Simple and Fast Algorithm to Obtain All Invariants of a Generalized Petri Net , 1980, Selected Papers from the First and the Second European Workshop on Application and Theory of Petri Nets.

[26]  William J. Stewart,et al.  Introduction to the numerical solution of Markov Chains , 1994 .

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

[28]  David W. Walker,et al.  The Design of a Standard Message Passing Interface for Distributed Memory Concurrent Computers , 1994, Parallel Comput..

[29]  Peter Kemper Reachability Analysis Based on Structured Representations , 1996, Application and Theory of Petri Nets.

[30]  G. Conte,et al.  Parallel State Space Exploration for GSPN Models , 1995, Application and Theory of Petri Nets.

[31]  Graham Horton,et al.  State space construction and steady-state solution of GSPNs on a shared-memory multiprocessor , 1997, Proceedings of the Seventh International Workshop on Petri Nets and Performance Models.