1 / 16

Multi-threaded Reachability

This paper presents advancements in multi-threaded reachability analysis through Binary Decision Diagrams (BDDs). It explores BDD-based verification techniques, focusing on partitioned reachability methods that enhance parallelism and speedup in bug detection. We discuss the benefits of improved parallelization and early communication, which allow for faster execution while ensuring accuracy. Results derived from industrial circuits and benchmarks demonstrate notable improvements compared to naive approaches, pointing to future work in enhancing deterministic behavior and optimizing cache performance.

roch
Télécharger la présentation

Multi-threaded Reachability

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Multi-threaded Reachability D. Sahoo, Stanford J. Jain, Fujitsu S. Iyer, UT-Austin D. Dill, Stanford E. A. Emerson, UT-Austin IWLS 2005

  2. Outline • BDD-based Verification • Reachability Techniques • Multi-threaded Reachability • Results • Conclusion and Future work

  3. BDD-based Verification • BDD : • Binary Decision Diagram • Used to represent Boolean functions • Reachability Analysis • Finds bug • Finds a counter example for the invariant • Proves invariant • Efficient CTL model checking

  4. Reachability using BDD [Burch et al. : 91] Partitioned Transition Relation Initial State I … … R1 Image computation Trn Tri Tr1 R2 Least Fixed Point Ri

  5. Local Fixed Point 1 Local Fixed Point 2 Local Fixed Point 3 Local Fixed Point 4 Partitioned Reachability using POBDD POBDD - [Jain : 92] Reachability - [Narayan et al. : 97] I Initial States : I

  6. Local Fixed Point 3 Local Fixed Point 4 Communicate from 1 -> 2 Communicate from 1 -> 4 Communicate from 1 -> 3 Partitioned Reachability using POBDD POBDD - [Jain : 92] Reachability - [Narayan et al. : 97] I Initial States : I Local Fixed Point 1 Local Fixed Point 2

  7. Local Fixed Point 1 Local Fixed Point 2 Local Fixed Point 3 Local Fixed Point 4 Communicate from 2 -> 1 Communicate from 2 -> 3 Communicate from 2 -> 4 Partitioned Reachability using POBDD POBDD - [Jain : 92] Reachability - [Narayan et al. : 97] I Initial States : I Similarly repeat for other partitions

  8. Local Fixed Point 1 Local Fixed Point 2 Local Fixed Point 3 Local Fixed Point 4 Partitioned Reachability using POBDD POBDD - [Jain : 92] Reachability - [Narayan et al. : 97] I Improvements: [Iyer et al. : 03] [Sahoo et al. : 04]

  9. Problems: Not much parallelism Advantage: Parallel speedup Catch a bug faster than the sequential version Multi-threaded Reachability Naïve parallelization Time

  10. Multi-threaded Reachability Early Communication Time • Advantage: • Parallel speedup • Finishes the reachability analysis faster • Catches bug faster than the naive version • Problems: • Parallelism could be better

  11. Multi-threaded Reachability Early Communication and Partial Communication Time • Advantage: • Parallel speedup • Finishes the reachability analysis faster • Catches bug faster than the previous versions • Problems: • Parallelism ! • Could it be better?

  12. Multi-threaded Reachability Time • We find the bugs faster ! • Improved parallelism • Better parallel speedup

  13. Results on Industrial Circuits

  14. Results on public benchmarks

  15. Results : Gantt charts Real execution traces from our multi-threaded reachability program

  16. Conclusion and Future Work • Parallelize the Reachability • Multi-threaded Reachability • Better sequential results • Deterministic behavior • Improve the parallelism further • Study cache behavior

More Related