Capturing Transactional Memory Application’s Behavior – The Prerequisite for Performance Analysis

  • Martin Schindewolf
  • Wolfgang Karl
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7303)


Programmers need tool support to detect and localize performance bottlenecks in Transactional Memory applications. To employ these tools, the genuine TM application’s behavior must be preserved. Consequently, this paper presents a methodology and an implementation to capture event logs representing the behavior of a transactional memory application. We compare our approach with a state-of-the-art binary translation tool (Pin) and study the impact of the trace generation on the throughput of the STM system and the conflicts detected between transactions. Additionally we evaluate a multi-threaded event trace compression scheme that reduces the size of the trace files and decreases the write bandwidth demands.


Event Trace Trace Generation Work Thread Application Thread Thread Count 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ansari, M., Jarvis, K., Kotselidis, C., Lujan, M., Kirkham, C., Watson, I.: Profiling Transactional Memory Applications. In: Proceedings of the 17th Euromicro Conference, pp. 11–20 (2009)Google Scholar
  2. 2.
    Aydt, R.A.: The pablo self-defining data format. Tech. rep., Urbana, Illinois 61801, USA (1994),
  3. 3.
    Bruening, D., Garnett, T., Amarasinghe, S.: An infrastructure for adaptive dynamic optimization. In: CGO 2003, pp. 265–275 (2003)Google Scholar
  4. 4.
    Cao Minh, C., Chung, J., Kozyrakis, C., Olukotun, K.: STAMP: Stanford transactional applications for multi-processing. In: IISWC 2008 (September 2008)Google Scholar
  5. 5.
    Demsky, B., Dash, A.: Using discrete event simulation to analyze contention managers. International Journal of Parallel Programming, 1–26 (2011)Google Scholar
  6. 6.
    Felber, P., Fetzer, C., Riegel, T.: Dynamic performance tuning of word-based software transactional memory. In: Proceedings of the 13th PPoPP 2008, pp. 237–246 (2008)Google Scholar
  7. 7.
    Fidge, C.J.: Timestamps in message-passing systems that preserve the partial ordering. In: Proceedings of the 11th ACSC, vol. 10(1), pp. 56–66 (1988)Google Scholar
  8. 8.
    Harris, T., Larus, J., Rajwar, R.: Transactional Memory, 2nd edn., vol. 5. Morgan & Claypool Publishers (2010); Synthesis Lectures on Computer ArchitectureGoogle Scholar
  9. 9.
    Herlihy, M., Moss, J.E.B.: Transactional Memory: Architectural Support For Lock-free Data Structures. In: Proceedings of the 20th Annual International Symposium on Computer Architecture, pp. 289–300. IEEE (May 1993)Google Scholar
  10. 10.
    Knüpfer, A., Brendel, R., Brunst, H., Mix, H., Nagel, W.: Introducing the Open Trace Format (OTF). In: Alexandrov, V.N., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2006. LNCS, vol. 3992, pp. 526–533. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  11. 11.
    Lourenço, J., Dias, R., Luís, J., Rebelo, M., Pessanha, V.: Understanding the behavior of transactional memory applications. In: Proceedings of the 7th PADTAD Workshop 2009, pp. 3:1–3:9. ACM, New York (2009)Google Scholar
  12. 12.
    Luk, C.K., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V.J., Hazelwood, K.: Pin: building customized program analysis tools with dynamic instrumentation. SIGPLAN Not. 40, 190–200 (2005)CrossRefGoogle Scholar
  13. 13.
    Nethercote, N., Seward, J.: Valgrind: a framework for heavyweight dynamic binary instrumentation. In: PLDI 2007, pp. 89–100. ACM (2007)Google Scholar
  14. 14.
    de Oliveira Stein, B., de Kergommeaux, J.C.: Pajé trace file format. Tech. rep. (March 2003)Google Scholar
  15. 15.
    Saha, B., Adl-Tabatabai, A.R., Hudson, R.L., Minh, C.C., Hertzberg, B.: Mcrt-stm: a high performance software transactional memory system for a multi-core runtime. In: PPoPP 2006, pp. 187–197. ACM, New York (2006)CrossRefGoogle Scholar
  16. 16.
    Sonmez, N., Cristal, A., Unsal, O., Harris, T., Valero, M.: Profiling transactional memory applications on an atomic block basis: A haskell case study. In: MULTIPROG 2009 (January 2009)Google Scholar
  17. 17.
    Wolf, F., Mohr, B.: Epilog binary trace-data format. Tech. rep., FZJ-ZAM-IB-2004-06 (May 2004)Google Scholar
  18. 18.
    Zyulkyarov, F., Stipic, S., Harris, T., Unsal, O.S., Cristal, A., Hur, I., Valero, M.: Discovering and understanding performance bottlenecks in transactional applications. In: PACT 2010, pp. 285–294. ACM, New York (2010)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Martin Schindewolf
    • 1
  • Wolfgang Karl
    • 1
  1. 1.Chair for Computer Architecture and Parallel ProcessingKarlsruhe Institute of Technology (KIT)KarlsruheGermany

Personalised recommendations