深度调研(Probe):KV 缓存生命周期存储层
阅读提示
- **键值缓存(key-value cache,KV cache)**是自回归生成保存的注意力状态。它由模型、词元位置、注意力布局和权重版本共同定义,不是可脱离语义解释的普通字节块。
- 生命周期指一块 KV 从创建、暂定、提交、索引、变换、卸载、加载、复用、失效、驱逐到恢复或删除的状态变化。
- **首个词元时间(time to first token,TTFT)与每输出词元时间(time per output token,TPOT)**分别衡量开始响应和持续生成的延迟。
- **写放大(write amplification factor,WAF)**是设备实际写入量与上层请求写入量之比;它和垃圾回收、尾延迟、寿命一起决定 SSD 是否真是“便宜容量”。
- 本调研讨论存储层契约,而非只比较哪种淘汰器命中率更高。精确、压缩、稀疏、可重算、推测草稿和容错副本必须被区分。
一页结论
- 38 篇内部工作形成五条主路线:身份与索引、内容变换、分层数据路径、解聚与恢复、设备与上游存储。研究已覆盖生命周期的几乎每一段,却没有共同状态机把这些段连接起来。
- 2023–2025 年的核心转折是从 GPU 分页和前缀树走向可跨请求、跨引擎、跨节点复用的 KV 对象;2026 年又把碎片 I/O、主存直读、精确召回、权重版本失效和在线追踪推到一等问题。
- 最普遍的缺陷不是“没有多层缓存”,而是身份与一致性薄弱:涉及复用、变换、迁移或恢复的 28 篇中,没有一篇同时覆盖模型版本、租户、变换类型和提交状态。
- “命中即加载”“GPU 页可直接作为存储对象”“后端是透明字节仓库”三项假设都已有明确反例;最优对象粒度和动作取决于后端、布局、当前批次与 SLO 余量。
- proposal 前最关键的测量是跨引擎生命周期轨迹、加载—重算交叉曲线、对象粒度扫描,以及带半写入、陈旧元数据和推测回滚的故障注入。
范围与证据
本调研复核 38 篇仓库内论文页:9 篇身份与索引、7 篇内容变换、7 篇分层数据路径、5 篇解聚与恢复、7 篇设备存储,以及 3 篇上游检索。另纳入 5 项外部论文或官方产业资料。内部页均按完整论文页使用;外部资料仅作补充证据,未启用 --ingest-missing。
纳入标准是工作必须改变 KV 的身份、状态、布局、传输、持久化、失效、恢复或上游复用条件。纯注意力内核、纯路由调度和一般文件系统工作只有能提供直接设备或一致性反例时才纳入。
研究版图
| 研究路线 | 核心问题 | 代表工作 | 当前边界 |
|---|---|---|---|
| 身份、索引与失效 | 一块 KV 是什么、谁可复用、何时失效 | SGLang-NeurIPS24、LMCache-arXiv25、RollArt-OSDI26 | 版本、租户、暂定状态和变换类型尚无共同契约 |
| 内容变换与召回 | 存储对象是否精确、部分、压缩或可重算 | CacheGen-SIGCOMM24、OPKV-MLSys26、FlexiCache-MLSys26 | 各论文自定义质量与回退语义,难以组合 |
| 分层数据路径 | 怎样让主存或 SSD 中的 KV 按时可用 | Bidaw-FAST26、Strata-OSDI26、DirectKV-OSDI26 | 布局、调度和设备策略仍绑定特定硬件 |
| 解聚、传输与恢复 | 跨节点移动时怎样保持可用和一致 | GhostServe-MLSys26、RaidServe-MLSys26、fabric-lib-MLSys26 | GPU 故障、网络故障和持久层故障没有统一模型 |
| 设备与上游存储 | 后端和检索流程怎样改变 KV 生命周期 | WARP-FAST26、Cylon-FAST26、ContextPilot-MLSys26 | FAST 缺真实 KV 轨迹,服务论文缺设备内部指标 |
这些路线按“谁拥有最终决策”划分。Strata-OSDI26 同时做布局和调度,主要归分层数据路径;RollArt-OSDI26 主要价值是明确权重更新使旧 KV 失效,归身份路线。版图揭示的主要断点在接口处,而不是单段性能不足。
时间脉络
总体阶段
GPU 分页分配 → 程序结构感知的前缀索引 → 跨请求与跨设备 KV 对象 → 近似变换和分层 I/O → 版本、故障与设备生命周期成为一等状态
身份与索引
- 2023 — vLLM-SOSP23:KV 从连续张量变成带引用与写时复制的分页块,建立运行时身份基础。
- 2024 — SGLang-NeurIPS24:基数树把程序前缀结构提升为跨调用索引;复用从请求内扩到请求间。
- 2025 — KVCacheInTheWild-ATC25、LMCache-arXiv25:生产轨迹与跨引擎中间件把生命周期、命名空间和多层对象推到服务层。
- 2026 — RollArt-OSDI26、StriaTrace-OSDI26:权重版本失效和跨连接器在线追踪说明“对象存在”不等于“对象仍正确或可诊断”。
内容变换与分层数据路径
- 2024–2025 — CacheGen-SIGCOMM24、CacheBlend-EuroSys25:KV 可被编码,或加载后仅重算一部分;精确字节块不再是唯一对象。
- 2026 — OPKV-MLSys26、FlexiCache-MLSys26、IceCache-arXiv26:对象粒度向词元、注意力头和语义页分裂。
- 2026 — Bidaw-FAST26、SolidAttention-FAST26:SSD 从被动备份层变成在线读取路径,设备尾延迟和 I/O 粒度进入 TTFT。
- 2026 — DirectKV-OSDI26、Strata-OSDI26、ECHO-OSDI26:分别以主存直读、双布局和精确召回改变“加载到 HBM 再计算”的默认路径。
恢复与设备语义
- 2026 — GhostServe-MLSys26、RaidServe-MLSys26:KV 成为故障恢复状态,不再只是可丢弃缓存。
- 2026 — WARP-FAST26、Cylon-FAST26、Xerxes-FAST26:SSD 寿命提示、CXL 命中双峰和机架拓扑说明后端不能只抽象为平均带宽。
各类工作的演化
身份、索引与失效
共同目标:回答 KV 如何命名、共享、提交、失效和观测。
演化与分歧:vLLM-SOSP23 以块表和引用计数管理页;SGLang-NeurIPS24 以基数树管理前缀;LMCache-arXiv25 将对象扩到跨引擎层;PRISM-MLSys26 引入按草稿步骤变化的模块 KV;Stream2LLM-MLSys26 处理流式编辑失效;ContextPilot-MLSys26 从上游重写上下文增加命中;RollArt-OSDI26 证明权重更新必须使旧 KV 失效;StriaTrace-OSDI26 则把分布式 KV 调用纳入在线追踪。
共同边界:9 篇中只有 RollArt-OSDI26 明确把模型版本纳入失效,只有 KVCacheInTheWild-ATC25 直接观察跨用户复用;没有一篇同时表达版本、租户、变换类型和暂定提交状态。
相关工作:vLLM-SOSP23、SGLang-NeurIPS24、PRISM-MLSys26、KVCacheInTheWild-ATC25、LMCache-arXiv25、Stream2LLM-MLSys26、ContextPilot-MLSys26、RollArt-OSDI26、StriaTrace-OSDI26
内容变换与召回
共同目标:减少保存或搬运量,同时说明怎样恢复可用计算状态。
演化与分歧:CacheGen-SIGCOMM24 编码完整 KV;CacheBlend-EuroSys25 加载后选择性重算;OPKV-MLSys26、FlexiCache-MLSys26 分别改变词元页和注意力头粒度;Kitty-MLSys26 量化;SkipKV-MLSys26 永久删除语义冗余;IceCache-arXiv26 用语义聚类改变页布局。
共同边界:7/7 篇各自定义元数据和质量评价,没有跨变换的类型、版本、校验和或回退接口。
相关工作:CacheGen-SIGCOMM24、CacheBlend-EuroSys25、OPKV-MLSys26、FlexiCache-MLSys26、SkipKV-MLSys26、Kitty-MLSys26、IceCache-arXiv26
分层数据路径
共同目标:让主存或 SSD 中的命中对象在 SLO 内成为 GPU 可消费状态。
演化与分歧:Bidaw-FAST26 利用对话阅读间隔预取 SSD KV;CacheSlide-FAST26 修正智能体提示的位置漂移;SolidAttention-FAST26 将稀疏注意力与 SSD 粗粒度读取协同设计;SuperInfer-MLSys26 在 Grace–Hopper 主动轮转;DirectKV-OSDI26 直接读主存;Strata-OSDI26 分开逻辑页和传输页;ECHO-OSDI26 为稀疏注意力做最终精确召回。
共同边界:7 篇中 6 篇只覆盖单节点或单一硬件族;只有 Strata-OSDI26 同时把碎片布局和请求调度纳入系统,但仍缺持久性与设备寿命。
相关工作:Bidaw-FAST26、CacheSlide-FAST26、SolidAttention-FAST26、SuperInfer-MLSys26、DirectKV-OSDI26、Strata-OSDI26、ECHO-OSDI26
解聚、传输与恢复
共同目标:跨实例移动或复制 KV,并在故障和资源变化下继续服务。
演化与分歧:NVIDIA-Disagg-Study-MLSys26 与 Meta-LLM-Deploy-MLSys26 建模预填充—解码解聚;fabric-lib-MLSys26 提供可靠无序传输;GhostServe-MLSys26 用奇偶校验影子降低检查点主存;RaidServe-MLSys26 主动备份并重布局。
共同边界:5/5 篇都没有覆盖持久层半写入、对象版本、网络分区和推测回滚的组合故障。
相关工作:GhostServe-MLSys26、RaidServe-MLSys26、NVIDIA-Disagg-Study-MLSys26、Meta-LLM-Deploy-MLSys26、fabric-lib-MLSys26
设备与上游存储
共同目标:揭示通用存储后端和检索上游会怎样改变 KV 的 I/O、寿命和命中。
演化与分歧:AITurbo-FAST26 为 AI 大块 I/O 提供分组接口;MAIO-FAST26 展示可编程页缓存;WARP-FAST26 量化 SSD 寿命提示错误;CetoFS-FAST26 把远端存储并发与恢复逻辑下推;Cylon-FAST26、Xerxes-FAST26 刻画 CXL 设备和织网;WSBuffer-FAST26 说明通用页缓存写路径会压过高速 NVMe。TeleRAG-MLSys26、Terminus-MLSys26、OdinANN-FAST26 则说明检索排序、更新与存储延迟会改变最终前缀。
共同边界:7 篇设备工作中 0 篇使用公开 KV 生命周期轨迹;3 篇上游检索工作中 0 篇维护生成器 KV 状态。
相关工作:AITurbo-FAST26、MAIO-FAST26、WARP-FAST26、CetoFS-FAST26、Cylon-FAST26、Xerxes-FAST26、WSBuffer-FAST26、TeleRAG-MLSys26、Terminus-MLSys26、OdinANN-FAST26
跨工作共同缺陷
| 共同缺陷 | 覆盖范围 | 为什么是系统性问题 | 已有缓解与剩余缺口 |
|---|---|---|---|
| 身份和一致性字段不足 | 涉及复用、变换、迁移或恢复的 28/28 篇,跨 4 路线 | token hash 不能区分模型、适配器、变换、租户、草稿与提交状态,错误命中可能静默污染输出 | RollArt-OSDI26处理权重版本,ECHO-OSDI26保证精确召回;仍无工作同时覆盖全部字段 |
| GPU 页被直接继承为存储对象 | 分层或远端数据路径 12 篇中 9 篇 | 小逻辑页利于命中,却造成大量碎片 I/O;放大页又损失匹配粒度 | Strata-OSDI26以双布局反例化该假设;不同压缩与设备仍需专用布局 |
| 命中默认比重算便宜 | 直接利用复用的 16 篇中 13 篇 | 后端队列、解压、布局转换和当前批次共同决定交叉点,存在不等于已就绪 | CacheBlend-EuroSys25、Strata-OSDI26部分缓解;缺统一在线动作选择 |
| 后端被当作透明容量层 | 使用 SSD、CXL、远端或主存的 19 篇中 15 篇 | WAF、垃圾回收、NUMA、双峰命中和拓扑会直接进入 TTFT/P99 | WARP-FAST26、Cylon-FAST26、Xerxes-FAST26 给出反例;尚无真实 KV 设备评估 |
| 故障模型停在单段 | 涉及异步传输、持久化或恢复的 14 篇中 12 篇 | 半写入、陈旧索引、重复重试、推测回滚和 worker 故障可组合成错误状态 | GhostServe-MLSys26、RaidServe-MLSys26覆盖 GPU 故障;跨层状态机仍缺失 |
| 多租户隔离与全局命中脱节 | 跨请求或跨实例共享的 12 篇中 10 篇 | 更广命名空间提高命中,也扩大内容存在性泄漏、缓存中毒和公平性风险 | KVCacheInTheWild-ATC25发现跨用户复用近零;缺组织级与公共语料分层证据 |
分母按适用工作计算。设备论文未使用 KV 轨迹本身也是覆盖缺口,不能直接当作 KV 设备效果的正证据。
关键争议
KV 传输通常可隐藏,还是经常成为瓶颈
NVIDIA-Disagg-Study-MLSys26、Meta-LLM-Deploy-MLSys26 在高速数据中心互连上支持分层重叠;Bidaw-FAST26、SolidAttention-FAST26、Strata-OSDI26 则发现 I/O 粒度、后端尾延迟和加载窗口会主导。差异来自后端、上下文复用、计算窗口与对象布局,不是直接矛盾。
固定块是否仍是合适抽象
vLLM-SOSP23 的固定块简化分配与共享;OPKV-MLSys26、FlexiCache-MLSys26、IceCache-arXiv26 表明词元、头和语义重要性跨页分布;Strata-OSDI26 又证明存储传输需要比逻辑页更大的连续对象。较可能的条件化答案是身份使用小逻辑页,设备层使用可重组物理对象。
KV 是可丢弃缓存,还是需要持久状态语义
短请求失败后重算支持“可丢弃”;长上下文、智能体会话和 GhostServe-MLSys26、RaidServe-MLSys26 的恢复需求支持“昂贵状态”。边界取决于重算成本、会话持续时间、恢复目标和错误复用风险,不能按名称 cache 预先决定。
产业实践与学术缺口
- NVIDIA Dynamo KVBM 已支持 GPU、主存、磁盘、对象存储、事件与多种卸载策略;配置仍以层容量和块策略为主,未给出跨变换正确性类型。
- Tutti 通过 GPU 原生对象与 GPU 发起 I/O 解决 SSD 碎片控制路径;KVDrive 联合 GPU、主存和 SSD 放置与流水。这些 2026 工作加强“数据路径已成为主战场”的判断,但仍未形成跨引擎生命周期契约。
- HyMCache 利用多轮 KV 的只读、可预测和追加写特征管理 CXL 混合内存;其真实原型直接把设备内 DRAM 与 SSD 共同暴露为 KV 层,说明设备可利用对象生命周期。
- TraCT 把 CXL 共享内存同时用作 KV 传输底座和机架前缀缓存,进一步放大一致性、租户和拓扑问题。
- vLLM、SGLang、LMCache、Dynamo 已有不同连接器和块事件。工业界正在收敛“可插后端”,尚未收敛“可组合语义”。
候选空白
- 跨引擎 KV 生命周期状态机:创建、暂定、提交、索引、变换、卸载、加载、复用、失效、恢复和删除尚无共同轨迹与接口。
- 类型化 KV 对象:精确、压缩、稀疏、可重算、奇偶校验、推测草稿和失效对象缺少可组合的代价与正确性标签。
- 设备感知放置:生命周期、热度、租户与精确性尚未映射到 FDP/ZNS、CXL 混合内存、远端内存和对象存储提示。
- 加载—重算—解压—部分修复的在线边界:现有系统多证明自己的路径有收益,少有统一动作竞争。
- 跨层故障与一致性模型:worker 崩溃、半写入、网络分区、陈旧索引、推测拒绝和模型升级尚未在同一状态机注入。
- 租户感知全局索引:个人、组织、公共语料和模型版本命名空间之间的命中、泄漏、公平与新鲜度曲线缺失。
- 面向智能体与检索流程的失效传播:检索顺序、工具输出、流式编辑和模型更新怎样使已有 KV 局部失效尚无统一上游通知。
- 包含存储内部指标的 KV 基准:缺少同时报告 TTFT/TPOT/P99、读写放大、垃圾回收、故障结果与租户隔离的套件。
关键未知与测量
- 生命周期分布是什么:在 vLLM、SGLang 与 LMCache 记录创建到删除的全部事件,覆盖聊天、检索、智能体和长推理;判断能否形成稳定类别。若事件不可跨引擎对齐,共同状态机需缩小范围。
- 对象身份需要哪些字段:系统性扰动模型、分词器、适配器、位置编码、量化和草稿模块,验证 token hash 之外每个字段是否能阻止错误命中;以误复用率和元数据开销评价。
- 存储对象应多大:扫描引擎页、跨层块、注意力头块、语义页与设备对齐段,记录加载放大、命中损失、吞吐和元数据;判断是否必须按层级使用不同布局。
- 命中与重算交叉点在哪里:按模型、上下文、批次、后端、队列深度与变换类型比较精确加载、解压、部分重算和完整预填充,输出在线可用边界。
- 生命周期提示能否改善设备行为:把真实轨迹重放到 FDP/ZNS 与 CXL 模拟器,对比无提示、在线预测和预知提示;记录 WAF、垃圾回收停顿与 P99。误分类若反转收益,则不应暴露该提示。
- 跨层故障能否被检测和恢复:注入半写入、校验错误、陈旧元数据、连接器超时、worker 重启、推测回滚与模型升级;验证不返回错误 KV,并记录恢复时间与重算量。
- 共享范围的收益与风险曲线如何:按请求、用户、组织、公共语料逐级扩大命名空间,记录命中、路由倾斜、存在性泄漏和缓存中毒;若跨用户收益接近零,则全局索引只应保存公共对象。
- 上游变化能否做局部失效:对检索结果重排、工具输出追加和提示编辑记录真正受影响的 KV,比较全量重算、前缀失效和依赖图失效;以正确输出和节省计算共同评价。
覆盖缺口
- Tutti、KVDrive、HyMCache 与 TraCT 尚无仓库论文页,本调研只用外部论文页面,未执行论文导入。
- Dynamo、Mooncake、FlexKV 等生产系统快速变化,公开文档不足以支撑控制器故障、租户隔离和长期设备寿命结论。
- 设备论文缺真实 KV 生命周期轨迹,KV 服务论文又普遍缺 WAF、垃圾回收与故障内部指标;共同缺陷主要来自两侧证据的机制性拼接。
- 公共生产轨迹多停在请求或块统计,缺模型版本、变换类型、故障和租户安全字段。
附录:逐篇证据卡
身份、索引与失效
vLLM-SOSP23
- 路线与角色:身份与索引;奠基。
- 证据等级:完整论文页。
- 做了什么:以块表、按需分配和写时复制管理 GPU KV。
- 没做什么:不处理长期持久化、跨节点版本和租户。
- 关键观察:连续预分配显存利用率低。
- 隐含假设:固定块足以表达身份和共享。
- 可攻击点 / 脆弱点:页粒度与后续词元、头及 I/O 粒度不匹配。
SGLang-NeurIPS24
- 路线与角色:身份与索引;前缀转折。
- 证据等级:完整论文页。
- 做了什么:用基数树跨程序调用索引前缀 KV。
- 没做什么:不覆盖多层持久化和完整一致性。
- 关键观察:语言模型程序有结构性前缀复用。
- 隐含假设:提示结构稳定,缓存亲和调度有效。
- 可攻击点 / 脆弱点:智能体提示漂移和崩溃恢复会破坏元数据。
PRISM-MLSys26
- 路线与角色:身份与索引;推测状态扩展。
- 证据等级:完整论文页。
- 做了什么:按草稿步骤切换模块并传递模块特定 KV。
- 没做什么:不定义持久化、拒绝分支清理或跨层身份。
- 关键观察:不同草稿步骤适合不同参数模块。
- 隐含假设:模块切换和回滚可由引擎透明处理。
- 可攻击点 / 脆弱点:模块、步骤和接受状态必须进入身份。
KVCacheInTheWild-ATC25
- 路线与角色:身份与索引;生产测量。
- 证据等级:完整论文页。
- 做了什么:刻画生产 KV 复用、寿命与类别淘汰。
- 没做什么:不覆盖推理智能体、全局存储和安全。
- 关键观察:少量块贡献大部分复用,跨用户复用接近零。
- 隐含假设:一周单云轨迹代表后续负载。
- 可攻击点 / 脆弱点:工作负载漂移会使策略收益消失。
LMCache-arXiv25
- 路线与角色:身份与索引;跨引擎转折。
- 证据等级:完整论文页。
- 做了什么:把 KV 封装为可跨 GPU、主存、SSD 和远端的对象。
- 没做什么:不完整解决强一致、多租户和控制器故障。
- 关键观察:引擎页太小,不适合直接作为 I/O 对象。
- 隐含假设:对象和连接器接口能跨引擎稳定。
- 可攻击点 / 脆弱点:陈旧元数据和加载—重算选择仍开放。
Stream2LLM-MLSys26
- 路线与角色:身份与索引;流式失效扩展。
- 证据等级:完整论文页。
- 做了什么:提前预填充流式上下文并局部追踪更新失效。
- 没做什么:不覆盖解码、持久层和跨节点恢复。
- 关键观察:用户输入可在完成前被部分计算。
- 隐含假设:编辑范围可准确识别并局部失效。
- 可攻击点 / 脆弱点:复杂重排和工具注入会扩大依赖范围。
ContextPilot-MLSys26
- 路线与角色:身份与索引;上游扩展。
- 证据等级:完整论文页。
- 做了什么:对齐、去重和标注检索上下文以提高前缀命中。
- 没做什么:不管理 KV 层级、版本和安全注入。
- 关键观察:检索内容重叠但顺序变化会破坏命中。
- 隐含假设:重写上下文保持语义且索引一致。
- 可攻击点 / 脆弱点:近似对齐和标注注入会影响正确性。
RollArt-OSDI26
- 路线与角色:身份与索引;版本转折。
- 证据等级:完整论文页。
- 做了什么:训练权重更新后重算未完成轨迹的旧 KV。
- 没做什么:不提供通用跨引擎版本协议。
- 关键观察:旧权重生成的 KV 不能交给新权重继续使用。
- 隐含假设:权重版本边界可被运行时准确追踪。
- 可攻击点 / 脆弱点:适配器、分词器和位置语义也可能要求失效。
StriaTrace-OSDI26
- 路线与角色:身份与索引;在线观测转折。
- 证据等级:完整论文页。
- 做了什么:以低开销语义跨度追踪分布式 KV 调用和推理停顿。
- 没做什么:不自动修复或定义存储状态机。
- 关键观察:关键同步边界远少于全部函数调用。
- 隐含假设:异常检测不会漏掉应保留的完整轨迹。
- 可攻击点 / 脆弱点:持续退化可被吸收为新常态,隐私和保留策略未解。
内容变换与召回
CacheGen-SIGCOMM24
- 路线与角色:内容变换;压缩奠基。
- 证据等级:完整论文页。
- 做了什么:按模型统计编码并传输压缩 KV 比特流。
- 没做什么:不管理生命周期、放置或失效。
- 关键观察:KV 层与通道存在可压缩统计。
- 隐含假设:编码配置随模型版本稳定。
- 可攻击点 / 脆弱点:版本和适配器变化要求新模式与校验。
CacheBlend-EuroSys25
- 路线与角色:内容变换;部分重算转折。
- 证据等级:完整论文页。
- 做了什么:为非前缀检索块选择性重算跨块注意力。
- 没做什么:不提供通用分层存储与一致性。
- 关键观察:直接复用块 KV 会遗漏跨块交互。
- 隐含假设:少量重算足够并可被加载隐藏。
- 可攻击点 / 脆弱点:密集跨块推理可能需要接近全量重算。
OPKV-MLSys26
- 路线与角色:内容变换;词元粒度扩展。
- 证据等级:完整论文页。
- 做了什么:使被淘汰的 KV 词元可从慢层按需召回。
- 没做什么:不统一设备对象、故障和多租户语义。
- 关键观察:词元重要性散落在固定页内。
- 隐含假设:召回信号能及时确定需要的词元。
- 可攻击点 / 脆弱点:细粒度召回会造成 I/O 放大。
FlexiCache-MLSys26
- 路线与角色:内容变换;注意力头扩展。
- 证据等级:完整论文页。
- 做了什么:按注意力头稳定性分级保存或卸载 KV。
- 没做什么:不定义跨变换类型与版本契约。
- 关键观察:不同头的时间稳定性不同。
- 隐含假设:头级稳定性跨请求可迁移。
- 可攻击点 / 脆弱点:任务漂移会使分级失效。
SkipKV-MLSys26
- 路线与角色:内容变换;永久删除扩展。
- 证据等级:完整论文页。
- 做了什么:删除长推理中句级语义冗余 KV。
- 没做什么:不提供精确恢复或持久层接口。
- 关键观察:推理轨迹包含重复和非执行性文本。
- 隐含假设:在线语义判断足以保护任务结果。
- 可攻击点 / 脆弱点:误删不可恢复且质量归因困难。
Kitty-MLSys26
- 路线与角色:内容变换;量化扩展。
- 证据等级:完整论文页。
- 做了什么:以低比特 KV 和敏感通道增强压缩容量。
- 没做什么:不处理对象版本、放置与故障。
- 关键观察:少数通道对精度更敏感。
- 隐含假设:敏感通道集合稳定。
- 可攻击点 / 脆弱点:跨模型和长推理质量边界未知。
IceCache-arXiv26
- 路线与角色:内容变换;语义页扩展。
- 证据等级:完整论文页。
- 做了什么:聚类语义相关词元并结合分页选择。
- 没做什么:不定义通用 SSD 生命周期或故障。
- 关键观察:语义局部性不同于词元时间顺序。
- 隐含假设:聚类结果代表后续注意力需求。
- 可攻击点 / 脆弱点:查询变化会增加误取与重排成本。
分层数据路径
Bidaw-FAST26
- 路线与角色:分层数据路径;SSD 交互转折。
- 证据等级:完整论文页。
- 做了什么:以主存—SSD 两层队列和阅读间隔预取多轮 KV。
- 没做什么:不覆盖多 GPU、远端池、寿命与租户。
- 关键观察:对话历史计算占比高,用户阅读提供预取窗口。
- 隐含假设:交互间隔和答案长度可预测复用。
- 可攻击点 / 脆弱点:连续智能体和突发批处理会消灭窗口。
CacheSlide-FAST26
- 路线与角色:分层数据路径;智能体位置扩展。
- 证据等级:完整论文页。
- 做了什么:校正滑动提示的位置并管理脏 KV 页。
- 没做什么:不覆盖分布式层、故障与隐私。
- 关键观察:智能体块相对顺序稳定,绝对位置漂移。
- 隐含假设:模板稳定且位置校正保持质量。
- 可攻击点 / 脆弱点:工具输出和模板升级会破坏假设。
SolidAttention-FAST26
- 路线与角色:分层数据路径;SSD 稀疏转折。
- 证据等级:完整论文页。
- 做了什么:协同设计稀疏注意力、SSD KV 布局和预取。
- 没做什么:主要单用户批次一,不测耐久与多租户。
- 关键观察:SSD 需要粗粒度传输,选择具有相邻步相似性。
- 隐含假设:近似稀疏质量和固定预算可接受。
- 可攻击点 / 脆弱点:背景 I/O、选择突变和质量漂移会破坏收益。
SuperInfer-MLSys26
- 路线与角色:分层数据路径;高带宽主存转折。
- 证据等级:完整论文页。
- 做了什么:在 Grace–Hopper 上主动轮转主存与 HBM KV。
- 没做什么:不覆盖普通 PCIe、SSD 和多节点。
- 关键观察:小而串行的层级拷贝无法利用高速互连。
- 隐含假设:大块双向传输可与计算重叠。
- 可攻击点 / 脆弱点:统一内存争用和推测回滚会破坏不变量。
DirectKV-OSDI26
- 路线与角色:分层数据路径;主存直读转折。
- 证据等级:完整论文页。
- 做了什么:融合内核直接消费 CPU 常驻 KV,避免 HBM 中转。
- 没做什么:不负责存储策略或普通 PCIe 泛化。
- 关键观察:朴素零拷贝会重复读取远端 KV。
- 隐含假设:Hopper 与 NVLink-C2C 可用,主存近似独占。
- 可攻击点 / 脆弱点:多 GPU、NUMA 和其他进程争用未覆盖。
Strata-OSDI26
- 路线与角色:分层数据路径;布局与调度转折。
- 证据等级:完整论文页。
- 做了什么:保留小逻辑页,用大并发传输和就绪时间调度。
- 没做什么:不完整覆盖 SSD 寿命、故障和真实线上 P99。
- 关键观察:命中数据的碎片 I/O 可制造加载气泡。
- 隐含假设:布局转换规则、加载成本和共享距离可估计。
- 可攻击点 / 脆弱点:压缩布局、远端层和公平性会改变估计。
ECHO-OSDI26
- 路线与角色:分层数据路径;精确召回转折。
- 证据等级:完整论文页。
- 做了什么:在主存保存完整稀疏注意力 KV,并保证最终召回精确 top-k。
- 没做什么:只测特定模型、大主存和单一集群配置。
- 关键观察:预测只需影响预取,不必影响最终选择。
- 隐含假设:索引分数边界稳定,主存和 PCIe 充足。
- 可攻击点 / 脆弱点:真实端到端预取增益有限,故障与租户未测。
解聚、传输与恢复
GhostServe-MLSys26
- 路线与角色:解聚与恢复;奇偶校验扩展。
- 证据等级:完整论文页。
- 做了什么:以奇偶校验影子降低节点内 KV 检查点主存占用。
- 没做什么:不覆盖跨节点持久层或静默错误。
- 关键观察:恢复成本主要来自 PCIe 和主存容量。
- 隐含假设:故障为节点内软故障,KV 布局标准。
- 可攻击点 / 脆弱点:与现有 KV 层级的副本一致性未解。
RaidServe-MLSys26
- 路线与角色:解聚与恢复;主动备份扩展。
- 证据等级:完整论文页。
- 做了什么:主动备份、循环放置和混合注意力应对 GPU 不规则可用性。
- 没做什么:不详述备份一致性和多租户安全。
- 关键观察:故障恢复会制造在线延迟尖峰和负载不均。
- 隐含假设:路由器及时知道健康与 KV 布局。
- 可攻击点 / 脆弱点:脑裂、备份频率和版本一致性未测。
NVIDIA-Disagg-Study-MLSys26
- 路线与角色:解聚与恢复;容量规划评测。
- 证据等级:完整论文页。
- 做了什么:建模预填充—解码解聚和 KV 传输配置。
- 没做什么:模拟未完整覆盖 P99 网络与存储层级。
- 关键观察:在高速互连上层级传输可被计算覆盖。
- 隐含假设:中位或均值足以规划容量。
- 可攻击点 / 脆弱点:弹性、网络抖动和慢层会改变最优点。
Meta-LLM-Deploy-MLSys26
- 路线与角色:解聚与恢复;生产部署评测。
- 证据等级:完整论文页。
- 做了什么:从大规模部署分析阶段解聚、并行和 KV 传输。
- 没做什么:不提供通用持久 KV 一致性模型。
- 关键观察:高速网络与逐层重叠可降低传输关键路径。
- 隐含假设:数据中心互连和部署规模代表目标环境。
- 可攻击点 / 脆弱点:低成本网络和设备长尾可能翻转结论。
fabric-lib-MLSys26
- 路线与角色:解聚与恢复;传输原语扩展。
- 证据等级:完整论文页。
- 做了什么:为 KV 迁移提供可靠无序点对点 RDMA 原语。
- 没做什么:不负责对象策略、取消和存储故障。
- 关键观察:非均匀突发写不适合固定集合通信。
- 隐含假设:上层知道应搬对象和目标。
- 可攻击点 / 脆弱点:内存注册、心跳和恢复仍是上层负担。
设备与上游存储
AITurbo-FAST26
- 路线与角色:设备存储;分组 I/O 扩展。
- 证据等级:完整论文页。
- 做了什么:为 AI 大块读写、去重和织网调度提供存储接口。
- 没做什么:KV 只作有限案例,不系统评估在线 SLO。
- 关键观察:AI I/O 常异步且可分组。
- 隐含假设:前端能提前暴露组语义。
- 可攻击点 / 脆弱点:在线 KV 到达难预先分组。
MAIO-FAST26
- 路线与角色:设备存储;可编程页缓存线索。
- 证据等级:完整论文页。
- 做了什么:以模板预取、设备亲和和读后销毁优化模型加载。
- 没做什么:只读权重,不处理 KV 追加、复用和失效。
- 关键观察:内核预取和通用页缓存不能吃满 SSD。
- 隐含假设:I/O 模板可重复并由上层告知。
- 可攻击点 / 脆弱点:KV 读写混合需不同生命周期契约。
WARP-FAST26
- 路线与角色:设备存储;SSD 寿命反例。
- 证据等级:完整论文页。
- 做了什么:模拟 FDP SSD 的放置与寿命提示,量化错误提示代价。
- 没做什么:不使用 KV 轨迹或服务 SLO。
- 关键观察:错误寿命分类可显著放大 WAF。
- 隐含假设:模拟器近似真实设备。
- 可攻击点 / 脆弱点:KV 生命周期是否可预测尚未测。
CetoFS-FAST26
- 路线与角色:设备存储;远端语义扩展。
- 证据等级:完整论文页。
- 做了什么:将权限、并发和重做下推到 RDMA/NVMe-oF 目标端。
- 没做什么:不是 KV 系统,拓扑范围有限。
- 关键观察:远端文件系统软件路径会放大网络往返。
- 隐含假设:目标端可可信执行存储语义。
- 可攻击点 / 脆弱点:KV 远端层可能需要对象原语而非块设备。
Cylon-FAST26
- 路线与角色:设备存储;CXL 设备评测。
- 证据等级:完整论文页。
- 做了什么:模拟保留纳秒命中与微秒未命中的 CXL-SSD 双峰。
- 没做什么:不使用 KV 工作负载。
- 关键观察:命中策略和脏驱逐决定端到端停顿。
- 隐含假设:模拟可外推目标设备。
- 可攻击点 / 脆弱点:KV 提示、持久性和尾延迟尚未映射。
Xerxes-FAST26
- 路线与角色:设备存储;CXL 织网评测。
- 证据等级:完整论文页。
- 做了什么:模拟机架级 CXL 拓扑、缓存与全双工流量。
- 没做什么:不包含 KV 一致性与租户模型。
- 关键观察:根节点瓶颈和拓扑会改变共享内存性能。
- 隐含假设:组件模型可外推新拓扑。
- 可攻击点 / 脆弱点:KV 放置必须感知拓扑与服务质量。
WSBuffer-FAST26
- 路线与角色:设备存储;写路径反例。
- 证据等级:完整论文页。
- 做了什么:重构缓冲写路径以适应高带宽 NVMe。
- 没做什么:不处理 KV 或完整崩溃语义。
- 关键观察:页缓存管理可压过 DRAM 缓冲收益。
- 隐含假设:大对齐直写适合目标工作负载。
- 可攻击点 / 脆弱点:KV 小块追加与删除可能重现软件瓶颈。
TeleRAG-MLSys26
- 路线与角色:上游存储;检索延迟扩展。
- 证据等级:完整论文页。
- 做了什么:降低检索增强生成的远端检索延迟。
- 没做什么:不管理生成器 KV 生命周期。
- 关键观察:检索等待会进入端到端 TTFT。
- 隐含假设:检索与生成可分层优化。
- 可攻击点 / 脆弱点:结果顺序会改变前缀命中。
Terminus-MLSys26
- 路线与角色:上游存储;检索调度扩展。
- 证据等级:完整论文页。
- 做了什么:优化检索服务的执行与延迟。
- 没做什么:不维护生成器 KV 或失效通知。
- 关键观察:检索批次和生成阶段瓶颈会耦合。
- 隐含假设:接口边界足以隔离两阶段。
- 可攻击点 / 脆弱点:检索更新会使已缓存提示陈旧。
OdinANN-FAST26
- 路线与角色:上游存储;更新路径扩展。
- 证据等级:完整论文页。
- 做了什么:减少基于磁盘的近似最近邻搜索更新停顿。
- 没做什么:不处理 RAG 生成器 KV。
- 关键观察:索引更新和存储 I/O 会影响查询新鲜度与延迟。
- 隐含假设:检索结果可独立交给生成阶段。
- 可攻击点 / 脆弱点:语料更新应触发哪些 KV 失效尚未定义。
外部证据
产业实现:NVIDIA Dynamo KVBM
- 路线与角色:身份与分层;产业实现。
- 证据等级:官方文档。
- 做了什么:提供主存、磁盘、对象存储层及块事件和策略。
- 没做什么:不定义跨变换正确性类型。
- 关键观察:下层过小会持续卸载并抖动。
- 隐含假设:块事件足以支撑控制器。
- 可攻击点 / 脆弱点:版本、租户与故障组合仍由集成方处理。
外部论文:Tutti
- 路线与角色:分层数据路径;SSD 转折。
- 证据等级:外部论文全文线索。
- 做了什么:以 GPU 原生对象和 GPU 发起 I/O 加载 SSD KV。
- 没做什么:不提供跨引擎生命周期契约。
- 关键观察:碎片和 CPU 控制路径使 SSD 带宽闲置。
- 隐含假设:GPU 控制和大对象可摊销。
- 可攻击点 / 脆弱点:多租户、故障与设备寿命仍未知。
外部论文:KVDrive
- 路线与角色:分层数据路径;外部联合分层。
- 证据等级:外部论文全文线索。
- 做了什么:联合 GPU、主存与 SSD 放置、流水和跨层移动。
- 没做什么:摘要证据不足以确认完整一致性和租户模型。
- 关键观察:继续提高稀疏度会触及质量下限,系统需扩展层级。
- 隐含假设:注意力行为可指导跨层复用。
- 可攻击点 / 脆弱点:需回源核对故障、版本和设备内部指标。
外部论文:HyMCache
- 路线与角色:设备存储;CXL 混合内存转折。
- 证据等级:外部论文全文线索。
- 做了什么:利用设备内 DRAM 和 SSD 为多轮 KV 提供 TB 级复用。
- 没做什么:公开摘要不足以证明通用租户和故障契约。
- 关键观察:多轮 KV 读多写少、可预测且追加写。
- 隐含假设:请求级前缀预取和写缓冲能覆盖设备慢层。
- 可攻击点 / 脆弱点:连续智能体、随机编辑和误预测可能破坏访问形态。
外部论文:TraCT
- 路线与角色:解聚与设备;CXL 共享扩展。
- 证据等级:外部论文全文线索。
- 做了什么:以 CXL 共享内存同时承载 KV 传输和机架前缀缓存。
- 没做什么:尚无仓库页支撑完整批判性复核。
- 关键观察:共享内存可减少跨实例复制和容量碎片。
- 隐含假设:非一致共享内存的数据管理可承受。
- 可攻击点 / 脆弱点:拓扑、同步、租户与故障会成为共同瓶颈。