Results 1 -
6 of
6
Parallel and distributed model checking in eddy
- In Proceedings of the SPIN Workshop, 2006
, 2006
"... Abstract. 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 multicore (e.g., 2) CPUs will be widespread, a model checker based on the parallel (shared memory) ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
Abstract. 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 multicore (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 (i) performing overlapped asynchronous message passing, and (ii) 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 Murphi, 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. 1
Can Saturation be parallelised? On the parallelisation of a symbolic state-space generator
- In Parallel and Distributed Methods in Verification, LNCS
, 2006
"... Abstract. Symbolic state-space generators are notoriously hard to parallelise. However, the Saturation algorithm implemented in the SMART verification tool differs from other sequential symbolic state-space generators in that it exploits the locality of firing events in asynchronous system models. T ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Abstract. Symbolic state-space generators are notoriously hard to parallelise. However, the Saturation algorithm implemented in the SMART verification tool differs from other sequential symbolic state-space generators in that it exploits the locality of firing events in asynchronous system models. This paper explores whether event locality can be utilised to efficiently parallelise Saturation on shared-memory architectures. Conceptually, we propose to parallelise the firing of events within a decision diagram node, which is technically realised via a thread pool. We discuss the challenges involved in our parallel design and conduct experimental studies on its prototypical implementation. On a dual-processor dual-core PC, our studies show speed-ups for several example models, e.g., of up to 50 % for a Kanban model, when compared to running our algorithm only on a single core. 1
Parallelising Symbolic State-Space Generators ⋆
"... Abstract. Symbolic state-space generators are notoriously hard to parallelise, largely due to the irregular nature of the task. Parallel languages such as Cilk, tailored to irregular problems, have been shown to offer efficient scheduling and load balancing. This paper explores whether Cilk can be u ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Abstract. Symbolic state-space generators are notoriously hard to parallelise, largely due to the irregular nature of the task. Parallel languages such as Cilk, tailored to irregular problems, have been shown to offer efficient scheduling and load balancing. This paper explores whether Cilk can be used to efficiently parallelise a symbolic state-space generator on a shared-memory architecture. We parallelise the Saturation algorithm implemented in the SMART verification tool using Cilk, and compare it to a parallel implementation of the algorithm using a thread pool. Our experimental studies on a dual-processor, dual-core PC show that Cilk can improve the run-time efficiency of our parallel algorithm due to its load balancing and scheduling efficiency. We also demonstrate that this incurs a significant memory overhead due to Cilk’s inability to support pipelining, and conclude by pointing to a possible future direction for parallel irregular languages to include pipelining. 1
Speculative Image Computation for Distributed Symbolic Reachability Analysis
- JOURNAL OF LOGIC AND COMPUTATION ADVANCE ACCESS
, 2009
"... The Saturation-style fixpoint iteration strategy for symbolic reachability analysis is particularly effective for globally asynchronous locally synchronous discrete-state systems. However, its inherently sequential nature makes it difficult to parallelize Saturation on a network workstations (NOW). ..."
Abstract
- Add to MetaCart
The Saturation-style fixpoint iteration strategy for symbolic reachability analysis is particularly effective for globally asynchronous locally synchronous discrete-state systems. However, its inherently sequential nature makes it difficult to parallelize Saturation on a network workstations (NOW). We then propose the idea of using idle workstation time to perform speculative image computations. Since an unrestrained prediction may make excessive use of computational resources, we introduce a history-based approach to dynamically recognize image computation (event firing) patterns and explore only firings that conform to these patterns. In addition, we employ an implicit encoding for the patterns, so that the actual image computation history can be efficiently preserved. Experiments not only show that image speculation works on a realistic model, but also indicate that the use of an implicit encoding together with two heuristics results in a better informed speculation.
Distributed Symbolic Reachability Analysis by
, 2007
"... Foremost, I am truly grateful to my adviser, Dr. Gianfranco Ciardo, for getting me started in the field of formal verification (when I had no idea what model checking is) giving me brilliant advice in countless discussions (when I had no idea what I should do next) and, most importantly, giving me c ..."
Abstract
- Add to MetaCart
Foremost, I am truly grateful to my adviser, Dr. Gianfranco Ciardo, for getting me started in the field of formal verification (when I had no idea what model checking is) giving me brilliant advice in countless discussions (when I had no idea what I should do next) and, most importantly, giving me confidence to pursue my ideas all the way through. This dissertation would not exist without his continuous mental and financial support. I also owe special thanks to Dr. Radu I. Siminiceanu who has been extremely helpful on resolving many other difficulties that came along during my Ph.D. study. Without his suggestions, several important contributions described in this dissertation would have never been accomplished. Furthermore, without his invitation to the National Institute of Aerospace and the fruitful conversations and pleasant collaboration during the internship, I would have never fulfilled the practical part of my dissertation. In addition, I am forever indebted to my parents, Yung-Tern Chung and I-Ling Lin, who always trust me in all my life decisions. I can never say enough thanks for their being supportive and encouraging in the last 35 years. Finally, I feel a deep sense of gratitude to my wife, Ya-Yen Lee, for her understanding and unlimited patience during the Ph.D. pursuit. The best experiences that we lived through in this period were the birth of our son, Ethan William Chung, who has provided a blissful dimension to our life mission, and also the conception of our unborn child, who has not had a name yet but will, for sure, saturate our life adventure with joys in the future. iv ABSTRACT OF THE DISSERTATION
DOI 10.1007/s10009-008-0094-x SPECIAL SECTION ON SPIN Parallel and distributed model checking in Eddy
, 2008
"... Abstract 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) ..."
Abstract
- Add to MetaCart
Abstract 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_Murphi, 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.

