RECIPE : Converting Concurrent DRAM Indexes to Persistent-Memory Indexes

09/23/2019
by   Se Kwon Lee, et al.
0

We present Recipe, a principled approach for converting concurrent DRAM indexes into crash-consistent indexes for persistent memory (PM). The main insight behind Recipe is that isolation provided by a certain class of concurrent in-memory indexes can be translated with small changes to crash-consistency when the same index is used in PM. We present a set of conditions that enable the identification of this class of DRAM indexes, and the actions to be taken to convert each index to be persistent. Based on these conditions and conversion actions, we modify five different DRAM indexes based on B+ trees, tries, radix trees, and hash tables to their crash-consistent PM counterparts. The effort involved in this conversion is minimal, requiring 30-200 lines of code. We evaluated the converted PM indexes on Intel DC Persistent Memory, and found that they outperform state-of-the-art, hand-crafted PM indexes in multi-threaded workloads by up-to 5.2x. For example, we built P-CLHT, our PM implementation of the CLHT hash table by modifying only 30 LOC. When running YCSB workloads, P-CLHT performs up to 2.4x better than Cacheline-Conscious Extendible Hashing (CCEH), the state-of-the-art PM hash table.

READ FULL TEXT
research
03/16/2020

Dash: Scalable Hashing on Persistent Memory

Byte-addressable persistent memory (PM) brings hash tables the potential...
research
10/08/2022

IcebergHT: High Performance PMEM Hash Tables Through Stability and Low Associativity

Modern hash table designs strive to minimize space while maximizing spee...
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...
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
11/04/2022

Learning to Rank Graph-based Application Objects on Heterogeneous Memories

Persistent Memory (PMEM), also known as Non-Volatile Memory (NVM), can d...
research
08/19/2021

Monarch: A Durable Polymorphic Memory For Data Intensive Applications

3D die stacking has often been proposed to build large-scale DRAM-based ...
research
05/03/2021

APEX: A High-Performance Learned Index on Persistent Memory

The recently released persistent memory (PM) has been gaining popularity...

Please sign up or login with your details

Forgot password? Click here to reset