Spitfire: A Three-Tier Buffer Manager for Volatile and Non-Volatile Memory
Xinjing Zhou, Joy Arulraj, Andrew Pavlo, David E. Cohen
Abstract
The design of the buffer manager in database management systems (DBMSs) is influenced by the performance characteristics of volatile memory (i.e., DRAM) and non-volatile storage (e.g., SSD).
The key design assumptions have been that the data must be migrated to DRAM for the DBMS to operate on it and that storage is orders of magnitude slower than DRAM. But the arrival of new non-volatile memory (NVM) technologies that are nearly as fast as DRAM invalidates these previous assumptions.
Researchers have recently designed Hymem, a novel buffer manager for a three-tier storage hierarchy comprising of DRAM, NVM, and SSD. Hymem supports cache-line-grained loading and an NVMaware data migration policy. While these optimizations improve its throughput, Hymem suffers from two limitations. First, it is a single-threaded buffer manager. Second, it is evaluated on an NVM emulation platform. These limitations constrain the utility of the insights obtained using Hymem.
In this paper, we present Spitfire, a multi-threaded, three-tier buffer manager that is evaluated on real NVM hardware. We introduce a general framework for reasoning about data migration in a multi-tier storage hierarchy. We illustrate the limitations of the optimizations used in Hymem on Optane and then discuss how Spitfire circumvents them. We demonstrate that the data migration policy has to be tailored based on the characteristics of the devices and the workload. Given this, we present a machine learning technique for automatically adapting the policy for an arbitrary workload and storage hierarchy. Our experiments show that Spitfire works well across different workloads and storage hierarchies.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext bf5f3f95-a86e-4cf7-a42e-8e7370ebe8cfCited by top-tier papers17
- ScaleStore: A Fast and Cost-Efficient Storage Engine using DRAM, NVMe, and RDMATobias Ziegler, Carsten Binnig, Viktor LeisSIGMOD 2022 · 51 citations
- The Case for Distributed Shared-Memory Databases with RDMA-Enabled Memory DisaggregationRuihong Wang, Jianguo Wang, Stratos Idreos, M. Tamer Özsu et al.VLDB 2023 · 49 citations
- PLIN: A Persistent Learned Index for Non-Volatile Memory with High Performance and Instant RecoveryZhou Zhang, Zhaole Chu, Peiquan Jin, Yongping Luo et al.VLDB 2023 · 39 citations
- Virtual-Memory Assisted Buffer ManagementViktor Leis, Adnan Alhomssi, Tobias Ziegler, Yannick Loeck et al.SIGMOD 2023 · 37 citations
- Prism: Optimizing Key-Value Store for Modern Heterogeneous Storage DevicesYongju Song, Wook-Hee Kim, Sumit Kumar Monga, Changwoo Min et al.ASPLOS 2023 · 28 citations
Builds on2
- Evaluating Persistent Memory Range IndexesLucas Lersch, Xiangpeng Hao, Ismail Oukid, Tianzheng Wang et al.VLDB 2020 · 97 citations
- The Storage Hierarchy is Not a Hierarchy: Optimizing Caching on Modern Storage Devices with OrthusKan Wu, Zhihan Guo, Guanzhou Hu, Kaiwei Tu et al.FAST 2021 · 73 citations
Related papers
- HeMem: Scalable Tiered Memory Management for Big Data Applications and Real NVMAmanda Raybuck, Tim Stamler, Wei Zhang, Mattan Erez et al.SOSP 2021 · 93 citations
- Efficient Compactions between Storage Tiers with PrismDBAshwini Raina, Jianan Lu, Asaf Cidon, Michael J. FreedmanASPLOS 2023 · 10 citations
- Zen: a High-Throughput Log-Free OLTP Engine for Non-Volatile Main MemoryGang Liu, Leying Chen, Shimin ChenVLDB 2021 · 31 citations
- Automating Distributed Tiered Storage Management in Cluster ComputingHerodotos Herodotou, Elena KakoulliVLDB 2020 · 30 citations
- BushStore: Efficient B+Tree Group Indexing for LSM-Tree in Non-Volatile MemoryZhenghao Wang, Lidan Shou, Ke Chen, Xuan ZhouICDE 2024 · 8 citations
