The Future(s) of Transactional Memory
2016 (English)In: Proceedings of the International Conference on Parallel Processing, Institute of Electrical and Electronics Engineers (IEEE), 2016, 442-451 p.Conference paper (Refereed)
This work investigates how to combine two powerful abstractions to manage concurrent programming: Transactional Memory (TM) and futures. The former hides from programmers the complexity of synchronizing concurrent access to shared data, via the familiar abstraction of atomic transactions. The latter serves to schedule and synchronize the parallel execution of computations whose results are not immediately required. While TM and futures are two widely investigated topics, the problem of how to exploit these two abstractions in synergy is still largely unexplored in the literature. This paper fills this gap by introducing Java Transactional Futures (JTF), a Java-based TM implementation that allows programmers to use futures to coordinate the execution of parallel tasks, while leveraging transactions to synchronize accesses to shared data. JTF provides a simple and intuitive semantic regarding the admissible serialization orders of the futures spawned by transactions, by ensuring that the results produced by a future are always consistent with those that one would obtain by executing the future sequentially. Our experimental results show that the use of futures in a TM allows not only to unlock parallelism within transactions, but also to reduce the cost of conflicts among top-level transactions in high contention workloads.
Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2016. 442-451 p.
Concurrent programming, Futures, Transactional Memory, Abstracting, Computer programming, Java programming language, Semantics, Storage allocation (computer), Atomic transaction, Concurrent access, High contentions, Parallel executions, Parallel task, Concurrency control
Electrical Engineering, Electronic Engineering, Information Engineering
IdentifiersURN: urn:nbn:se:kth:diva-195320DOI: 10.1109/ICPP.2016.57ISI: 000387089600050ScopusID: 2-s2.0-84990909847ISBN: 9781509028238OAI: oai:DiVA.org:kth-195320DiVA: diva2:1045507
45th International Conference on Parallel Processing, ICPP 2016, 16 August 2016 through 19 August 2016
QC 201611092016-11-092016-11-022017-01-10Bibliographically approved