ABSTRACT
Significant time is spent by companies trying to reproduce and fix bugs. BugNet and FDR are recent architecture proposals that provide architecture support for deterministic replay debugging. They focus on continuously recording information about the program's execution, which can be communicated back to the developer. Using that information, the developer can deterministically replay the program's execution to reproduce and fix the bugs.In this paper, we propose using Strata to efficiently capture the shared memory dependencies. A stratum creates a time layer across all the logs for the running threads, which separates all the memory operations executed before and after the stratum. A strata log allows us to determine all the shared memory dependencies during replay and thereby supports deterministic replay debugging for multi-threaded programs.
- D.F. Bacon and S.C. Goldstein. Hardware assisted replay of multiprocessor programs. In Proceedings of the 1991 ACM/ONR Workshop on Parallel and Distributed Debugging, pages 194--206. ACM Press, 1991.]] Google Scholar
Digital Library
- J. Choi and H. Srinivasan. Deterministic replay of java multithreaded applications. In Proceedings of the SIGMETRICS Symposium on Parallel and Distributed Tools, pp. 48--59, Welches, Oregon, 1998.]] Google Scholar
Digital Library
- T.J. LeBlanc and J.M. Mellor-Crummey. Debugging parallel programs with instant replay. IEEE Transaction on Computers, 36(4):471--482, 1987.]] Google Scholar
Digital Library
- C.K Luk, R. Cohn, R. Muth, H. Patil, A. Klauser, G. Lowney, S. Wallace, V.J. Reddi, and K. Hazelwood. Pin: Building customized program analysis tools with dynamic instrumentation. In Programming Language Design and Implementation, Chicago, IL, June 2005.]] Google Scholar
Digital Library
- S. Magnusson, M. Christensson, J. Eskilson, D. Forsgren, G. Hå, J. Hö F. Larsson, A. Moestedt, and B. Werner. Simics: A full system simulation platform. IEEE Computer, 35(2):50--58, 2002.]] Google Scholar
Digital Library
- S. Narayanasamy, G. Pokam, and B. Calder. Bugnet: Continuously recording program execution for deterministic replay debugging. In 32nd Annual International Symposium on Computer Architecture, June 2005.]] Google Scholar
Digital Library
- R.H.B. Netzer. Optimal tracing and replay for debugging sharedmemory parallel programs. In Proceedings of the ACM/ONR Workshop on Parallel and Distributed Debugging, pages 1--11, 1993.]] Google Scholar
Digital Library
- M. Prvulovic. Cord: Cost-effective (and nearly overhead-free) orderrecording and data race detection. In International Symposium on High-Performance Computer Architecture, Feb 2005.]]Google Scholar
- M. Prvulovic and J. Torrelas. Reenact: Using thread-level speculation mechanisms to debug data races in multithreaded codes. In 30th Annual International Symposium on Computer Architecture, San Diego, CA, June 2003.]] Google Scholar
Digital Library
- S. Sethumadhavan, R. Desikan, D. Burger, C.R. Moore, and S.W. Kecler. Scalable hardware memory disambiguation for high ilp processors. In International Symposium on Microarchitecture, 2004.]] Google Scholar
Digital Library
- D.J. Sorin, M.M.K. Martin, M.D. Hill, and D.A. Wood. Safetynet: Improving the availability of shared-memory multiprocessors with global checkpoint/recovery. In Proceedings of the 29th Annual International Symposium on Computer Architecture, pages 123--134, 2002.]] Google Scholar
Digital Library
- S.C. Woo, M. Ohara, E. Torrie, J.P. Singh, and A. Gupta. The splash-2 programs: Characterization and methodological considerations. In 22nd Annual International Symposium on Computer Architecture, pages 24--36, 1995.]] Google Scholar
Digital Library
- M. Xu, R. Bodik, and M. Hill. A flight data recorder for enabling full-system multiprocessor deterministic replay. In 30th Annual International Symposium on Computer Architecture, San Diego, CA, 2003.]] Google Scholar
Digital Library
Index Terms
Recording shared memory dependencies using strata
Recommendations
Recording shared memory dependencies using strata
Proceedings of the 2006 ASPLOS ConferenceSignificant time is spent by companies trying to reproduce and fix bugs. BugNet and FDR are recent architecture proposals that provide architecture support for deterministic replay debugging. They focus on continuously recording information about the ...
Recording shared memory dependencies using strata
Proceedings of the 2006 ASPLOS ConferenceSignificant time is spent by companies trying to reproduce and fix bugs. BugNet and FDR are recent architecture proposals that provide architecture support for deterministic replay debugging. They focus on continuously recording information about the ...
Recording shared memory dependencies using strata
Proceedings of the 2006 ASPLOS ConferenceSignificant time is spent by companies trying to reproduce and fix bugs. BugNet and FDR are recent architecture proposals that provide architecture support for deterministic replay debugging. They focus on continuously recording information about the ...








Comments