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

10/24/2019
by   Ludovic Henrio, et al.
0

On a system that exposes disjoint memory spaces to the software, a program has to address memory consistency issues and perform data transfers so that it always accesses valid data. Several approaches exist to ensure the consistency of the memory accessed. Here we are interested in the verification of a declarative approach where each component of a computation is annotated with an access mode declaring which part of the memory is read or written by the component. The programming framework uses the component annotations to guarantee the validity of the memory accesses. This is the mechanism used in VectorPU, a C++ library for programming CPU-GPU heterogeneous systems. This article proves the correctness of the software cache-coherence mechanism used in VectorPU. Beyond the scope of VectorPU, this article provides a simple and effective formalisation of memory consistency mechanisms based on the explicit declaration of the effect of each component on each memory space. The formalism we propose also takes into account arrays for which a single validity status is stored for the whole array; additional mechanisms for dealing with overlapping arrays are also studied.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/22/2019

Review of Recent Techniques on Heap Specification and Verification

This review article provides an overview of recent approaches and techni...
research
08/29/2018

Memory Consistency Models using Constraints

Memory consistency models (MCMs) are at the heart of concurrent programm...
research
06/08/2021

LLAMA: The Low-Level Abstraction For Memory Access

The performance gap between CPU and memory widens continuously. Choosing...
research
01/19/2019

A Two-Layer Component-Based Allocation for Embedded Systems with GPUs

Component-based development is a software engineering paradigm that can ...
research
02/16/2023

Updates on the Low-Level Abstraction of Memory Access

Choosing the best memory layout for each hardware architecture is increa...
research
02/19/2020

Specializing Coherence, Consistency, and Push/Pull for GPU Graph Analytics

This work provides the first study to explore the interaction of update ...
research
01/24/2023

Relation-Algebraic Verification of Disjoint-Set Forests

This paper studies how to use relation algebras, which are useful for hi...

Please sign up or login with your details

Forgot password? Click here to reset