Blizzard: Adding True Persistence to Main Memory Data Structures

05/15/2023
by   Pradeep Fernando, et al.
0

Persistent memory (PMEM) devices present an opportunity to retain the flexibility of main memory data structures and algorithms, but augment them with reliability and persistence. The challenge in doing this is to combine replication (for reliability) and failure atomicity (for persistence) with concurrency (for fully utilizing persistent memory bandwidth). These requirements are at odds due to the sequential nature of replicating a log of updates versus concurrent updates that are necessary for fully leveraging the path from CPU to memory. We present Blizzard – a fault-tolerant, PMEM-optimized persistent programming runtime. Blizzard addresses the fundamental tradeoff by combining (1) a coupled operations log that permits tight integration of a PMEM-specialized user-level replication stack with a PMEM-based persistence stack, and (2) explicit control over the commutativity among concurrent operations. We demonstrate the generality and potential of Blizzard with three illustrative applications with very different data structure requirements for their persistent state. These use cases demonstrate that with Blizzard, PMEM native data structures can deliver up to 3.6x performance benefit over the alternative purpose-build persistent application runtimes, while being simpler and safer (by providing failure atomicity and replication).

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/20/2021

Fast Nonblocking Persistence for Concurrent Data Structures

We present a fully lock-free variant of the recent Montage system for pe...
research
01/11/2023

Adaptive Data Path Selection for Durable Transaction in GPU Persistent Memory

The new non-volatile memory technology relies on data recoverability to ...
research
09/04/2019

Correct, Fast Remote Persistence

Persistence of updates to remote byte-addressable persistent memory (PM)...
research
09/11/2021

MODC: Resilience for disaggregated memory architectures using task-based programming

Disaggregated memory architectures provide benefits to applications beyo...
research
09/15/2015

Neuron detection in stack images: a persistent homology interpretation

Automation and reliability are the two main requirements when computers ...
research
06/24/2022

Arcadia: A Fast and Reliable Persistent Memory Replicated Log

The performance properties of byte-addressable persistent memory (PMEM) ...
research
12/13/2017

Persistent Memory Programming Abstractions in Context of Concurrent Applications

The advent of non-volatile memory (NVM) technologies like PCM, STT, memr...

Please sign up or login with your details

Forgot password? Click here to reset