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++ …
Replicated data types: specification, verification, optimality
Geographically distributed systems often rely on replicated eventually consistent data stores
to achieve availability and performance. To resolve conflicting updates at different replicas …
to achieve availability and performance. To resolve conflicting updates at different replicas …
Principles of eventual consistency
S Burckhardt - Foundations and Trends® in Programming …, 2014 - nowpublishers.com
In globally distributed systems, shared state is never perfect. When communication is neither
fast nor reliable, we cannot achieve strong consistency, low latency, and availability at the …
fast nor reliable, we cannot achieve strong consistency, low latency, and availability at the …
Relaxed separation logic: A program logic for C11 concurrency
V Vafeiadis, C Narayan - Proceedings of the 2013 ACM SIGPLAN …, 2013 - dl.acm.org
We introduce relaxed separation logic (RSL), the first program logic for reasoning about
concurrent programs running under the C11 relaxed memory model. From a user's …
concurrent programs running under the C11 relaxed memory model. From a user's …
A trusted mechanised JavaScript specification
M Bodin, A Charguéraud, D Filaretti… - Proceedings of the 41st …, 2014 - dl.acm.org
JavaScript is the most widely used web language for client-side applications. Whilst the
development of JavaScript was initially just led by implementation, there is now increasing …
development of JavaScript was initially just led by implementation, there is now increasing …
GPS: Navigating weak memory with ghosts, protocols, and separation
Weak memory models formalize the inconsistent behaviors that one can expect to observe
in multithreaded programs running on modern hardware. In so doing, however, they …
in multithreaded programs running on modern hardware. In so doing, however, they …
Common compiler optimisations are invalid in the C11 memory model and what we can do about it
V Vafeiadis, T Balabonski, S Chakraborty… - Proceedings of the …, 2015 - dl.acm.org
We show that the weak memory model introduced by the 2011 C and C++ standards does
not permit many common source-to-source program transformations (such as expression …
not permit many common source-to-source program transformations (such as expression …
CDSchecker: checking concurrent data structures written with C/C++ atomics
B Norris, B Demsky - Proceedings of the 2013 ACM SIGPLAN …, 2013 - dl.acm.org
Writing low-level concurrent software has traditionally required intimate knowledge of the
entire toolchain and often has involved coding in assembly. New language standards have …
entire toolchain and often has involved coding in assembly. New language standards have …
A framework for transactional consistency models with atomic visibility
Modern distributed systems often rely on databases that achieve scalability by providing
only weak guarantees about the consistency of distributed transaction processing. The …
only weak guarantees about the consistency of distributed transaction processing. The …
The problem of programming language concurrency semantics
M Batty, K Memarian, K Nienhuis… - … 2015, Held as Part of the …, 2015 - Springer
Despite decades of research, we do not have a satisfactory concurrency semantics for any
general-purpose programming language that aims to support concurrent systems code. The …
general-purpose programming language that aims to support concurrent systems code. The …