Foundations of the C++ concurrency memory model
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 …
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 …
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 …
concurrent data structures. Though written primarily from the perspective of systems …
Conflict exceptions: Simplifying concurrent language semantics with precise hardware exceptions for data-races
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 …
stop behavior and precise semantics. We propose an exception model based on conflict of …
MemSAT: checking axiomatic specifications of memory models
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 …
to strike a balance between ease-of-programming and allowing compiler and hardware …
COATCheck: Verifying memory ordering at the hardware-OS interface
Modern computer systems include numerous compute elements, from CPUs to GPUs to
accelerators. Harnessing their full potential requires well-defined, properly-implemented …
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 …
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 …
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 …
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 …
avoids any possibility of deadlock. Recently, as more care has been exercised in precisely …