We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:

Download:

Current browse context:

cs.PL

Change to browse by:

References & Citations

DBLP - CS Bibliography

Bookmark

(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo

Computer Science > Programming Languages

Title: The Semantics of Transactions and Weak Memory in x86, Power, ARM, and C++

Abstract: 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 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.
Subjects: Programming Languages (cs.PL); Distributed, Parallel, and Cluster Computing (cs.DC)
Journal reference: Proceedings of 39th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'18), ACM, New York, NY, USA. 2018
DOI: 10.1145/3192366.3192373
Cite as: arXiv:1710.04839 [cs.PL]
  (or arXiv:1710.04839v2 [cs.PL] for this version)

Submission history

From: John Wickerson [view email]
[v1] Fri, 13 Oct 2017 08:36:16 GMT (41kb)
[v2] Mon, 16 Apr 2018 21:19:34 GMT (73kb,D)

Link back to: arXiv, form interface, contact.