Taming Weak Memory Models

06/17/2016
by   Sizhuo Zhang, et al.
0

Speculative techniques in microarchitectures relax various dependencies in programs, which contributes to the complexity of (weak) memory models. We show using WMM, a new weak memory model, that the model becomes simpler if it includes load-value speculation and thus, does not enforce any dependency! However, in the absence of good value-prediction techniques, a programmer may end up paying a price for the extra fences. Thus, we also present WMM-D, which enforces the dependencies captured by the current microarchitectures. WMM-D is still much simpler than other existing models. We also show that non-atomic multi-copy stores arise as a result of sharing write-through caches. We think restricting microarchitectures to write-back caches (and thus simpler weak memory models) will not incur any performance penalty. Nevertheless, we present WMM-S, another extension to WMM, which could model the effects of non-atomic multi-copy stores. WMM, WMM-D, and WMM-S are all defined using Instantaneous Instruction Execution (I^2E), a new way of describing memory models without explicit reordering or speculative execution.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/16/2017

An Operational Framework for Specifying Memory Models using Instantaneous Instruction Execution

There has been great progress recently in formally specifying the memory...
research
05/21/2018

Constructing a Weak Memory Model

Weak memory models are a consequence of the desire on part of architects...
research
10/13/2017

The Semantics of Transactions and Weak Memory in x86, Power, ARM, and C++

Weak memory models provide a complex, system-centric semantics for concu...
research
07/19/2017

Weak Memory Models: Balancing Definitional Simplicity and Implementation Flexibility

The memory model for RISC-V, a newly developed open source ISA, has not ...
research
04/06/2020

Integrating Owicki-Gries for C11-Style Memory Models into Isabelle/HOL

Weak memory presents a new challenge for program verification and has re...
research
01/09/2020

Lazy object copy as a platform for population-based probabilistic programming

This work considers dynamic memory management for population-based proba...
research
10/11/2017

Weak Memory Models with Matching Axiomatic and Operational Definitions

Memory consistency models are notorious for being difficult to define pr...

Please sign up or login with your details

Forgot password? Click here to reset