Memory Consistency Models using Constraints

08/29/2018
by   Ruth Hoffmann, et al.
0

Memory consistency models (MCMs) are at the heart of concurrent programming. They represent the behaviour of concurrent programs at the chip level. To test these models small program snippets called litmus test are generated, which show allowed or forbidden behaviour of different MCMs. This paper is showcasing the use of constraint programming to automate the generation and testing of litmus tests for memory consistency models. We produce a few exemplary case studies for two MCMs, namely Sequential Consistency and Total Store Order. These studies demonstrate the flexibility of constrains programming in this context and lay foundation to the direct verification of MCMs against the software facing cache coherence protocols.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/12/2018

Memory Models for C/C++ Programmers

The memory model is the crux of the concurrency semantics of shared-memo...
research
08/06/2002

Soft Concurrent Constraint Programming

Soft constraints extend classical constraints to represent multiple cons...
research
10/24/2019

Leveraging access mode declarations in a model for memory consistency in heterogeneous systems

On a system that exposes disjoint memory spaces to the software, a progr...
research
07/21/2021

Decidability of Liveness on the TSO Memory Model

An important property of concurrent objects is whether they support prog...
research
04/03/2018

Database Consistency Models

A data store allows application processes to put and get data from a sha...
research
11/23/2020

The Reads-From Equivalence for the TSO and PSO Memory Models

The verification of concurrent programs remains an open challenge due to...
research
02/13/2019

Concurrent Computing with Shared Replicated Memory

The behavioural theory of concurrent systems states that any concurrent ...

Please sign up or login with your details

Forgot password? Click here to reset