Modularising Verification Of Durable Opacity

11/30/2020
by   Eleni Bila, et al.
0

Non-volatile memory (NVM), also known as persistent memory, is an emerging paradigm for memory that preserves its contents even after power loss. NVM is widely expected to become ubiquitous, and hardware architectures are already providing support for NVM programming. This has stimulated interest in the design of novel concepts ensuring correctness of concurrent programming abstractions in the face of persistency and in the development of associated verification approaches. Software transactional memory (STM) is a key programming abstraction that supports concurrent access to shared state. In a fashion similar to linearizability as the correctness condition for concurrent data structures, there is an established notion of correctness for STMs known as opacity. We have recently proposed durable opacity as the natural extension of opacity to a setting with non-volatile memory. Together with this novel correctness condition, we designed a verification technique based on refinement. In this paper, we extend this work in two directions. First, we develop a durably opaque version of NOrec (no ownership records), an existing STM algorithm proven to be opaque. Second, we modularize our existing verification approach by separating the proof of durability of memory accesses from the proof of opacity. For NOrec, this allows us to re-use an existing opacity proof and complement it with a proof of the durability of accesses to shared state.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/17/2020

Defining and Verifying Durable Opacity: Correctness for Persistent Software Transactional Memory

Non-volatile memory (NVM), aka persistent memory, is a new paradigm for ...
research
05/21/2020

Repairing and Mechanising the JavaScript Relaxed Memory Model

Modern JavaScript includes the SharedArrayBuffer feature, which provides...
research
07/26/2023

Algoritmo Concurrente por Conjuntos de Pilas con Multiplicidad: SetStackLogic

This article aims to describe and explain the theoretical foundations of...
research
07/17/2020

Software Transactional Memory with Interactions

Software Transactional memory (STM) is an emerging abstraction for concu...
research
11/15/2019

Reconciling Event Structures with Modern Multiprocessors

Weakestmo is a recently proposed memory consistency model that uses even...
research
08/23/2022

Survey of Persistent Memory Correctness Conditions

The study of concurrent persistent programs has seen a surge of activity...
research
01/25/2020

Verification of a Generative Separation Kernel

We present a formal verification of the functional correctness of the Mu...

Please sign up or login with your details

Forgot password? Click here to reset