Parallel and distributed model checking in Eddy

被引:18
|
作者
Melatti I. [1 ]
Palmer R. [1 ]
Sawaya G. [1 ]
Yang Y. [1 ]
Kirby R.M. [1 ]
Gopalakrishnan G. [1 ]
机构
[1] School of Computing, University of Utah, Salt Lake City, UT
基金
美国国家科学基金会;
关键词
Model Check; Shared Memory; Hash Table; Message Passing; Work Thread;
D O I
10.1007/s10009-008-0094-x
中图分类号
学科分类号
摘要
Model checking of safety properties can be scaled up by pooling the CPU and memory resources of multiple computers. As compute clusters containing 100s of nodes, with each node realized using multi-core (e.g., 2) CPUs will be widespread, a model checker based on the parallel (shared memory) and distributed (message passing) paradigms will more efficiently use the hardware resources. Such a model checker can be designed by having each node employ two shared memory threads that run on the (typically) two CPUs of a node, with one thread responsible for state generation, and the other for efficient communication, including (1) performing overlapped asynchronous message passing, and (2) aggregating the states to be sent into larger chunks in order to improve communication network utilization. We present the design details of such a novel model checking architecture called Eddy. We describe the design rationale, details of how the threads interact and yield control, exchange messages, as well as detect termination. We have realized an instance of this architecture for the Murphi modeling language. Called EddyΜrphi, we report its performance over the number of nodes as well as communication parameters such as those controlling state aggregation. Nearly linear reduction of compute time with increasing number of nodes is observed. Our thread task partition is done in such a way that it is modular, easy to port across different modeling languages, and easy to tune across a variety of platforms. © Springer-Verlag 2008.
引用
收藏
页码:13 / 25
页数:12
相关论文
共 50 条
  • [1] Sequential and distributed model checking of Petri nets
    Bell A.
    Haverkort B.R.
    International Journal on Software Tools for Technology Transfer, 2005, 7 (1) : 43 - 60
  • [2] Using Model Checking for Analyzing Distributed Power Control Problems
    Thomas Brihaye
    Marc Jungers
    Samson Lasaulce
    Nicolas Markey
    Ghassan Oreiby
    EURASIP Journal on Wireless Communications and Networking, 2010
  • [3] Model Checking Parameterized by the Semantics in Maude
    Riesco, Adrian
    FUNCTIONAL AND LOGIC PROGRAMMING, FLOPS 2018, 2018, 10818 : 198 - 213
  • [4] Comparison of distributed parallel scheduling schemes for crop growth model
    Jiang H.
    Yin Y.
    Peng C.
    Tang L.
    Cao W.
    Nongye Gongcheng Xuebao/Transactions of the Chinese Society of Agricultural Engineering, 2011, 27 (06): : 237 - 243
  • [5] A distributed parallel programming framework
    Stankovic, N
    Zhang, K
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2002, 28 (05) : 478 - 493
  • [6] Parallel and distributed crashworthiness simulation
    Lonsdale, G
    Clinckemaillie, J
    Meliciani, S
    Vlachoutsis, S
    Elsner, B
    1996 CERN SCHOOL OF COMPUTING, 1996, 96 (08): : 173 - 179
  • [7] Checking JML specifications using an extensible software model checking framework
    Edwin Robby
    Matthew B. Rodríguez
    John Dwyer
    International Journal on Software Tools for Technology Transfer, 2006, 8 (3) : 280 - 299
  • [8] Model-checking iterated games
    Chung-Hao Huang
    Sven Schewe
    Farn Wang
    Acta Informatica, 2017, 54 : 625 - 654
  • [9] Parallel image matching on a distributed system
    You, J
    Zhu, WP
    Pissaloux, E
    COMPUTER SYSTEMS SCIENCE AND ENGINEERING, 1997, 12 (06): : 381 - 385
  • [10] Distributed parallel computing using navigational programming
    Pan, L
    Lai, MK
    Noguchi, K
    Huseynov, JJ
    Bic, LF
    Dillencourt, MB
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2004, 32 (01) : 1 - 37