{
  "schema_version": 1,
  "builder_plan": {
    "scenario": "Long customer conversations exhaust memory or limit concurrent requests.",
    "change": "Change only the attention cache policy, after checking model and runtime support.",
    "baseline": "The same model with its ordinary attention cache.",
    "steps": [
      "Locate the paper's implementation and check its license, model support, data needs, and hardware requirements. Stop here if you cannot obtain the required artifacts.",
      "Save a small set of representative product tasks and expected outcomes. Keep evaluation tasks out of any training or tuning, and choose quality and cost limits before running.",
      "Run the baseline and the proposed change on identical inputs. Keep other settings fixed and repeat paired runs to expose variation.",
      "Save per-task outputs, failures, timings, and all usage costs. Review regressions before expanding the test."
    ],
    "measure": "Peak cache memory, long-context answer quality, first-token latency, and requests completed.",
    "decision": "Keep the change only if it meets your preselected quality and latency limits and improves the metric you care about after setup and operating costs. Otherwise retain the baseline. This is an exploration plan, not a validated recommendation."
  },
  "builder_review": null,
  "arxiv_id": "2610.30791",
  "title": "Gandalf: Flash Shall Not Die! Increasing Flash Storage Lifetime for KV Cache Offloading in LLM Serving",
  "summary": "Gandalf replaces naive or purely access-pattern-based admission policies for writing KV caches to SSD, instead gating admission using application-level signals such as attention type, prioritizing full-attention KV entries. It costs implementation complexity in the serving stack, requires an SSD offloading tier and workloads (multi-round conversation, agents) with KV write volumes large enough to threaten SSD endurance, and assumes attention type predicts future reuse. It can fail if the serving engine lacks SSD offloading entirely, if workload write volume never approaches SSD endurance limits (making the optimization irrelevant), or if the access-pattern/hit-rate tradeoff shifts under attention architectures or traces unlike those evaluated.",
  "rationale": "The technique only matters when KV cache SSD offloading is deployed at a write volume that wears out flash, which a single 24 GB GPU setup on constrained infrastructure is unlikely to reach, so it is worth tracking but not adopting now.",
  "technique": "SSD-lifetime-aware KV cache admission for offloading",
  "family": "cache_kv",
  "recommendation": "observar",
  "published": "2026-10-22",
  "as_of": "2026-10-23",
  "editorial_status": "indexed",
  "source_url": "https://arxiv.org/abs/2610.30791",
  "independent_implementations": 0,
  "total_implementations": 1,
  "stars": 0,
  "citations": null,
  "claims": [
    {
      "claim_id": "claim-01",
      "statement": "Gandalf replaces naive or purely access-pattern-based admission policies for writing KV caches to SSD, instead gating admission using application-level signals such as attention type, prioritizing full-attention KV entries. It costs implementation complexity in the serving stack, requires an SSD offloading tier and workloads (multi-round conversation, agents) with KV write volumes large enough to threaten SSD endurance, and assumes attention type predicts future reuse. It can fail if the serving engine lacks SSD offloading entirely, if workload write volume never approaches SSD endurance limits (making the optimization irrelevant), or if the access-pattern/hit-rate tradeoff shifts under attention architectures or traces unlike those evaluated.",
      "basis": "inferred",
      "result": "",
      "baseline": "",
      "conditions": "",
      "source_url": "https://arxiv.org/abs/2610.30791",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "claim_id": "claim-02",
      "statement": "Gandalf extends SSD lifetime by 7.3x on average across workload traces and hardware capacities, with negligible impact on KV cache hit rate.",
      "basis": "inferred",
      "result": "",
      "baseline": "",
      "conditions": "",
      "source_url": "https://arxiv.org/abs/2610.30791",
      "source_page": null,
      "source_excerpt": ""
    }
  ],
  "exposure_map": [
    {
      "dimension": "quality",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "compute",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "latency",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "operations",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "compatibility",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "security",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "data_and_training",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "reproducibility",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    }
  ],
  "risks": [],
  "minimum_test": [],
  "open_questions": [],
  "independent_tests": [],
  "lab_reproductions": [],
  "report_available": false,
  "validation_tier": "unknown",
  "evidence_tier": "unknown",
  "infrastructure_basis": "unknown",
  "equations": [],
  "equations_status": "not_fetched",
  "core_kind": "",
  "equations_fetched_at": "",
  "equations_source_url": "",
  "equations_source_sha256": "",
  "exposures_reviewed_at": "",
  "exposures_source_sha256": ""
}