Lifting the barriers --- reducing latencies with transparent transactional memory

  • Authors:
  • Annette Bieniusa;Thomas Fuhrmann

  • Affiliations:
  • Department for Computer Science, Universität Freiburg, Freiburg, Germany;Department of Informatics, Technische Universität München, Garching, Germany

  • Venue:
  • ICDCN'12 Proceedings of the 13th international conference on Distributed Computing and Networking
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

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.