{
  "slug": "silk",
  "term": "SILK",
  "aliases": [
    "SILK LSM scheduler"
  ],
  "definition": "SILK is a research extension of RocksDB that coordinates client I/O with background LSM maintenance.",
  "note": "Scheduling: SILK combines load-aware bandwidth allocation, flush and L0-compaction priority, and preemption of less urgent compactions. [silk-paper]\n\nCode 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. [silk-code]\n\nEvidence boundary: the reported experiments disable compression and commit logging. Sustained overload can still degrade performance. [silk-paper] The author repository identifies this as the ATC 2019 prototype, not a feature contract for current RocksDB. [silk-project]",
  "related": [
    "rocksdb-write-stall",
    "pending-compaction-bytes",
    "compaction",
    "lsm-tree",
    "tail-latency"
  ],
  "citations": [
    {
      "id": "silk-paper",
      "title": "Balmau et al. SILK: Preventing Latency Spikes in Log-Structured Merge Key-Value Stores. USENIX ATC 2019, sections 5, 6.1 and 6.4.",
      "url": "https://www.usenix.org/system/files/atc19-balmau.pdf",
      "accessed": "2026-11-10"
    },
    {
      "id": "silk-code",
      "title": "SILK author prototype, commit 35385f14b6d3948c75914c1571e92897280a483e: high-priority scheduling before the background-compaction pause check.",
      "url": "https://github.com/theoanab/SILK-USENIXATC2019/blob/35385f14b6d3948c75914c1571e92897280a483e/db/db_impl_compaction_flush.cc#L1071",
      "accessed": "2026-11-10"
    },
    {
      "id": "silk-project",
      "title": "SILK author README at 35385f14b6d3948c75914c1571e92897280a483e: prototype identity and benchmark entry points.",
      "url": "https://github.com/theoanab/SILK-USENIXATC2019/blob/35385f14b6d3948c75914c1571e92897280a483e/README.md",
      "accessed": "2026-11-10"
    },
    {
      "id": "hesela",
      "title": "Hesela: SILK and the distinction between scheduling, backlog and durability.",
      "url": "https://hesela.com/analyses/rocksdb-wal-flush-manifest-boundaries/#silk-scheduling",
      "accessed": "2026-11-10"
    }
  ],
  "status": "research",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-10",
  "provenance": [
    "Primary-source synthesis. No SILK execution, hardware measurement or benchmark reproduction was performed."
  ]
}
