Mnemosyne: Dynamic Workload-Aware BF Tuning via Accurate Statistics in LSM trees
Zichen Zhu, Yanpeng Wei, Ju Hyoung Mun, Manos Athanassoulis
Abstract
Log-structured merge (LSM) trees typically employ Bloom Filters (BFs) to prevent unnecessary disk accesses for point queries. The size of BFs can be tuned to navigate a memory vs. performance tradeoff. State-of-the-art memory allocation strategies use a worst-case model for point lookup cost to derive a closed-form solution. However, existing approaches have three limitations: (1) the number of key-value pairs to be ingested must be known a priori , (2) the closed-form solution only works for a perfectly shaped LSM tree, and (3) the model assumes a uniform query distribution . Due to these limitations, the available memory budget for BFs is sub-optimally utilized, especially when the system is under memory pressure (i.e., less than 7 bits per key). In this paper, we design Mnemosyne, a BF reallocation framework for evolving LSM trees that does not require prior workload knowledge. We use a more general query cost model that considers the access pattern per file , and we find that no system accurately maintains access statistics per file, and that simply maintaining a counter per file significantly deviates from the ground truth for evolving LSM trees. To address this, we propose Merlin, a dynamic sliding-window-based tracking mechanism that accurately captures these statistics. The upgraded Mnemosyne^+ combines Merlin with our new cost model. In our evaluation, Mnemosyne reduces query latency by up to 20% compared to RocksDB under memory pressure, and Mnemosyne^+ further improves throughput by another 10% when workloads exhibit higher skew.
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 78fd6dcd-418d-4aa5-89dc-00ab01fc9099Cited by top-tier papers1
Ask how each one uses itBuilds on18
- AC-Key: Adaptive Caching for LSM-based Key-Value StoresFenggang Wu, Ming-Hong Yang, Baoquan Zhang, David H. C. DuUSENIX ATC 2020 · 81 citations
- Constructing and Analyzing the LSM Compaction Design SpaceSubhadeep Sarkar, Dimitris Staratzis, Zichen Zhu, Manos AthanassoulisVLDB 2021 · 73 citations
- Lethe: A Tunable Delete-Aware LSM EngineSubhadeep Sarkar, Tarikul Islam Papon, Dimitris Staratzis, Manos AthanassoulisSIGMOD 2020 · 68 citations
- Vacuum Filters: More Space-Efficient and Faster Replacement for Bloom and Cuckoo FiltersMinmei Wang, Mingxun Zhou, Shouqian Shi, Chen QianVLDB 2020 · 58 citations
- Chucky: A Succinct Cuckoo Filter for LSM-TreeNiv Dayan, Moshe TwittoSIGMOD 2021 · 57 citations
Related papers
- Structural Designs Meet Optimality: Exploring Optimized LSM-tree Structures in a Colossal Configuration SpaceJunfeng Liu, Fan Wang, Dingheng Mo, Siqiang LuoSIGMOD 2024 · 13 citations
- Rosetta: A Robust Space-Time Optimized Range Filter for Key-Value StoresSiqiang Luo, Subarna Chatterjee, Rafael Ketsetsidis, Niv Dayan et al.SIGMOD 2020 · 91 citations
- Breaking Down Memory Walls: Adaptive Memory Management in LSM-based Storage SystemsChen Luo, Michael J. CareyVLDB 2021 · 20 citations
- NEXT: A New Secondary Index Framework for LSM-based Data StorageJiachen Shi, Jingyi Yang, Gao Cong, Xiaoli LiSIGMOD 2025 · 3 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
