160 likes | 314 Views
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.
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