Multi-threaded Explicit State Space Exploration with State Reconstruction

This article introduces a parallel state space exploration algorithm for shared memory multi-core architectures using state compression and state reconstruction to reduce memory consumption. The algorithm proceeds in rounds each consisting of three phases: concurrent expansion of open states, concurrent reduction of potentially new states, and concurrent duplicate detection. An important feature of the algorithm is that it requires little inter-thread synchronisation making it highly scalable. This is confirmed by an experimental evaluation that demonstrates good speed up at a low overhead in workload and with little waiting time caused by synchronisation.

[1]  Sami Evangelista,et al.  Search-Order Independent State Caching , 2010, Trans. Petri Nets Other Model. Concurr..

[2]  Lubos Brim,et al.  Accepting Predecessors Are Better than Back Edges in Distributed LTL Model-Checking , 2004, FMCAD.

[3]  Sami Evangelista,et al.  Memory Efficient State Space Storage in Explicit Software Model Checking , 2005, SPIN.

[4]  Gerard J. Holzmann,et al.  Parallelizing the Spin Model Checker , 2012, SPIN.

[5]  Sami Evangelista,et al.  High Level Petri Nets Analysis with Helena , 2005, ICATPN.

[6]  W. Marsden I and J , 2012 .

[7]  Jetty Kleijn,et al.  Petri Nets and Other Models of Concurrency - ICATPN 2007, 28th International Conference on Applications and Theory of Petri Nets and Other Models of Concurrency, ICATPN 2007, Siedlce, Poland, June 25-29, 2007, Proceedings , 2007, ICATPN.

[8]  Andreas Podelski,et al.  ACSAR: Software Model Checking with Transfinite Refinement , 2007, SPIN.

[9]  Sami Evangelista,et al.  The ComBack Method Revisited: Caching Strategies and Extension with Delayed Duplicate Detection , 2009, Trans. Petri Nets Other Model. Concurr..

[10]  Dragan Bosnacki,et al.  Improving Spin's Partial-Order Reduction for Breadth-First Search , 2005, SPIN.

[11]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[12]  Silvano Dal-Zilio,et al.  Mixed Shared-Distributed Hash Tables Approaches for Parallel State Space Construction , 2011, 2011 10th International Symposium on Parallel and Distributed Computing.

[13]  Alfons Laarman,et al.  Variations on Multi-Core Nested Depth-First Search , 2011, PDMC.

[14]  Alfons Laarman,et al.  Parallel Recursive State Compression for Free , 2011, SPIN.

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

[16]  Henri Casanova,et al.  Parallel Algorithms , 2019, Design and Analysis of Algorithms.

[17]  Gianfranco Ciardo,et al.  Applications and Theory of Petri Nets 2005, 26th International Conference, ICATPN 2005, Miami, USA, June 20-25, 2005, Proceedings , 2005, ICATPN.

[18]  Alfons Laarman,et al.  Boosting multi-core reachability performance with shared hash tables , 2010, Formal Methods in Computer Aided Design.

[19]  Lubos Brim,et al.  DiVinE: Parallel Distributed Model Checker , 2010, 2010 Ninth International Workshop on Parallel and Distributed Methods in Verification, and Second International Workshop on High Performance Computational Systems Biology.

[20]  Michael Westergaard,et al.  The ComBack Method - Extending Hash Compaction with Backtracking , 2007, ICATPN.