multi core partial order reduction for ltl model checking
play

Multi-Core Partial-Order Reduction for LTL Model Checking Alfons - PowerPoint PPT Presentation

MC-MC POR LTL MC-POR Conclusions Multi-Core Partial-Order Reduction for LTL Model Checking Alfons Laarman alfons@laarman.com joint work with Anton Wijs (Eindhoven University of Technology) Formal Methods in Systems Engineering Vienna


  1. MC-MC POR LTL MC-POR Conclusions Multi-Core Partial-Order Reduction for LTL Model Checking Alfons Laarman alfons@laarman.com joint work with Anton Wijs (Eindhoven University of Technology) Formal Methods in Systems Engineering Vienna University of Technology May 5, 2015 Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 1/12

  2. MC-MC POR LTL MC-POR Conclusions Goals Combine: Parallel model checking (exponential gains) Partial-Order Reduction (POR) (exponential gains) Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 2/12

  3. MC-MC POR LTL MC-POR Conclusions Goals Combine: Parallel model checking (exponential gains) Partial-Order Reduction (POR) (exponential gains) P 1 � P 2 P i Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 2/12

  4. MC-MC POR LTL MC-POR Conclusions Scalable Multi-Core Model Checking Research questions Can model checking scale on modern multi-cores? Retain compatibility with di ff erent optimizations? Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 3/12

  5. MC-MC POR LTL MC-POR Conclusions Scalable Multi-Core Model Checking Research questions Can model checking scale on modern multi-cores? Retain compatibility with di ff erent optimizations? On-the-fly 1 Partial-order reduction 2 State compression 3 OR Symbolic with BDDs 4 [van Dijk, L, van de Pol, 2013] Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 3/12

  6. MC-MC POR LTL MC-POR Conclusions Scalable Multi-Core Model Checking Research questions Can model checking scale on modern multi-cores? Retain compatibility with di ff erent optimizations? n o e i y t s Formalism a s fl t e - c s y e r i p h t l t r o i m t R e c - b n p i o O On-the-fly m 1 l o p C O P y r x P E + + + S Partial-order reduction 2 State compression 3 Plain Reachability ✓ ✓ ✓ ✓ ✓ OR Symbolic with BDDs 4 Liveness ? ✓ ✓ ✓ ✓ [van Dijk, L, van de Pol, 2013] Timed Reachability ✓ ✓ ✓ ✓ ✓ Liveness ✓ ✓ ✓ ? ✓ Shared hash table approach (as opposed to distributed algorithms) 1 Lockless data structures 2 Parallel algorithms (Multi-Core Nested-DFS) 3 Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 3/12

  7. MC-MC POR LTL MC-POR Conclusions Partial-Order Reduction for LTL State-space graph: G = ( S , T , s 0 , AP ) On-the-fly exploration: en : S → S Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 4/12

  8. MC-MC POR LTL MC-POR Conclusions Partial-Order Reduction for LTL State-space graph: G = ( S , T , s 0 , AP ) On-the-fly exploration: en : S → S Reduce successor function: por ( s ) ⊆ en ( s ) . deadlock − → Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 4/12

  9. MC-MC POR LTL MC-POR Conclusions Partial-Order Reduction for LTL State-space graph: G = ( S , T , s 0 , AP ) On-the-fly exploration: en : S → S Reduce successor function: por ( s ) ⊆ en ( s ) . deadlock − → ↓ +ignoring Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 4/12

  10. MC-MC POR LTL MC-POR Conclusions Partial-Order Reduction for LTL State-space graph: G = ( S , T , s 0 , AP ) On-the-fly exploration: en : S → S Reduce successor function: por ( s ) ⊆ en ( s ) . deadlock − → ↓ +ignoring Smaller reduced set por () leads to smaller state space. Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 4/12

  11. MC-MC POR LTL MC-POR Conclusions DFS Stack Proviso procedure DFS(s) for all s’ in por(s) do if s’ is not on stack and not visited then DFS(s’) if successor of s is on the stack then explore s fully ( por(s) := en(s) ) mark s visited Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 5/12

  12. MC-MC POR LTL MC-POR Conclusions DFS Stack Proviso procedure DFS(s) for all s’ in por(s) do if s’ is not on stack and not visited then DFS(s’) if successor of s is on the stack then explore s fully ( por(s) := en(s) ) mark s visited → Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 5/12

  13. MC-MC POR LTL MC-POR Conclusions DFS Stack Proviso procedure DFS(s) for all s’ in por(s) do if s’ is not on stack and not visited then DFS(s’) if successor of s is on the stack then explore s fully ( por(s) := en(s) ) mark s visited → Why not anything else? (Minimal) feedback vertex set (FVS) → NP-complete Stack proviso is the best we can do on-the-fly and in linear time Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 5/12

  14. MC-MC POR LTL MC-POR Conclusions DFS Stack Proviso procedure DFS(s) for all s’ in por(s) do if s’ is not on stack and not visited then DFS(s’) if successor of s is on the stack then explore s fully ( por(s) := en(s) ) mark s visited → Why not anything else? (Minimal) feedback vertex set (FVS) → NP-complete Stack proviso is the best we can do on-the-fly and in linear time DFS is P-complete ⇒ inherently sequential (assuming P � NC) Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 5/12

  15. MC-MC POR LTL MC-POR Conclusions Related Work (Parallel LTL + POR) y n t o i l i i t b c a u l d a e c R S Algorithm/Proviso NDFS/Stack ++ TwoPhase [Gopalakrishnan et al.] +- ?? Topological sort [Barnat et al.] +- + Sticky transitions [Peled et al] - + Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 6/12

  16. MC-MC POR LTL MC-POR Conclusions Related Work (Parallel LTL + POR) y n t o i l i i t b c a u l d a e c R S Algorithm/Proviso NDFS/Stack ++ TwoPhase [Gopalakrishnan et al.] +- ?? Topological sort [Barnat et al.] +- + Sticky transitions [Peled et al] - + MC-NDFS/ n / a n / a ++ Challenge: do as good as DFS stack proviso in the parallel setting Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 6/12

  17. MC-MC POR LTL MC-POR Conclusions Nested Depth-First Search for LTL [Courcoubetis’93] B¨ uchi graph: G = ( S , F , T , s 0 , AP ) On-the-fly exploration: en : S → S [Vardi et al, 1996] Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 7/12

  18. MC-MC POR LTL MC-POR Conclusions Nested Depth-First Search for LTL [Courcoubetis’93] B¨ uchi graph: G = ( S , F , T , s 0 , AP ) On-the-fly exploration: en : S → S [Vardi et al, 1996] Accepting cycle detection in B¨ uchi automaton (6 ∈ F ): 2 1 6 3 4 5 Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 7/12

  19. MC-MC POR LTL MC-POR Conclusions Nested Depth-First Search for LTL [Courcoubetis’93] B¨ uchi graph: G = ( S , F , T , s 0 , AP ) On-the-fly exploration: en : S → S [Vardi et al, 1996] Accepting cycle detection in B¨ uchi automaton (6 ∈ F ): 2 1 6 3 4 5 accepting-cycles( G ) ⊆ cycles( G ) Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 7/12

  20. MC-MC POR LTL MC-POR Conclusions Nested Depth-First Search for LTL [Courcoubetis’93] B¨ uchi graph: G = ( S , F , T , s 0 , AP ) On-the-fly exploration: en : S → S [Vardi et al, 1996] procedure DFSblue(s) s.cyan := true Accepting cycle detection in B¨ uchi for all s’ in en(s) do automaton (6 ∈ F ): if ¬ s’.blue ∧¬ s’.cyan then 2 1 6 DFSblue(s’) if s ∈ F then DFSred(s) 3 4 5 s.blue := true s.cyan := false accepting-cycles( G ) ⊆ cycles( G ) procedure DFSred(s) s.red := true Nested DFS (NDFS) for all s’ ∈ en(s) do Linear time if s’.cyan then ExitCycle if ¬ s’.red then DFSred(s’) Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 7/12

  21. MC-MC POR LTL MC-POR Conclusions Nested Depth-First Search for LTL [Courcoubetis’93] B¨ uchi graph: G = ( S , F , T , s 0 , AP ) On-the-fly exploration: en : S → S [Vardi et al, 1996] procedure DFSblue(s) s.cyan := true Accepting cycle detection in B¨ uchi for all s’ in en(s) do automaton (6 ∈ F ): if ¬ s’.blue ∧¬ s’.cyan then 2 1 6 DFSblue(s’) if s ∈ F then DFSred(s) 3 4 5 s.blue := true s.cyan := false accepting-cycles( G ) ⊆ cycles( G ) procedure DFSred(s) s.red := true Nested DFS (NDFS) for all s’ ∈ en(s) do Linear time if s’.cyan then ExitCycle if ¬ s’.red then DFSred(s’) DFS itself is likely not parallelizable DFS order is P-complete Alfons Laarman (Vienna University of Technology) Multi-Core Partial-Order Reduction for LTL Model Checking 7/12

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend