Sylvan: multi-core framework for decision diagrams

被引:35
|
作者
van Dijk, Tom [1 ]
van de Pol, Jaco [2 ]
机构
[1] Johannes Kepler Univ Linz, Inst Formal Models & Verificat, Linz, Austria
[2] Univ Twente, Formal Methods & Tools, Enschede, Netherlands
关键词
Multi-core; Parallel; Binary decision diagrams; Multi-terminal binary decision diagrams; Multi-valued decision diagrams; Symbolic model checking; SYMBOLIC REACHABILITY; BDD PACKAGE; VERIFICATION; MANIPULATION; MODEL;
D O I
10.1007/s10009-016-0433-2
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:675 / 696
页数:22
相关论文
共 50 条
  • [31] A Computational Framework for Implementation of Neural Networks on Multi-Core Machine
    Wang, Wenduo
    Murphey, Yi
    Watta, Paul
    INNS CONFERENCE ON BIG DATA 2015 PROGRAM, 2015, 53 : 82 - 91
  • [32] Implementing a new application debugging framework for the multi-core age
    Andersen, Dick
    Scientific Computing, 2007, 24 (08): : 34 - 35
  • [33] A Multi-Core Numerical Framework for Characterizing Flow in Oil Reservoirs
    Leonardi, Christopher R.
    Holmes, David W.
    Williams, John R.
    Tilke, Peter G.
    HIGH PERFORMANCE COMPUTING SYMPOSIUM 2011 (HPC 2011) - 2011 SPRING SIMULATION MULTICONFERENCE - BK 6 OF 8, 2011, 43 (02): : 166 - 174
  • [34] A performance optimization support framework for multi agent simulations on multi-core environment
    20145100345160
    (1) Graduate School of Informatics, Shizuoka University, Shizuoka, Japan, 1600, International Institute of Applied Informatics (Institute of Electrical and Electronics Engineers Inc., United States):
  • [35] A Performance Optimization Support Framework for Multi Agent Simulations on Multi-core Environment
    Sano, Yoshihito
    Kadono, Yoshiaki
    Fukuta, Naoki
    2014 IIAI 3RD INTERNATIONAL CONFERENCE ON ADVANCED APPLIED INFORMATICS (IIAI-AAI 2014), 2014, : 475 - 480
  • [36] Multi-core technologies
    Tarek, T.
    Scientific Computing, 2006, 23 (11):
  • [37] MULTI-CORE CABLES
    WILLIAMS, R
    WIRELESS WORLD, 1971, 77 (1429): : 320 - &
  • [38] Multi-core microprocessors
    Rajaraman V.
    Resonance, 2017, 22 (12) : 1175 - 1192
  • [39] The Multi-Core Challenge
    Ungerer, Theo
    IT-INFORMATION TECHNOLOGY, 2010, 52 (03): : 142 - 146
  • [40] Multi-core technology
    Sci. Comput., 2006, 7 (06):