[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.5555/3241639.3241648acmconferencesArticle/Chapter ViewAbstractPublication PageshotparConference Proceedingsconference-collections
Article

But how do we really debug transactional memory programs?

Published: 24 June 2013 Publication History

Abstract

With recent announcements of hardware transactional memory (HTM) systems from IBM and Intel, HTM will soon be available for widescale adoption. Such platforms, combined with tested and stable software transactional memory systems, are likely to make real transactional memory (TM) systems available for the first time, which promises to be a more attractive alternative than lock-based parallel programming in terms of programmability and performance.
With these first-ever real systems come several open questions. Perhaps one of the most obvious is, "how does one debug a TM program that uses real hardware?" While prior research in this area exists, there are, to the best of our knowledge, no commercially-available TM debuggers and only a handful of research projects exploring such possibilities, many of which use simulated HTMs that may utilize unrealistic hardware. In this paper, we motivate the need for more than traditional and ad hoc debugging support. We then propose a novel record-and-replay system, based on existing research prototypes and demonstrate its usefulness by reviewing several use cases in TM programming, restricting use to real features in IBM and Intel's HTMs.

References

[1]
The first step in the multi-core revolution. Technical report, Intel Corporation, Apr. 2005.
[2]
Draft specification of transactional language constructs for C++, 2012. Version 1.1.
[3]
H. Chafi, C. C. Minh, A. McDonald, B. D. Carlstrom, J. Chung, L. Hammond, C. Kozyrakis, and K. Olukotun. TAPE: a transactional application profiling environment. In Arvind and L. Rudolph, editors, ICS, pages 199-208. ACM, 2005.
[4]
D. Dice, Y. Lev, M. Moir, and D. Nussbaum. Early experience with a commercial hardware transactional memory implementation. In ASPLOS, ASPLOS XIV, pages 157-168, New York, NY, USA, 2009. ACM.
[5]
J. E. Gottschlich and H.-J. Boehm. Generic programming needs transactional memory. In TRANSACT. March 2013.
[6]
J. E. Gottschlich and J. Chung. Optimizing the concurrent execution of locks and transactions. In LCPC, September 2011.
[7]
J. E. Gottschlich, M. P. Herlihy, G. A. Pokam, and J. G. Siek. Visualizing transactional memory. In PACT, PACT '12, pages 159-170, New York, NY, USA, 2012. ACM.
[8]
R. Guerraoui and M. Kapalka. On the correctness of transactional memory. In Proceedings of the ACM SIGPLAN Symposium on Principles and practice of parallel programming, pages 175-184, New York, NY, USA, 2008. ACM.
[9]
M. Herlihy and N. Shavit. The Art of Multiprocessor Programming. Elsevier, Inc., 2008.
[10]
Intel Corporation. Intel architecture instruction set extensions programming reference (Chapter 8: Transactional synchronization extensions). 2012.
[11]
C. Jacobi, T. Slegel, and D. Greiner. Transactional memory architecture and implementation for ibm system z. In Proceedings of the 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO '12, pages 25-36, Washington, DC, USA, 2012. IEEE Computer Society.
[12]
Y. Lev. Debugging and Profiling of Transactional Programs. PhD thesis, Brown University, 2010.
[13]
P. Montesinos, L. Ceze, and J. Torrellas. DeLorean: Recording and deterministically replaying shared-memory multiprocessor execution efficiently. In Proceedings of the 35th Annual International Symposium on Computer Architecture, ISCA '08, pages 289-300, Washington, DC, USA, 2008. IEEE Computer Society.
[14]
M. J. Moravan, J. Bobba, K. E. Moore, L. Yen, M. D. Hill, B. Liblit, M. M. Swift, and D. A. Wood. Supporting nested transactional memory in logtm. In ASPLOS, ASPLOS XII, pages 359-370, New York, NY, USA, 2006. ACM.
[15]
G. Pokam, K. Danne, C. Pereira, R. Kassa, T. Kranich, S. Hu, J. Gottschlich, N. Honarmand, N. Dautenhahn, S. King, and J. Torrellas. QuickRec: Prototyping an Intel architecture extension for record and replay of multithreaded programs. In ISCA, June 2013.
[16]
G. Pokam, C. Pereira, S. Hu, A.-R. Adl-Tabatabai, J. Gottschlich, J. Ha, and Y.Wu. CoreRacer: A practical memory race recorder for multcore x86 processors. In MICRO, December 2011.
[17]
H. E. Ramadan, I. Roy, M. Herlihy, and E. Witchel. Committing conflicting transactions in an STM. SIGPLAN Not., 44(4):163-172, 2009.
[18]
T. Shpeisman, V. Menon, A.-R. Adl-Tabatabai, S. Balensiefer, D. Grossman, R. L. Hudson, K. F. Moore, and B. Saha. Enforcing isolation and ordering in stm. In Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation, PLDI '07, pages 78-88, New York, NY, USA, 2007. ACM.
[19]
M. F. Spear, V. J. Marathe,W. N. Scherer III, and M. L. Scott. Conflict detection and validation strategies for software transactional memory. In Proceedings of the 20th International Symposium on Distributed Computing, Sep 2006.
[20]
A. Wang, M. Gaudet, P. Wu, J. N. Amaral, M. Ohmacht, C. Barton, R. Silvera, and M. Michael. Evaluation of blue gene/q hardware support for transactional memories. In PACT, PACT '12, pages 127-136, New York, NY, USA, 2012. ACM.
[21]
A. Welc, B. Saha, and A.-R. Adl-Tabatabai. Irrevocable transactions and their applications. In SPAA, 2008.
[22]
F. Zyulkyarov, T. Harris, O. S. Unsal, A. Cristal, and M. Valero. Debugging programs that use atomic blocks and transactional memory. In PPoPP, PPoPP '10, pages 57-66, New York, NY, USA, 2010. ACM.
[23]
F. Zyulkyarov, S. Stipic, T. Harris, O. S. Unsal, A. Cristal, I. Hur, and M. Valero. Discovering and understanding performance bottlenecks in transactional applications. In PACT, PACT '10, pages 285-294, New York, NY, USA, 2010. ACM.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media