Abstract
As multicore machines become pervasive, an ever growing number of programmers face the challenge of building highly parallel applications that take full advantage of modern parallel hardware architectures. Software Transactional Memory (STM) [3] is one promising abstraction to simplify this task because when using an STM programmers may ignore low-level synchronization details and simply specify which operations must execute atomically inside transactions. It is then the STM’s responsibility to preserve the program’s semantics, while maintaining as much parallelism and concurrency as possible.
This work was supported by FCT (INESC-ID multiannual funding) through the PIDDAC Program funds and by the RuLAM project (PTDC/EIA-EIA/108240/2008).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Fernandes, S., Cachopo, J.: Lock-free and scalable multi-version software transactional memory. In: Proceedings of the 16th ACM Symposium on Principles and Practice of Parallel Programming, PPoPP 2011. ACM (2011)
Guerraoui, R., Kapalka, M., Vitek, J.: STMBench7: A benchmark for software transactional memory. SIGOPS Oper. Syst. Rev. 41, 315–324 (2007)
Herlihy, M., Moss, J.: Transactional memory: Architectural support for lock-free data structures. SIGARCH Comput. Archit. News 21, 289–300 (1993)
Michie, D.: Memo functions and machine learning. Nature 218(1), 19–22 (1968)
Rito, H., Cachopo, J.: Memoization of methods using software transactional memory to track internal state dependencies. In: Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java, PPPJ 2010 (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rito, H., Cachopo, J. (2013). FlashbackSTM: Improving STM Performance by Remembering the Past. In: Kasahara, H., Kimura, K. (eds) Languages and Compilers for Parallel Computing. LCPC 2012. Lecture Notes in Computer Science, vol 7760. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-37658-0_19
Download citation
DOI: https://doi.org/10.1007/978-3-642-37658-0_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-37657-3
Online ISBN: 978-3-642-37658-0
eBook Packages: Computer ScienceComputer Science (R0)