Toward a Better Understanding and Evaluation of Tree Structures on Flash SSDs
Diego Didona, Nikolas Ioannou, Radu Stoica, Kornilios Kourtis
Abstract
Solid-state drives (SSDs) are extensively used to deploy persistent data stores, as they provide low latency random access, high write throughput, high data density, and low cost. Tree-based data structures are widely used to build persistent data stores, and indeed they lie at the backbone of many of the data management systems used in production and research today. In this paper, we show that benchmarking a persistent tree-based data structure on an SSD is a complex process, which may easily incur subtle pitfalls that can lead to an inaccurate performance assessment. At a high-level, these pitfalls stem from the interaction of complex software running on complex hardware. On one hand, tree structures implement internal operations that have nontrivial effects on performance. On the other hand, SSDs employ firmware logic to deal with the idiosyncrasies of the underlying flash memory, which are well known to lead to complex performance dynamics. We identify seven benchmarking pitfalls using RocksDB and WiredTiger, two widespread implementations of an LSM-Tree and a B+Tree, respectively. We show that such pitfalls can lead to incorrect measurements of key performance indicators, hinder the reproducibility and the representativeness of the results, and lead to suboptimal deployments in production environments. We also provide guidelines on how to avoid these pitfalls to obtain more reliable performance measurements, and to perform more thorough and fair comparison among different design points.
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 8e0cdac3-e6c1-4ad0-8b3c-11f41b043e1aCited by top-tier papers4
- CAVE: Concurrency-Aware Graph Processing on SSDsTarikul Islam Papon, Taishan Chen, Shuo Zhang, Manos AthanassoulisSIGMOD 2024 · 11 citations
- ACEing the Bufferpool Management Paradigm for Modern Storage DevicesTarikul Islam Papon, Manos AthanassoulisICDE 2023 · 8 citations
- FlashAlloc: Dedicating Flash Blocks By ObjectsJonghyeok Park, Soyee Choi, Gihwan Oh, Soojun Im et al.VLDB 2023 · 3 citations
- How to Write to SSDsBohyun Lee, Tobias Ziegler, Viktor LeisVLDB 2026 · 2 citations
Builds on3
- Is Big Data Performance Reproducible in Modern Cloud Networks?Alexandru Uta, Alexandru Custura, Dmitry Duplyakin, Ivo Jimenez et al.NSDI 2020 · 74 citations
- Hailstorm: Disaggregated Compute and Storage for Distributed LSM-based DatabasesLaurent Bindschaedler, Ashvin Goel, Willy ZwaenepoelASPLOS 2020 · 51 citations
- On Performance Stability in LSM-based Storage SystemsChen Luo, Michael J. CareyVLDB 2020 · 1 citation
Related papers
- Evaluating Persistent Memory Range IndexesLucas Lersch, Xiangpeng Hao, Ismail Oukid, Tianzheng Wang et al.VLDB 2020 · 97 citations
- PinK: High-speed In-storage Key-value Store with Bounded TailsJunsu Im, Jinwook Bae, Chanwoo Chung, Arvind et al.USENIX ATC 2020 · 85 citations
- Dynamic read & write optimization with TurtleKVTony Astolfi, Vidya Silai, Darby Huye, Lan Liu et al.VLDB 2026
- NobLSM: an LSM-tree with non-blocking writes for SSDsHaoran Dang, Chongnan Ye, Yanpeng Hu, Chundong WangDAC 2022 · 5 citations
- SSD-iq: Uncovering the Hidden Side of SSD PerformanceGabriel Haas, Bohyun Lee, Philippe Bonnet, Viktor LeisVLDB 2025 · 7 citations
