On Monitoring C/C++ Transactional Memory Programs
Transactional memory (TM) is an increasingly popular technique for synchronising threads in multi-threaded programs. To address both correctness and performance-related issues of TM programs, one needs to monitor and analyse their execution. However, monitoring concurrent programs (including TM programs) may have a non-negligible impact on their behaviour, which may hamper the objectives of the intended analysis. In this paper, we propose several approaches for monitoring TM programs and study their impact on the behaviour of the monitored programs. The considered approaches range from specialised lightweight monitoring to generic heavyweight monitoring. The implemented monitoring tools are publicly available to the scientific community, and the implementation techniques used for lightweight monitoring of TM programs may be used as an inspiration for developing other specialised lightweight monitors.
KeywordsMonitor Program Time Stamp Monitoring Approach Global Number Transaction Type
Unable to display preview. Download preview PDF.
- 1.Cao Minh, C., Chung, J., Kozyrakis, C., Olukotun, K.: STAMP: stanford transactional applications for multi-processing. In: Proc. of IISWC 2008 (2008)Google Scholar
- 2.Castro, M., Georgiev, K., Marangozova-Martin, V., Mehaut, J.-F., Fernandes, L.G., Santana, M.: Analysis and tracing of applications based on software transactional memory on multicore architectures. In: Proc. of PDP 2011. IEEE CS (2011)Google Scholar
- 3.Fiedor, J., Vojnar, T.: ANaConDA: a framework for analysing multi-threaded c/c++ programs on the binary level. In: Qadeer, S., Tasiran, S. (eds.) RV 2012. LNCS, vol. 7687, pp. 35–41. Springer, Heidelberg (2013)Google Scholar
- 4.Guerraoui, R., Kapalka, M.: Principles of Transactional Memory. Morgan and Claypool Publishers (2010)Google Scholar
- 5.Harris, T., Larus, J., Rajwar, R.: Transactional Memory, 2nd edn. Morgan and Claypool Publishers (2010)Google Scholar
- 6.Lourenço, J.M., Dias, R.J., Luís, J.A., Rebelo, M., Pessanha, V.: Understanding the behavior of transactional memory applications. In: Proc. of PADTAD 2009. ACM (2009)Google Scholar
- 7.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. In: Proc. of PLDI 2005. ACM (2005)Google Scholar