Foundations of the C++ concurrency memory model

HJ Boehm, SV Adve - ACM SIGPLAN Notices, 2008 - dl.acm.org
Currently multi-threaded C or C++ programs combine a single-threaded programming
language with a separate threads library. This is not entirely sound [7]. We describe an effort …

On validity of program transformations in the Java memory model

J Ševčík, D Aspinall - European Conference on Object-Oriented …, 2008 - Springer
We analyse the validity of several common program transformations in multi-threaded Java,
as defined by the Memory Model section of the Java Language Specification. The main …

[图书][B] Shared-memory synchronization

ML Scott, T Brown - 2013 - Springer
This monograph grows out of nearly 40 years of experience in synchronization and
concurrent data structures. Though written primarily from the perspective of systems …

Conflict exceptions: Simplifying concurrent language semantics with precise hardware exceptions for data-races

B Lucia, L Ceze, K Strauss, S Qadeer… - ACM SIGARCH …, 2010 - dl.acm.org
We argue in this paper that concurrency errors should be treated as exceptions, ie, have fail-
stop behavior and precise semantics. We propose an exception model based on conflict of …

MemSAT: checking axiomatic specifications of memory models

E Torlak, M Vaziri, J Dolby - ACM Sigplan Notices, 2010 - dl.acm.org
Memory models are hard to reason about due to their complexity, which stems from the need
to strike a balance between ease-of-programming and allowing compiler and hardware …

COATCheck: Verifying memory ordering at the hardware-OS interface

D Lustig, G Sethi, M Martonosi… - ACM SIGPLAN Notices, 2016 - dl.acm.org
Modern computer systems include numerous compute elements, from CPUs to GPUs to
accelerators. Harnessing their full potential requires well-defined, properly-implemented …

Relaxed memory models: an operational approach

G Boudol, G Petri - ACM SIGPLAN Notices, 2009 - dl.acm.org
Memory models define an interface between programs written in some language and their
implementation, determining which behaviour the memory (and thus a program) is allowed …

Plan B: A buffered memory model for Java

D Demange, V Laporte, L Zhao… - Proceedings of the 40th …, 2013 - dl.acm.org
Recent advances in verification have made it possible to envision trusted implementations of
real-world languages. Java with its type-safety and fully specified semantics would appear to …

Making the Java memory model safe

A Lochbihler - ACM Transactions on Programming Languages and …, 2014 - dl.acm.org
This work presents a machine-checked formalisation of the Java memory model and
connects it to an operational semantics for Java and Java bytecode. For the whole model, I …

[HTML][HTML] Transactional memory should be an implementation technique, not a programming interface

HJ Boehm - 2009 - usenix.org
Transactional memory is often advocated as an easier-to-use replacement for locks that
avoids any possibility of deadlock. Recently, as more care has been exercised in precisely …