铭信

KV Cache 逐出策略:被逐出的缓存去哪了

直接答案

KV Cache 逐出通常按 LRU/前缀引用计数执行。关键不是逐出算法本身,而是逐出后的去向:直接丢弃则回访即重算(实测 TTFT p50 149.5s),下沉外置层则可读回(11.85s)。

逐出是必然,丢弃不是

显存容量固定,会话一多 KV 必然被逐出——vLLM 的块管理按引用计数与 LRU 回收 KV 块,这一层开源框架已经做得很好。真正的架构分岔在逐出之后:丢弃(下次回访整段重算 prefill)还是下沉(写入内存/外置全闪,回访时读回)。

两条路的代价差实测可查:480B 模型并发 16 冷恢复负载,「丢弃-重算」基线 TTFT p50 149.5s、吞吐 4.1 tok/s;「下沉-读回」(FX100 外置层)11.85s、74.9 tok/s——8.6–20× 的差距(R2 实测)。

分层逐出的工程实现

LMCache 把逐出改造成层间迁移:显存满则下沉主机内存,内存满则下沉外置全闪,KV 块按前缀哈希内容寻址、天然幂等。外置层容量以百 TB 计(FX100 满配裸容量 184.3TB),逐出窗口可以放宽到天级。

下沉链路的写入不阻塞推理主路径,读回性能取决于并行度——LMCache 默认串行读打不满阵列带宽,铭信并行读补丁把单卡冷读带宽从 0.98 GB/s 提到 5.23 GB/s(R1 实测,补丁见 R8 导出包)。

常见问题

逐出策略需要业务侧调优吗?

多数场景默认 LRU 足够;会话回访分布特殊(如固定周期批处理)时可调保留窗口。我们建议用真实 trace 联测验证,G3 门禁以 TTFT 降幅 ≥25% 为准。

下沉写入会拖慢推理吗?

KV 下沉是异步大块顺序写,与解码计算重叠;R2/R3 的吞吐数字(+29–40%)已包含下沉开销,是端到端口径。

外置层也满了怎么办?

外置层内同样按 LRU 逐出最冷的 KV,此时才真正丢弃。区别在于窗口:显存以分钟计,外置层以天计,绝大多数回访都落在窗口内。

数据出处(可查证)

R1FX100 大模型推理与训练 综合性能测试报告(AMD MI308X ×8)2026-07-03
下载报告 PDF ↓
R2FX100 KV Cache 性能测试报告(480B·TP8 长上下文·正式版)2026-07-05
下载报告 PDF ↓
R8FX100-KVCache AMD 代码导出包 + KVCache 测试结果数据2026-07
联系我们获取 →

相关阅读

先联测、后决策:门禁化验收,不达标即止损

完整测算模型 NDA 后 Python 可复现,客户可自行改参数重算;本站所有关键数字附报告编号,接受任何第三方查证。

本站内容为商务合作信息展示,不构成投资要约或任何收益承诺。实测数据均出自签字级/正式版测试报告(见证据库);厂商口径、公开口径、估算口径均如实标注。