Mark Batty
YOU?
Author Swipe
Symbolic MRD: Dynamic Memory, Undefined Behaviour, and Extrinsic Choice Open
We present the first thin-air free memory model that admits compiler optimisations that aggressively leverage knowledge from alias analysis, an assumption of freedom from undefined behaviour, and from the extrinsic choices of real implemen…
View article: Memory Consistency and Program Transformations
Memory Consistency and Program Transformations Open
A memory consistency model specifies the allowed behaviors of shared memory concurrent programs. At the language level, these models are known to have a non-trivial impact on the safety of program optimizations. This limits the ability to …
View article: Memory Consistency and Program Transformations
Memory Consistency and Program Transformations Open
A memory consistency model specifies the allowed behaviors of shared memory concurrent programs. At the language level, these models are known to have a non-trivial impact on the safety of program optimizations, limiting the ability to rea…
View article: Memory Consistency Models for Program Transformations: An Intellectual Abstract
Memory Consistency Models for Program Transformations: An Intellectual Abstract Open
Memory consistency models traditionally specify the behavior of shared memory concurrent hardware. Hardware behavior drifts away from traditional sequential reasoning, thus exhibiting behaviors that are termed as "weak". Weaker consistency…
Mechanised Operational Reasoning for C11 Programs with Relaxed Dependencies Open
Verification techniques for C11 programs have advanced significantly in recent years with the development of operational semantics and associated logics for increasingly large fragments of C11. However, these semantics and logics have been…
The leaky semicolon: compositional semantic dependencies for relaxed-memory concurrency Open
Program logics and semantics tell a pleasant story about sequential composition: when executing (S1;S2), we first execute S1 then S2. To improve performance, however, processors execute instructions out of order, and compilers reorder prog…
Owicki-Gries Reasoning for C11 Programs with Relaxed Dependencies (Extended Version) Open
Deductive verification techniques for C11 programs have advanced significantly in recent years with the development of operational semantics and associated logics for increasingly large fragments of C11. However, these semantics and logics…
Modular Relaxed Dependencies in Weak Memory Concurrency Open
We present a denotational semantics for weak memory concurrency that avoids thin-air reads , provides data-race free programs with sequentially consistent semantics (DRF-SC), and supports a compositional refinement relation for validating …
PrideMM: A Solver for Relaxed Memory Models Open
Relaxed memory models are notoriously delicate. To ease their study, several ad hoc simulators have been developed for axiomatic memory models. We show how axiomatic memory models can be simulated using a solver for $\exists$SO. Further, w…
Compositional relaxed concurrency Open
There is a broad design space for concurrent computer processors: they can be optimized for low power, low latency or high throughput. This freedom to tune each processor design to its niche has led to an increasing diversity of machines, …
Mixed-size concurrency: ARM, POWER, C/C++11, and SC Open
Previous work on the semantics of relaxed shared-memory concurrency has only considered the case in which each load reads the data of exactly one store. In practice, however, multiprocessors support mixed-size accesses, and these are used …
Overhauling SC atomics in C11 and OpenCL Open
Despite the conceptual simplicity of sequential consistency (SC), the\nsemantics of SC atomic operations and fences in the C11 and OpenCL memory\nmodels is subtle, leading to convoluted prose descriptions that translate to\ncomplex axiomat…