skip to main content
10.1145/1168857.1168886acmconferencesArticle/Chapter ViewAbstractPublication PagesasplosConference Proceedingsconference-collections
Article

Recording shared memory dependencies using strata

Published:20 October 2006Publication History

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. T.J. LeBlanc and J.M. Mellor-Crummey. Debugging parallel programs with instant replay. IEEE Transaction on Computers, 36(4):471--482, 1987.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle Scholar
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Recording shared memory dependencies using strata

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!