Herding cats: Modelling, simulation, testing, and data mining for weak memory
We propose an axiomatic generic framework for modelling weak memory. We show how to
instantiate this framework for Sequential Consistency (SC), Total Store Order (TSO), C++ …
instantiate this framework for Sequential Consistency (SC), Total Store Order (TSO), C++ …
[PDF][PDF] A tutorial introduction to the ARM and POWER relaxed memory models
Abstract ARM and IBM POWER multiprocessors have highly relaxed memory models: they
make use of a range of hardware optimisations that do not affect the observable behaviour …
make use of a range of hardware optimisations that do not affect the observable behaviour …
Simplifying ARM concurrency: multicopy-atomic axiomatic and operational models for ARMv8
ARM has a relaxed memory model, previously specified in informal prose for ARMv7 and
ARMv8. Over time, and partly due to work building formal semantics for ARM concurrency, it …
ARMv8. Over time, and partly due to work building formal semantics for ARM concurrency, it …
Partial orders for efficient bounded model checking of concurrent software
The number of interleavings of a concurrent program makes automatic analysis of such
software very hard. Modern multiprocessors' execution models make this problem even …
software very hard. Modern multiprocessors' execution models make this problem even …
Automatically comparing memory consistency models
A memory consistency model (MCM) is the part of a programming language or computer
architecture specification that defines which values can legally be read from shared memory …
architecture specification that defines which values can legally be read from shared memory …
Lem: reusable engineering of real-world semantics
Recent years have seen remarkable successes in rigorous engineering: using
mathematically rigorous semantic models (not just idealised calculi) of real-world …
mathematically rigorous semantic models (not just idealised calculi) of real-world …
Formal verification of a multiprocessor hypervisor on arm relaxed memory hardware
Concurrent systems software is widely-used, complex, and error-prone, posing a significant
security risk. We introduce VRM, a new framework that makes it possible for the first time to …
security risk. We introduce VRM, a new framework that makes it possible for the first time to …
VSync: push-button verification and optimization for synchronization primitives on weak memory models
J Oberhauser, RLDL Chehab, D Behrens… - Proceedings of the 26th …, 2021 - dl.acm.org
Implementing highly efficient and correct synchronization primitives on modern Weak
Memory Model (WMM) architectures, such as ARM and RISC-V, is very difficult even for …
Memory Model (WMM) architectures, such as ARM and RISC-V, is very difficult even for …
Synthesizing memory models from framework sketches and litmus tests
A memory consistency model specifies which writes to shared memory a given read may
see. Ambiguities or errors in these specifications can lead to bugs in both compilers and …
see. Ambiguities or errors in these specifications can lead to bugs in both compilers and …
Library abstraction for C/C++ concurrency
When constructing complex concurrent systems, abstraction is vital: programmers should be
able to reason about concurrent libraries in terms of abstract specifications that hide the …
able to reason about concurrent libraries in terms of abstract specifications that hide the …