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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
Aydt, R.A.: The pablo self-defining data format. Tech. rep., Urbana, Illinois 61801, USA (1994), http://wotug.org/parallel/performance/tools/pablo/
Bruening, D., Garnett, T., Amarasinghe, S.: An infrastructure for adaptive dynamic optimization. In: CGO 2003, pp. 265–275 (2003)
Cao Minh, C., Chung, J., Kozyrakis, C., Olukotun, K.: STAMP: Stanford transactional applications for multi-processing. In: IISWC 2008 (September 2008)
Demsky, B., Dash, A.: Using discrete event simulation to analyze contention managers. International Journal of Parallel Programming, 1–26 (2011)
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)
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)
Harris, T., Larus, J., Rajwar, R.: Transactional Memory, 2nd edn., vol. 5. Morgan & Claypool Publishers (2010); Synthesis Lectures on Computer Architecture
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)
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)
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)
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)
Nethercote, N., Seward, J.: Valgrind: a framework for heavyweight dynamic binary instrumentation. In: PLDI 2007, pp. 89–100. ACM (2007)
de Oliveira Stein, B., de Kergommeaux, J.C.: Pajé trace file format. Tech. rep. (March 2003)
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)
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)
Wolf, F., Mohr, B.: Epilog binary trace-data format. Tech. rep., FZJ-ZAM-IB-2004-06 (May 2004)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)