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 …
CompCertTSO: A verified compiler for relaxed-memory concurrency
J Ševčík, V Vafeiadis, F Zappa Nardelli… - Journal of the ACM …, 2013 - dl.acm.org
In this article, we consider the semantic design and verified compilation of a C-like
programming language for concurrent shared-memory computation on x86 multiprocessors …
programming language for concurrent shared-memory computation on x86 multiprocessors …
Don't sit on the fence: A static analysis approach to automatic fence insertion
J Alglave, D Kroening, V Nimal, D Poetzl - ACM Transactions on …, 2017 - dl.acm.org
Modern architectures rely on memory fences to prevent undesired weakenings of memory
consistency. As the fences' semantics may be subtle, the automation of their placement is …
consistency. As the fences' semantics may be subtle, the automation of their placement is …
End-to-end sequential consistency
Sequential consistency (SC) is arguably the most intuitive behavior for a shared-memory
multithreaded program. It is widely accepted that language-level SC could significantly …
multithreaded program. It is widely accepted that language-level SC could significantly …
High-performance gpu-to-cpu transpilation and optimization via high-level parallel constructs
While parallelism remains the main source of performance, architectural implementations
and programming models change with each new hardware generation, often leading to …
and programming models change with each new hardware generation, often leading to …
DRFx: A simple and efficient memory model for concurrent programming languages
The most intuitive memory model for shared-memory multithreaded programming is
sequential consistency (SC), but it disallows the use of many compiler and hardware …
sequential consistency (SC), but it disallows the use of many compiler and hardware …
A case for an SC-preserving compiler
The most intuitive memory consistency model for shared-memory multi-threaded
programming is sequential consistency (SC). However, current concurrent programming …
programming is sequential consistency (SC). However, current concurrent programming …
A theory of memory models
A memory model for a concurrent imperative programming language specifies which writes
to shared variables may be seen by reads performed by other threads. We present a simple …
to shared variables may be seen by reads performed by other threads. We present a simple …
High-coverage, unbounded sound predictive race detection
Dynamic program analysis can predict data races knowable from an observed execution,
but existing predictive analyses either miss races or cannot analyze full program executions …
but existing predictive analyses either miss races or cannot analyze full program executions …
Stability in weak memory models
J Alglave, L Maranget - … Conference, CAV 2011, Snowbird, UT, USA, July …, 2011 - Springer
Concurrent programs running on weak memory models exhibit relaxed behaviours, making
them hard to understand and to debug. To use standard verification techniques on such …
them hard to understand and to debug. To use standard verification techniques on such …