Flushing Without Cascades
Michael A. Bender, Rathish Das, Martin Farach-Colton, Rob Johnson, William Kuszmaul
摘要
Buffer-and-flush is a technique for transforming standard external-memory search trees into write-optimized search trees. In exchange for faster amortized insertions, buffer-and-flush can sometimes significantly increase the latency of operations by causing cascades of flushes. In this paper, we show that flushing cascades are not a fundamental consequence of the buffer-flushing technique, and can be removed entirely using randomization techniques. The underlying implementation of buffer flushing relies on a buffer-eviction strategy at each node in the tree. The ability for the user to select the buffer eviction strategy based on the workload has been shown to be important for performance, both in theory and in practice. In order to support arbitrary buffer-eviction strategies, we introduce the notion of a universal flush, which uses a universal eviction policy that can simulate any other eviction policy. This abstracts away the underlying eviction strategy, even allowing for workload-specific strategies that change dynamically. Our deamortization preserves the amortized throughput of the underlying flushing strategy on all workloads. In particular, with our deamortization and a node cache of size poly-logarithmic in the number of insertions performed on the tree, the amortized insertion cost matches the lower bound of Brodal and Fagerberg. For typical parameters, the lower bound is less than 1 I/O per insertion. For such parameters, our worst-case insertion cost is O(1) I/Os.
问问这篇 Paper
问问你的智能体。
Lune 读过与它相关的顶会 Paper,每个回答都会注明依据哪几篇。
引用它的顶会 Paper2
- External Memory Fully Persistent Search TreesGerth Stølting Brodal, Casper Moldrup Rysgaard, Rolf SvenningSTOC 2023 · 被引用 2 次
- How asymmetry helps buffer management: achieving optimal tail size in cup gamesWilliam KuszmaulSTOC 2021
相关 Paper
- Non-blocking interpolation search trees with doubly-logarithmic running timeTrevor Brown, Aleksandar Prokopec, Dan AlistarhPPoPP 2020 · 被引用 29 次
- DFlush: DPU-Offloaded Flush for Disaggregated LSM-based Key-Value StoresChen Ding, Kai Lu, Quanyi Zhang, Zekun Ye 等SIGMOD 2025 · 被引用 7 次
- Buffered Persistence in B+ TreesMingzhe Du, Michael L. ScottSIGMOD 2025 · 被引用 3 次
- Bf-Tree: A Modern Read-Write-Optimized Concurrent Larger-Than-Memory Range IndexXiangpeng Hao, Badrish ChandramouliVLDB 2024 · 被引用 14 次
- Breaking Down Memory Walls: Adaptive Memory Management in LSM-based Storage SystemsChen Luo, Michael J. CareyVLDB 2021 · 被引用 20 次
