Durable Queue Implementations Built on a Formally Defined Strand Persistency Model

Jixin Han, Keiji Kimura

Research output: Contribution to journalArticlepeer-review

Abstract

Emerging byte accessible non-volatile memory (NVM), or persistent memory (PM), technologies can promise durability like existing file systems even at an unexpected crash, as well as the competitive performance with DRAM. Similar to the memory consistency problems, appropriate order of memory access operations and cache eviction operations, or persistent operations, must be considered to guarantee both program recoverability and performance with the underlying persistency model. Several persistency models have been proposed in the literature. The strand persistency model, which potentially shows higher performance than the epoch persistency model, has more relaxed rules to exploit more parallelism. However, due to the lack of formal definition of the strand persistency model, legality and recoverability of strand persistency based programs against system crashes have been abandoned. To address this, we first propose an operational semantics of the strand persistency model to formalize the behavior of a program, memory propagation, and history generation under a concurrent environment. Then, we investigate the durability of library implementations for concurrent objects equipped with strand primitives, and propose a correctness criterion that the implementations should preserve, originated from buffered durable linearizability. Finally, as a case study, we discuss two concurrent queue implementations and show how the proposed semantics and criterion capture both the durability and linearizability of implementations.

Original languageEnglish
Pages (from-to)823-838
Number of pages16
JournalJournal of information processing
Volume29
DOIs
Publication statusPublished - 2021

Keywords

  • Buffered durable linearizability
  • Non-volatile memory
  • Persistency model
  • Persistent memory

ASJC Scopus subject areas

  • Computer Science(all)

Fingerprint

Dive into the research topics of 'Durable Queue Implementations Built on a Formally Defined Strand Persistency Model'. Together they form a unique fingerprint.

Cite this