Pangolin: A Fault-Tolerant Persistent Memory Programming Library

04/22/2019
by   Lu Zhang, et al.
0

Non-volatile main memory (NVMM) allows programmers to build complex, persistent, pointer-based data structures that can offer substantial performance gains over conventional approaches to managing persistent state. This programming model removes the file system from the critical path which improves performance, but it also places these data structures out of reach of file system-based fault tolerance mechanisms (e.g., block-based checksums or erasure coding). Without fault-tolerance, using NVMM to hold critical data will be much less attractive. This paper presents Pangolin, a fault-tolerant persistent object library designed for NVMM. Pangolin uses a combination of checksums, parity, and micro-buffering to protect an application's objects from both media errors and corruption due to software bugs. It provides these protections for objects of any size and supports automatic detection of data corruption and recovery. The required storage overhead is small (1 gigabyte pools of NVMM). Pangolin provides stronger protection, incurs orders of magnitude less storage overhead, and achieves comparable performance relative to the current state-of-the-art fault-tolerant persistent object library.

READ FULL TEXT

page 5

page 8

page 10

research
05/16/2018

FT-LADS: Fault-Tolerant Object-Logging based Big Data Transfer System using Layout-Aware Data Scheduling

Layout-Aware Data Scheduler (LADS) data transfer tool, identifies and ad...
research
02/05/2020

Observations on Porting In-memory KV stores to Persistent Memory

Systems that require high-throughput and fault tolerance, such as key-va...
research
10/13/2020

Fault-tolerant and Transactional Stateful Serverless Workflows (extended version)

This paper introduces Beldi, a library and runtime system for writing an...
research
03/15/2022

Practical Detectability for Persistent Lock-Free Data Structures

Persistent memory (PM) is an emerging class of storage technology that c...
research
01/14/2023

Failure Tolerant Training with Persistent Memory Disaggregation over CXL

This paper proposes TRAININGCXL that can efficiently process large-scale...
research
09/30/2020

Persistent Data Retention Models

Non-Volatile Memory devices may soon be a part of main memory, and progr...
research
06/24/2021

Userfault Objects: Transparent Programmable Memory

The Userfault Object (UFO) framework explores avenues of cooperating wit...

Please sign up or login with your details

Forgot password? Click here to reset