Skip to main content

Augmenting Transactional Memory with the Future Abstraction

Time: Thu 2020-10-22 09.00

Location: zoom link for online defence (English)

Subject area: Computer Science

Doctoral student: Jingna Zeng , Programvaruteknik och datorsystem, SCS

Opponent: Professor Keijo Heljanko, Department of Computer Science, Helsinki Institute for Information Technology

Supervisor: Professor Seif Haridi, Programvaruteknik och datorsystem, SCS; Associate Professor Paolo Romano, Instituto Superior Técnico, Universidade Técnica de Lisboa; Professor Vladimir Vlassov, Programvaruteknik och datorsystem, SCS

Export to calendar

Abstract

The advent of multicore systems spurred great interest in Transactional Memory (TM). TM is a parallel programming paradigm that coordinates concurrent threads by incorporating transactions into programming languages. TM shifts the burden of coordinating and synchronizing concurrent threads from programmers to the compiler, run-time environment, or even hardware.

Unfortunately, though, current state-of-the-art TM implementations lack support for a powerful and intuitive abstraction that is widely used in modern parallel programming environments (e.g., C++, Java and JavaScript), namely "futures". The future abstraction is widely used due to its ability to express in a natural way opportunities for parallelism as well as logical dependencies among parallel tasks. Yet, perhaps surprisingly, the problem of how to support the future abstraction in a TM implementation has not been studied in the literature, although futures represent a natural and convenient means to enable intra-transaction parallelism in long-running transactions.

This dissertation aims at filling precisely this relevant gap in the literature by investigating how to reconcile the TM and the future abstractions.

This limitation is tackled by introducing a novel abstraction, called transactional futures,i.e., transactions that execute wrapped within futures and that are spawned and evaluated by other transactions or transactional futures.

The semantics of transactional futures describes the allowed behaviors with regards to properties such as atomicity and isolation. Multiple semantics are defined, and the trade-offs between ease of use and efficiency are explored for each. Based on these semantics, this dissertation presents two novel TM implementations. The efficiency of the proposed transactional futures abstraction is evaluated in a real system using the TM implementations.

Finally, this dissertation addresses the problem of self-tuning the parallelism degree in TM systems that support intra-transaction parallelism. This goal is achieved by presenting an online learning system that combines model-driven (Sequential Based Bayesian Optimization) and local searches techniques, as well as adaptive performance monitoring techniques.

urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-282844