Skip to main content

Lifting the Barriers – Reducing Latencies with Transparent Transactional Memory

  • Conference paper
Distributed Computing and Networking (ICDCN 2012)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7129))

Included in the following conference series:

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.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. 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)

    Google Scholar 

  2. Bieniusa, A., Fuhrmann, T.: Consistency in hindsight: A fully decentralized STM algorithm. In: IPDPS, pp. 1–12. IEEE (2010)

    Google Scholar 

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

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

  5. Dragojevic, A., Guerraoui, R., Kapalka, M.: Stretching transactional memory. In: Hind, M., Diwan, A. (eds.) PLDI, pp. 155–165. ACM (2009)

    Google Scholar 

  6. Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 3rd edn. Addison-Wesley Longman, Amsterdam (2005)

    MATH  Google Scholar 

  7. Harris, T., Larus, J.R., Rajwar, R.: Transactional Memory, 2nd edn. Synthesis Lectures on Computer Architecture. Morgan & Claypool Publishers (2010)

    Google Scholar 

  8. Lea, D.: The cookbook for compiler writers (July 2011), http://gee.cs.oswego.edu/dl/jmm/cookbook.html

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

    Google Scholar 

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

    Google Scholar 

  11. Nightingale, E.B., Chen, P.M., Flinn, J.: Speculative execution in a distributed file system. ACM Trans. Comput. Syst. 24(4), 361–392 (2006)

    Article  Google Scholar 

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

    Chapter  Google Scholar 

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

    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

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)

Publish with us

Policies and ethics