Abstract

Decision diagrams, such as binary decision diagrams, multi-terminal binary decision diagrams and multi-valued decision diagrams, play an important role in various fields. They are especially useful to represent the characteristic function of sets of states and transitions in symbolic model checking. Most implementations of decision diagrams do not parallelize the decision diagram operations. As performance gains in the current era now mostly come from parallel processing, an ongoing challenge is to develop datastructures and algorithms for modern multi-core architectures. The decision diagram package Sylvan provides a contribution by implementing parallelized decision diagram operations and thus allowing sequential algorithms that use decision diagrams to exploit the power of multi-core machines. This paper discusses the design and implementation of Sylvan, especially an improvement to the lock-free unique table that uses bit arrays, the concurrent operation cache and the implementation of parallel garbage collection. We extend Sylvan with multi-terminal binary decision diagrams for integers, real numbers and rational numbers. This extension also allows for custom MTBDD leaves and operations and we provide an example implementation of GMP rational numbers. Furthermore, we show how the provided framework can be integrated in existing tools to provide out-of-the-box parallel BDD algorithms, as well as support for the parallelization of higher-level algorithms. As a case study, we parallelize on-the-fly symbolic reachability in the model checking toolset LTSmin. We experimentally demonstrate that the parallelization of symbolic model checking for explicit-state modeling languages, as supported by LTSmin, scales well. We also show that improvements in the design of the unique table result in faster execution of on-the-fly symbolic reachability.

Highlights

  • In model checking, we create models of complex systems to verify that they function according to certain properties

  • We show how the provided framework can be integrated in existing tools to provide out-of-the-box parallel binary decision diagrams (BDDs) algorithms, as well as support for the parallelization of higher-level algorithms

  • We describe the implementation of onthe-fly symbolic reachability in the model checking toolset LTSmin, and show how we parallelize symbolic reachability using the disjunctive partitioning of transition relations that LTSmin offers, and how we parallelize on-the-fly transition learning using a custom BDD operation

Read more

Summary

Introduction

We create models of complex systems to verify that they function according to certain properties. For many symbolic model checking algorithms, most time is spent in the BDD operations. Another method uses parallel computation, e.g., in computer systems with multiple processors. In [26], we presented an extension to Sylvan that implements operations on list decision diagrams (LDDs). Experiments on the BEEM database of explicit-state models show that parallelizing the higher level algorithms in LTSmin pays off, as the parallel speedup increases from 5.6× to 16×, while the sequential computation time (with 1 worker) stays the same.

Related work
Decision diagrams
Decision diagram operations
Parallel programming
System architecture
Representation of nodes
Scalable unique table
Scalable operation cache
Garbage collection
Memory management
BDD algorithms
MTBDD algorithms
LDD algorithms
On-the-fly symbolic reachability in LTSMIN
Parallel on-the-fly symbolic reachability
Comparing par-prev and bfs-prev
Comparing the old and the new unique table
Comparing BDDs and LDDs
Recent experiments in related work
Findings
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call