APEX: A High-Performance Learned Index on Persistent Memory
arXiv:2105.00683 · doi:10.14778/3494124.3494141
Abstract
The recently released persistent memory (PM) offers high performance, persistence, and is cheaper than DRAM. This opens up new possibilities for indexes that operate and persist data directly on the memory bus. Recent learned indexes exploit data distribution and have shown great potential for some workloads. However, none support persistence or instant recovery, and existing PM-based indexes typically evolve B+-trees without considering learned indexes. This paper proposes APEX, a new PM-optimized learned index that offers high performance, persistence, concurrency, and instant recovery. APEX is based on ALEX, a state-of-the-art updatable learned index, to combine and adapt the best of past PM optimizations and learned indexes, allowing it to reduce PM accesses while still exploiting machine learning. Our evaluation on Intel DCPMM shows that APEX can perform up to ~15x better than existing PM indexes and can recover from failures in ~42ms.
To appear at VLDB 2022 (PVLDB Vol. 15 Issue 3)
References in corpus (6)
- The PGM-index: a multicriteria, compressed and learned approach to data indexing
- Learning Multi-dimensional Indexes
- Benchmarking Learned Indexes
- RECIPE : Converting Concurrent DRAM Indexes to Persistent-Memory Indexes
- Dash: Scalable Hashing on Persistent Memory
- Qd-tree: Learning Data Layouts for Big Data Analytics
Cited by in corpus (5)
- Are Updatable Learned Indexes Ready?
- LearnedFTL: A Learning-Based Page-Level FTL for Reducing Double Reads in Flash-Based SSDs
- Accelerating String-Key Learned Index Structures via Memoization-based Incremental Training
- DobLIX: A Dual-Objective Learned Index for Log-Structured Merge Trees
- Practical Persistent Multi-Word Compare-and-Swap Algorithms for Many-Core CPUs