Skip to main content

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

  • Conference paper
Multicore Software Engineering, Performance, and Tools (MSEPT 2012)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7303))

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. Aydt, R.A.: The pablo self-defining data format. Tech. rep., Urbana, Illinois 61801, USA (1994), http://wotug.org/parallel/performance/tools/pablo/

  3. Bruening, D., Garnett, T., Amarasinghe, S.: An infrastructure for adaptive dynamic optimization. In: CGO 2003, pp. 265–275 (2003)

    Google Scholar 

  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. Demsky, B., Dash, A.: Using discrete event simulation to analyze contention managers. International Journal of Parallel Programming, 1–26 (2011)

    Google Scholar 

  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. 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. Harris, T., Larus, J., Rajwar, R.: Transactional Memory, 2nd edn., vol. 5. Morgan & Claypool Publishers (2010); Synthesis Lectures on Computer Architecture

    Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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. 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)

    Article  Google Scholar 

  13. Nethercote, N., Seward, J.: Valgrind: a framework for heavyweight dynamic binary instrumentation. In: PLDI 2007, pp. 89–100. ACM (2007)

    Google Scholar 

  14. de Oliveira Stein, B., de Kergommeaux, J.C.: Pajé trace file format. Tech. rep. (March 2003)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Wolf, F., Mohr, B.: Epilog binary trace-data format. Tech. rep., FZJ-ZAM-IB-2004-06 (May 2004)

    Google Scholar 

  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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Schindewolf, M., Karl, W. (2012). Capturing Transactional Memory Application’s Behavior – The Prerequisite for Performance Analysis. In: Pankratius, V., Philippsen, M. (eds) Multicore Software Engineering, Performance, and Tools. MSEPT 2012. Lecture Notes in Computer Science, vol 7303. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-31202-1_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-31202-1_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-31201-4

  • Online ISBN: 978-3-642-31202-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics