160 likes | 281 Vues
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.
E N D
Multi-threaded Reachability D. Sahoo, Stanford J. Jain, Fujitsu S. Iyer, UT-Austin D. Dill, Stanford E. A. Emerson, UT-Austin IWLS 2005
Outline • BDD-based Verification • Reachability Techniques • Multi-threaded Reachability • Results • Conclusion and Future work
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
Reachability using BDD [Burch et al. : 91] Partitioned Transition Relation Initial State I … … R1 Image computation Trn Tri Tr1 R2 Least Fixed Point Ri
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
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
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
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]
Problems: Not much parallelism Advantage: Parallel speedup Catch a bug faster than the sequential version Multi-threaded Reachability Naïve parallelization Time
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
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?
Multi-threaded Reachability Time • We find the bugs faster ! • Improved parallelism • Better parallel speedup
Results : Gantt charts Real execution traces from our multi-threaded reachability program
Conclusion and Future Work • Parallelize the Reachability • Multi-threaded Reachability • Better sequential results • Deterministic behavior • Improve the parallelism further • Study cache behavior