Wed 20 Jun 2018 16:10 - 16:35 at Grand Ballroom AB - Transactions and Races Chair(s): Tatiana Shpeisman

Weak memory models provide a complex, system-centric semantics for concurrent programs, while transactional memory (TM) provides a simpler, programmer-centric semantics. Both have been studied in detail, but their \emph{combined} semantics is not well understood. This is problematic because such widely-used architectures and languages as x86, Power, and C++ all support TM, and all have weak memory models.

Our work aims to clarify the interplay between weak memory and TM by extending existing axiomatic weak memory models (x86, Power, ARMv8, and C++) with new rules for TM. Our formal models are backed by automated tooling that enables (1) the synthesis of tests for validating our models against existing implementations and (2) the model-checking of TM-related transformations, such as lock elision and compiling C++ transactions to hardware. A key finding is that a proposed TM extension to ARMv8 currently being considered within ARM Research is incompatible with lock elision without sacrificing portability or performance.

Wed 20 Jun

Displayed time zone: Eastern Time (US & Canada) change

16:10 - 17:25
Transactions and RacesPLDI Research Papers at Grand Ballroom AB
Chair(s): Tatiana Shpeisman Google Brain
16:10
25m
Talk
The Semantics of Transactions and Weak Memory in x86, Power, ARM, and C++
PLDI Research Papers
Nathan Chong ARM Ltd., Tyler Sorensen Imperial College London, John Wickerson Imperial College London
Media Attached
16:35
25m
Talk
MixT: A Language for Mixing Consistency in Geodistributed Transactions
PLDI Research Papers
Mae Milano Cornell University, Andrew Myers Cornell University
Media Attached
17:00
25m
Talk
Bounding Data Races in Space and Time
PLDI Research Papers
Stephen Dolan University of Cambridge, KC Sivaramakrishnan University of Cambridge, Anil Madhavapeddy OCaml Labs
Media Attached