Debugging Programs that use Atomic Blocks and Transactional Memory

被引:2
作者
Zyulkyarov, Ferad [1 ]
Harris, Tim
Unsal, Osman S.
Cristal, Adrian
Valero, Mateo [1 ]
机构
[1] Univ Politecn Cataluna, E-08028 Barcelona, Spain
关键词
Languages; Reliability; Transactional Memory; Debugging;
D O I
10.1145/1837853.1693463
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
With the emergence of research prototypes, programming using atomic blocks and transactional memory (TM) is becoming more attractive. This paper describes our experience building and using a debugger for programs written with these abstractions. We introduce three approaches: (i) debugging at the level of atomic blocks, where the programmer is shielded from implementation details (such as exactly what kind of TM is used, or indeed whether lock inference is used instead), (ii) debugging at the level of transactions, where conflict rates, read sets, write sets, and other TM internals are visible, and (iii) debug-time transactions, which let the programmer manipulate synchronization from within the debugger-e.g., enlarging the scope of an atomic block to try to identify a bug. In this paper we explain the rationale behind the new debugging approaches that we propose. We describe the design and implementation of an extension to the WinDbg debugger, enabling support for C# programs using atomic blocks and TM. We also demonstrate the design of a "conflict point discovery" technique for identifying program statements that introduce contention between transactions. We illustrate how these techniques can be used by optimizing a C# version of the Genome application from STAMP TM benchmark suite.
引用
收藏
页码:57 / 66
页数:10
相关论文
共 26 条
  • [1] Abad MF, 2009, LECT NOTES CONTR INF, V389, P185, DOI 10.1007/978-3-642-02894-6_18
  • [2] Bobba J, 2007, CONF PROC INT SYMP C, P81, DOI 10.1145/1273440.1250674
  • [3] Chafi H., 2005, ICS 05 P 19 ANN INT, P199
  • [4] Chafi H, 2007, INT S HIGH PERF COMP, P97
  • [5] Chi Cao Minh, 2008, 2008 IEEE International Symposium on Workload Characterization (IISWC), P35, DOI 10.1109/IISWC.2008.4636089
  • [6] Dice D, 2006, LECT NOTES COMPUT SC, V4167, P194
  • [7] QuakeTM: Parallelizing a Complex Sequential Application Using Transactional Memory
    Gajinov, Vladimir
    Zyulkyarov, Ferad
    Unsal, Osman S.
    Cristal, Adrian
    Ayguade, Eduard
    Harris, Tim
    Valero, Mateo
    [J]. ICS'09: PROCEEDINGS OF THE 2009 ACM SIGARCH INTERNATIONAL CONFERENCE ON SUPERCOMPUTING, 2009, : 126 - 135
  • [8] Gupta S., 2009, INTERDISCIP PERSPECT, V2009, P190354, DOI [10.1155/2009/190354., 10.1155/2009/190354, DOI 10.1155/2009/190354]
  • [9] Harris P, 2006, LAT TRADE, V14, P25
  • [10] Harris T., 2003, OOPSLA 03, P388, DOI DOI 10.1145/949305.949340