Load Balancing Parallel Explicit State Model Checking

This paper first identifies some of the key concerns about the techniques and algorithms developed for parallel model checking; specifically, the inherent problem with load balancing and large queue sizes resultant in a static partition algorithm. This paper then presents a load balancing algorithm to improve the run time performance in distributed model checking, reduce maximum queue size, and reduce the number of states expanded before error discovery. The load balancing algorithm is based on generalized dimension exchange (GDE). This paper presents an empirical analysis of the GDE based load balancing algorithm on three different supercomputing architectures---distributed memory clusters, Networks of Workstations (NOW) and shared memory machines. The analysis shows increased speedup, lower maximum queue sizes and fewer total states explored before error discovery on each of the architectures. Finally, this paper presents a study of the communication overhead incurred by using the load balancing algorithm, which although significant, does not offset performance gains.

[1]  Stephan Merz,et al.  Model Checking , 2000 .

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

[3]  Claudio Demartini,et al.  dSPIN: A Dynamic Extension of SPIN , 1999, SPIN.

[4]  Ganesh Gopalakrishnan,et al.  Random Walk Based Heuristic Algorithms for Distributed Memory Model Checking , 2003, PDMC@CAV.

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

[6]  Somesh Jha,et al.  Exploiting symmetry in temporal logic model checking , 1993, Formal Methods Syst. Des..

[7]  David L. Dill,et al.  Parallelizing the Murphi Verifier , 1997, CAV.

[8]  Frits W. Vaandrager,et al.  Distributing Timed Model Checking - How the Search Order Matters , 2000, CAV.

[9]  Lubos Brim,et al.  Distributed LTL model-checking in SPIN , 2001, SPIN '01.

[10]  Enrico Tronci,et al.  Correct Hardware Design and Verification Methods , 2003, Lecture Notes in Computer Science.

[11]  James Arthur Kohl,et al.  PVM and MPI: a Comparison of Features , 2007 .

[12]  Gerard J. Holzmann,et al.  An analysis of bistate hashing , 1995, Protocol Specification, Testing and Verification.

[13]  Gerard J. Holzmann,et al.  An Analysis of Bitstate Hashing , 1995, Formal Methods Syst. Des..

[14]  Richard S. Barr,et al.  Feature Article - Reporting Computational Experiments with Parallel Algorithms: Issues, Measures, and Experts' Opinions , 1993, INFORMS J. Comput..

[15]  Lubos Brim,et al.  Distributed LTL Model Checking Based on Negative Cycle Detection , 2001, FSTTCS.

[16]  Michael D. Jones,et al.  Benchmarking Explicit State Parallel Model Checkers , 2003, Electron. Notes Theor. Comput. Sci..

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

[18]  Anthony P. Reeves,et al.  Strategies for Dynamic Load Balancing on Highly Parallel Computers , 1993, IEEE Trans. Parallel Distributed Syst..

[19]  Of references. , 1966, JAMA.

[20]  Gerd Behrmann,et al.  A Performance Study of Distributed Timed Automata Reachability Analysis , 2002, PDMC@CONCUR.

[21]  Cheng-Zhong Xu,et al.  Iterative Dynamic Load Balancing in Multicomputers , 1994 .

[22]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[23]  Willem Visser,et al.  Addressing dynamic issues of program model checking , 2001, SPIN '01.

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

[25]  Radu Mateescu,et al.  Parallel state space construction for model-checking , 2001, SPIN '01.

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

[27]  Pierre Wolper,et al.  Using partial orders for the efficient verification of deadlock freedom and safety properties , 1991, Formal Methods Syst. Des..

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

[29]  Assaf Schuster,et al.  Scalable Distributed On-the-Fly Symbolic Model Checking , 2000, FMCAD.