150 likes | 281 Vues
This paper discusses advancements in multi-threaded reachability analysis leveraging Binary Decision Diagrams (BDDs). We explore the partitioned reachability method, demonstrating how it can exploit parallel processing to increase the efficiency of reachability analysis. Our approach shows remarkable speedup compared to naive implementations, enhancing bug detection performance significantly. We present results from industrial circuits and public benchmarks, featuring Gantt charts and execution traces that illustrate our method's effectiveness. The conclusion highlights future work directions to further improve parallelism and deterministic behavior.
E N D
Multi-threaded Reachability D. Sahoo, Stanford J. Jain, Fujitsu S. Iyer, UT-Austin D. Dill, Stanford E. A. Emerson, UT-Austin DAC 2005
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]
Motivation for Multi-threaded Approach • Scheduling Problem • Increasing availability of powerful SMP machines
Multi-threaded Reachability Naïve parallelization Time • Advantage: • Parallel speedup • Catch a bug faster than the sequential version • Problems: • Not much parallelism
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
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 results • Deterministic behavior • Improve the parallelism further • Study cache behavior