160 likes | 257 Vues
This paper introduces a new reachability algorithm for symmetric multi-processor architectures utilizing multi-threading for improved parallelism. The study addresses the scheduling problem and the increasing availability of powerful SMP machines by proposing a multi-threaded approach to achieve real parallelism, enhancing reachability analysis. Three different strategies are explored: naïve parallelization, early communication time, and early communication combined with partial communication time, each offering advantages in terms of parallel speedup and bug detection efficiency, while also pinpointing potential areas for improvement. Results show faster bug detection, enhanced parallelism, and improved performance, with comparisons between non-deterministic and deterministic results presented through Gantt charts and real execution traces. The paper concludes with suggestions for future work to further enhance parallelism and study cache behavior.
E N D
A New Reachability Algorithm for Symmetric Multi-processor Architecture D. Sahoo, Stanford J. Jain, Fujitsu S. Iyer, UT-Austin D. Dill, Stanford PDMC 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-threading is a way of achieving real parallelism in SMP machines
Multi-threaded Reachability [DAC 05] Naïve parallelization Time • Advantage: • Parallel speedup • Catch a bug faster than the sequential version • Problems: • Not much parallelism
Multi-threaded Reachability [DAC 05] 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 [DAC 05] Early Communication and Partial Communication Time • Advantage: • Parallel speedup • Finishes the reachability analysis faster • Catches bug faster than the previous versions
Reachability in SMP Architecture 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 • Future Work • Improve the parallelism further • Study cache behavior