Observations on Porting In-memory KV stores to Persistent Memory

02/05/2020
by   Brian Choi, et al.
0

Systems that require high-throughput and fault tolerance, such as key-value stores and databases, are looking to persistent memory to combine the performance of in-memory systems with the data-consistent fault-tolerance of nonvolatile stores. Persistent memory devices provide fast bytea-ddressable access to non-volatile memory. We analyze the design space when integrating persistent memory into in-memory key value stores and quantify performance tradeoffs between throughput, latency, and and recovery time. Previous works have explored many design choices, but did not quantify the tradeoffs. We implement persistent memory support in Redis and Memcached, adapting the data structures of each to work in two modes: (1) with all data in persistent memory and (2) a hybrid mode that uses persistent memory for key/value data and non-volatile memory for indexing and metadata. Our experience reveals three actionable design principles that hold in Redis and Memcached, despite their very different implementations. We conclude that the hybrid design increases throughput and decreases latency at a minor cost in recovery time and code complexity

READ FULL TEXT

page 8

page 10

research
04/22/2019

Pangolin: A Fault-Tolerant Persistent Memory Programming Library

Non-volatile main memory (NVMM) allows programmers to build complex, per...
research
04/07/2022

Persistent Memory Objects: Fast and Easy Crash Consistency for Persistent Memory

DIMM-compatible persistent memory unites memory and storage. Prior works...
research
06/08/2020

Toward a Better Understanding and Evaluation of Tree Structures on Flash SSDs

Solid-state drives (SSDs) are extensively used to deploy persistent data...
research
04/12/2021

A High-Performance Persistent Memory Key-Value Store with Near-Memory Compute

MCAS (Memory Centric Active Storage) is a persistent memory tier for hig...
research
09/30/2020

Persistent Data Retention Models

Non-Volatile Memory devices may soon be a part of main memory, and progr...
research
01/31/2022

Evaluating Persistent Memory Range Indexes: Part Two

Scalable persistent memory (PM) has opened up new opportunities for buil...
research
07/10/2018

DXRAM's Fault-Tolerance Mechanisms Meet High Speed I/O Devices

In-memory key-value stores provide consistent low-latency access to all ...

Please sign up or login with your details

Forgot password? Click here to reset