Putting Weak Memory in Order via a Promising Intermediate Representation
We investigate the problem of developing an" in-order" shared-memory concurrency model
for languages like C and C++, which executes instructions following their program order …
for languages like C and C++, which executes instructions following their program order …
A Denotational Approach to Release/Acquire Concurrency
We present a compositional denotational semantics for a functional language with first-class
parallel composition and shared-memory operations whose operational semantics follows …
parallel composition and shared-memory operations whose operational semantics follows …
Sequential reasoning for optimizing compilers under weak memory concurrency
We formally show that sequential reasoning is adequate and sufficient for establishing
soundness of various compiler optimizations under weakly consistent shared-memory …
soundness of various compiler optimizations under weakly consistent shared-memory …
Model checking for a multi-execution memory model
E Moiseenko, M Kokologiannakis… - Proceedings of the ACM …, 2022 - dl.acm.org
Multi-execution memory models, such as Promising and Weakestmo, are an advanced class
of weak memory consistency models that justify certain outcomes of a concurrent program …
of weak memory consistency models that justify certain outcomes of a concurrent program …
An algebraic theory for shared-state concurrency
We present a monadic denotational semantics for a higher-order programming language
with shared-state concurrency, ie global-state in the presence of interleaving concurrency …
with shared-state concurrency, ie global-state in the presence of interleaving concurrency …
Compositional Semantics for Shared-Variable Concurrency
M Svyatlovskiy, S Mermelstein, O Lahav - Proceedings of the ACM on …, 2024 - dl.acm.org
We revisit the fundamental problem of defining a compositional semantics for a concurrent
programming language under sequentially consistent memory with the aim of equating the …
programming language under sequentially consistent memory with the aim of equating the …
Reasoning about promises in weak memory models with event structures
Modern processors such as ARMv8 and RISC-V allow executions in which independent
instructions within a process may be reordered. To cope with such phenomena, so called …
instructions within a process may be reordered. To cope with such phenomena, so called …
Mechanised operational reasoning for C11 programs with relaxed dependencies
Verification techniques for C11 programs have advanced significantly in recent years with
the development of operational semantics and associated logics for increasingly large …
the development of operational semantics and associated logics for increasingly large …
Mixed-proxy extensions for the NVIDIA PTX memory consistency model: industrial product
In recent years, there has been a trend towards the use of accelerators and architectural
specialization to continue scaling performance in spite of a slowing of Moore's Law. GPUs …
specialization to continue scaling performance in spite of a slowing of Moore's Law. GPUs …
Separation of Concerning Things: A Simpler Basis for Defining and Programming with the C/C++ Memory Model
RJ Colvin - International Conference on Formal Engineering …, 2022 - Springer
The C/C++ memory model provides a range of mechanisms that programmers of concurrent
code can use to control accesses to shared variables. The C standard describes the memory …
code can use to control accesses to shared variables. The C standard describes the memory …