SILK
SILK is a research extension of RocksDB that coordinates client I/O with background LSM maintenance.
Scheduling: SILK combines load-aware bandwidth allocation, flush and L0-compaction priority, and preemption of less urgent compactions. [1]
Code boundary: the pinned prototype checks its high-priority scheduling branch before returning for paused background compaction. That branch examines the default column family's L0 file count; it is not a general multi-family fairness guarantee. [2]
Evidence boundary: the reported experiments disable compression and commit logging. Sustained overload can still degrade performance. [1] The author repository identifies this as the ATC 2019 prototype, not a feature contract for current RocksDB. [3]
Relations
- related
- RocksDB write stall, RocksDB pending compaction bytes, LSM compaction, Log-structured merge-tree, Tail latency
Citations
- Balmau et al. SILK: Preventing Latency Spikes in Log-Structured Merge Key-Value Stores. USENIX ATC 2019, sections 5, 6.1 and 6.4.
- SILK author prototype, commit 35385f14b6d3948c75914c1571e92897280a483e: high-priority scheduling before the background-compaction pause check.
- SILK author README at 35385f14b6d3948c75914c1571e92897280a483e: prototype identity and benchmark entry points.
Further reading
Sources & caveats
- Primary-source synthesis. No SILK execution, hardware measurement or benchmark reproduction was performed.