Skip to Main content Skip to Navigation
New interface
Conference papers

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

Abstract : Non-volatile memory (NVM), aka persistent memory, is a new paradigm for memory that preserves its contents even after power loss. The expected ubiquity of NVM has stimulated interest in the design of novel concepts ensuring correctness of concurrent programming abstractions in the face of persistency. So far, this has lead to the design of a number of persistent concurrent data structures, built to satisfy an associated notion of correctness: durable linearizability.In this paper, we transfer the principle of durable concurrent correctness to the area of software transactional memory (STM). Software transactional memory algorithms allow for concurrent access to shared state. Like linearizability for concurrent data structures, opacity is the established notion of correctness for STMs. First, we provide a novel definition of durable opacity extending opacity to handle crashes and recovery in the context of NVM. Second, we develop a durably opaque version of an existing STM algorithm, namely the Transactional Mutex Lock (TML). Third, we design a proof technique for durable opacity based on refinement between TML and an operational characterisation of durable opacity by adapting the TMS2 specification. Finally, we apply this proof technique to show that the durable version of TML is indeed durably opaque. The correctness proof is mechanized within Isabelle.
Complete list of metadata

https://hal.inria.fr/hal-03283234
Contributor : Hal Ifip Connect in order to contact the contributor
Submitted on : Friday, July 9, 2021 - 5:53:42 PM
Last modification on : Friday, March 11, 2022 - 3:08:09 PM
Long-term archiving on: : Sunday, October 10, 2021 - 8:28:39 PM

File

 Restricted access
To satisfy the distribution rights of the publisher, the document is embargoed until : 2023-01-01

Please log in to resquest access to the document

Licence


Distributed under a Creative Commons Attribution 4.0 International License

Identifiers

Citation

Eleni Bila, Simon Doherty, Brijesh Dongol, John Derrick, Gerhard Schellhorn, et al.. Defining and Verifying Durable Opacity: Correctness for Persistent Software Transactional Memory. 40th International Conference on Formal Techniques for Distributed Objects, Components, and Systems (FORTE), Jun 2020, Valletta, Malta. pp.39-58, ⟨10.1007/978-3-030-50086-3_3⟩. ⟨hal-03283234⟩

Share

Metrics

Record views

35