Abstract
Synchronization in distributed systems is expensive because, in general, threads must stall to obtain a lock or to operate on volatile data. Transactional memory, on the other hand, allows speculative execution so that it can hide the latencies that are inherent to distributed systems.
In this paper, we discuss how transactional memory can carry over to code that uses Java’s synchronization means i.e. monitors and volatiles. We show that we can guarantee correct execution according to the Java memory model (JMM) without having to stall at synchronization points. To this end, we use a multi-version software transactional memory system that executes JMM synchronization operations asynchronously. If any such execution has violated the JMM, the transaction rolls back. As a result, only blocking operations require immediate synchronization barriers.
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
Bieniusa, A., Eickhold, J., Fuhrmann, T.: The architecture of the DecentVM: Towards a decentralized virtual machine for many-core computing. In: VMIL 2010, pp. 5:1–5:10 (2010)
Bieniusa, A., Fuhrmann, T.: Consistency in hindsight: A fully decentralized STM algorithm. In: IPDPS, pp. 1–12. IEEE (2010)
Dalessandro, L., Scott, M.L., Spear, M.F.: Transactions as the Foundation of a Memory Consistency Model. In: Lynch, N.A., Shvartsman, A.A. (eds.) DISC 2010. LNCS, vol. 6343, pp. 20–34. Springer, Heidelberg (2010)
Dice, D., Shalev, O., Shavit, N.N.: Transactional Locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194–208. Springer, Heidelberg (2006)
Dragojevic, A., Guerraoui, R., Kapalka, M.: Stretching transactional memory. In: Hind, M., Diwan, A. (eds.) PLDI, pp. 155–165. ACM (2009)
Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 3rd edn. Addison-Wesley Longman, Amsterdam (2005)
Harris, T., Larus, J.R., Rajwar, R.: Transactional Memory, 2nd edn. Synthesis Lectures on Computer Architecture. Morgan & Claypool Publishers (2010)
Lea, D.: The cookbook for compiler writers (July 2011), http://gee.cs.oswego.edu/dl/jmm/cookbook.html
Marathe, V.J., Spear, M.F., Heriot, C., Acharya, A., Eisenstat, D., Scherer III, W.N., Scott, M.L.: Lowering the overhead of software transactional memory. In: ACM SIGPLAN Workshop on Transactional Computing (June 2006)
Mattson, T.G., der Wijngaart, R.F.V., Riepen, M., Lehnig, T., Brett, P., Haas, W., Kennedy, P., Howard, J., Vangal, S., Borkar, N., Ruhl, G., Dighe, S.: The 48-core scc processor: the programmer’s view. In: Proceedings of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis (2010)
Nightingale, E.B., Chen, P.M., Flinn, J.: Speculative execution in a distributed file system. ACM Trans. Comput. Syst. 24(4), 361–392 (2006)
Russell, K., Detlefs, D.: Eliminating synchronization-related atomic operations with biased locking and bulk rebiasing. In: Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA 2006, pp. 263–272. ACM, New York (2006)
Ziarek, L., Welc, A., Adl-Tabatabai, A.-R., Menon, V., Shpeisman, T., Jagannathan, S.: A Uniform Transactional Execution Environment for Java. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 129–154. Springer, Heidelberg (2008)
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
Bieniusa, A., Fuhrmann, T. (2012). Lifting the Barriers – Reducing Latencies with Transparent Transactional Memory. In: Bononi, L., Datta, A.K., Devismes, S., Misra, A. (eds) Distributed Computing and Networking. ICDCN 2012. Lecture Notes in Computer Science, vol 7129. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25959-3_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-25959-3_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-25958-6
Online ISBN: 978-3-642-25959-3
eBook Packages: Computer ScienceComputer Science (R0)