Distributed Symbolic Model Checking - PowerPoint PPT Presentation

About This Presentation
Title:

Distributed Symbolic Model Checking

Description:

Division tool kit. Collection of independent tools for: Distributed computation ... Distributed Tool Kit. Basic Model Checking Operations. Model Checking Mu-Calculus ... – PowerPoint PPT presentation

Number of Views:29
Avg rating:3.0/5.0
Slides: 27
Provided by: tamirh3
Category:

less

Transcript and Presenter's Notes

Title: Distributed Symbolic Model Checking


1
Distributed Symbolic Model Checking
  • Tamir Heyman
  • Advisors
  • Orna Grumberg and Assaf Schuster
  • Technion Haifa

2
The Size Problem
  • Model Checking takes a model and a specification
  • This presentation focus on the sub problem known
    as reachability analysis (RA)
  • The number of states/vertices is exponential in
    the number of model variables

3
The Sequential Solution
  • Symbolic Model Checking
  • Computation is done over sets of states, usually
    represented as BDDs
  • Representation size may be polynomial
  • Memory requirements still a problem
  • limits model size to 300 state variables (Bits)

4
Distributed Method
  • The goal is to solve verification problems that
    cannot fit into the memory of a single machine
  • We use a large cluster of nodes as if they were
    one big node.
  • Each node contributes a local memory and a
    processor

5
Distributed Challenges
  • What Distributed has to do with NP problems?
  • We keep the representation efficient as in the
    sequential algorithm therefore works on
    polynomial problems.
  • Why not a single node with larger memory?
  • The clusters memory capacity is proportional to
    the cluster CPU power.
  • What is required in order to handle any size?
  • Keep the efficiency while the system is growing.

6
Distributed Symbolic Method
  • A Complete set of window functions W1Wn,
    defines for each process the part of the state
    space it owns
  • S is partitioned to SiS/\Wi
  • The parts Si are smaller than the whole set S

7
Elements of Distributed Symbolic Model Checking
HGGS CAV00
  • Developed for reachability analysis, extended to
    full model checking
  • Slicing algorithm
  • Exchange algorithm
  • Balance algorithm

8
Slicing algorithm
  • Given a set S, the slicing algorithm computes
    window functions

S
9
Slicing algorithm
  • Slicing S according to window functions

S1
S2
P1
P2
10
Exchange algorithm
  • During a calculation, states may be found that
    belong to other window
  • Exchange a set according to window functions

11
Memory balance
  • During calculation, the sets that distributed
    based on current window function may be
    unbalanced
  • Balance window functions and exchange the set
    accordingly

12
What a Researcher Needs?
  • Get a Sequential model checker, implement message
    passing interface, implement transmission of
    objects, implement transmission of sets of states
    represented as BDDs
  • Or
  • Use the Division system ,under construction.
  • By Tamir Heyman and Amnon Heyman

13
What is in the Division?
  • Open source
  • Platform for research
  • General system
  • Supporting distributed model checking
  • Special support in distributed symbolic model
    checking

14
The Divisions Structure
Model Checking Mu-Calculus
Basic Model Checking Operations
Distributed Tool Kit
Standard Building Blocks
Infrastructure
15
Infrastructure
  • Operating system
  • Communication
  • Distributed files system

16
Standard Building Blocks
  • Message Passing Interface (MPI)
  • Standard Template Library (STL)
  • Symbolic Model Checker (SMC)
  • Interface implemented by the SMC

MPI STL SMC Standard Building
Blocks
DTK Interface
17
Division tool kit
  • Collection of independent tools for
  • Distributed computation
  • Distributed model checking
  • Distributed symbolic model checking

18
Basic Model Checking Operation
  • Exchange
  • Termination detection
  • Split

19
Model Checking Mu-calculus
  • Distributed fixpoint
  • Distributed Reachability analysis
  • Distributed Full Mu-Calculus

20
Focus on DTK
Model Checking Mu-Calculus
Basic Model Checking Operations
Distributed Tool Kit
Standard Building Blocks
Infrastructure
21
DTK for distributed Algorithm
  • Distributed output
  • Collected from many processes
  • Filtered
  • Transmission of objects
  • Like in CORBA
  • Transmission of commands
  • Executing remote code

22
DTK for Model Checking
  • Interface for model checking engine
  • Simple, short, hid the complexity
  • Manager for Pool of processes
  • Response to partners requests
  • Collect Idle processes calls

23
DTK for Symbolic MC
  • Transmitting BDDs
  • Save/load BDD from Disk
  • Set of states that uses BDD
  • Implicit mark/release BDD
  • Implementation of operators ,-,,,!,

24
Results
  • Slicing is effective at least with 512 slices
  • Model checking is effective at least using 32
    machines
  • Finds bugs that could not be found by single
    machine running the sequential algorithm

25
Future work
  • Massive parallelism using hundreds of nodes
  • Including known orthogonal optimizations to
    further reduce memory requirements
  • Improve speedup, by further optimizations

26
Future Development
  • Distributed Reorder
  • Force the same order in all process
  • Let Each process choose locally
  • Do something in between
  • New fixpoint algorithm
  • To better utilize O(100) nodes
Write a Comment
User Comments (0)
About PowerShow.com