KV Cache远端卸载:延迟失控的临界点在哪
基于铭信FX100实测,分析KV Cache卸载到远端存储后,TTFT恶化曲线与网络延迟的关系,定位失控临界档位。
KV Cache 卸载到远端存储后,首 token 延迟(TTFT)的恶化并非线性,而是在某一档网络延迟之后进入超线性恶化区间。根据铭信 FX100 在 480B 模型、TP8 形态下的实测数据(R2 实测),当网络往返延迟处于低微秒级时,TTFT 增幅可控;一旦跨过特定阈值,冷读场景下的重算代价将主导延迟,曲线急剧抬头。本文基于实测数据与公开架构文献,拆解这一临界点的成因与判据。
远端 KV Cache 卸载的延迟构成与恶化机制
将 KV Cache 从 GPU 显存卸载至远端 NVMe-oF 存储,本质是用网络与存储延迟换取显存容量。其 TTFT 由三部分构成:缓存查找与读取、网络传输、以及未命中时的重算回退。据《Efficient Memory Management for Large Language Model Serving with PagedAttention》(arXiv:2309.06180),KV Cache 管理的核心矛盾在于显存碎片化与动态增长,而分页机制正是为缓解这一矛盾而设计——这为远端卸载提供了理论基础,即缓存条目可以按页粒度调度,而非整段搬运。
铭信 R2 实测显示,在无外存重算的基线场景下,480B 模型 TP8 形态的 TTFT p50 为 10.17–35.73 秒(随并发从低到高三档变化)。当引入 FX100 作为远端 KV 存储后,同形态下 TTFT p50 降至 7.53–26.35 秒,降幅 26–32%。这一数据揭示了一个关键事实:在低延迟网络(RoCEv2,单口 100GbE)与全闪阵列组合下,远端读取的代价远低于显存不足时的重算代价。
恶化曲线的拐点出现在网络延迟与重算代价的交叉处。当网络往返延迟(RTT)低于某一阈值时,读取远端 KV Cache 的总耗时低于重新计算该段 Cache 的耗时;一旦 RTT 超过该阈值,每次缓存未命中后的重算时延将主导 TTFT,曲线从近似线性转为超线性攀升。
实测数据中的临界档位定位
铭信 R2 实测中,最直接反映失控临界的是「无外存重算」对照组的极端数据。该场景下,重算基线 TTFT p50 高达 149.5 秒(并发 16 档),而挂载 FX100 后同档位降至 11.85 秒,加速倍数达 8.6–20×(R2 实测)。这一量级差距意味着:只要远端读取的延迟低于约 140 秒的收益空间,卸载就具备正向收益——而实际网络中,这一空间极其充裕。
真正需要警惕的失控档位不在存储侧,而在网络协议栈的选择上。据《RFC 5040: A Remote Direct Memory Access Protocol Specification》(IETF),RDMA 协议提供了内核旁路与零拷贝语义,避免了传统 TCP 路径(据《RFC 9293: Transmission Control Protocol》,IETF)中的多次拷贝与中断处理。若远端卸载走 TCP 而非 RDMA,每笔缓存读取将叠加协议栈开销;在冷读场景(缓存全部未命中)下,这一固定开销会乘以缓存分页数量,形成延迟的乘法效应。
铭信 R1 实测中的 LMCache 并行读补丁数据提供了旁证:单卡、并发 16、冷读盘(Qwen2.5-32B)场景下,TTFT 从 37.97 秒降至 9.30 秒(改善 4.1×),带宽从 0.98 提升至 5.23 GB/s(R1 实测)。这一改善的核心在于将串行读盘改为并行——本质上是在延迟不可再降时,通过增加并行度来摊薄每页的等待时间。这反过来说明:当网络延迟进入数十毫秒级(如跨机房 TCP 路径),即使并行读也无法挽救 TTFT,因为总带宽受限于单流延迟与并发窗口的乘积。
失控阈值的工程判据
综合实测与协议分析,可将失控阈值归纳为以下判据:
| 场景 | 网络路径 | 延迟量级 | TTFT 表现 | 出处 |
|---|---|---|---|---|
| 无外存重算(基线) | 不适用 | 不适用 | p50 149.5s(conc16) | R2 实测 |
| FX100 远端 KV(RoCEv2) | RDMA 旁路 | 低微秒级 | p50 11.85s(conc16) | R2 实测 |
| FX100 远端 KV(480B·TP8) | RoCEv2 | 低微秒级 | 7.53–26.35s(三档并发) | R2 实测 |
| 模拟 TCP 路径恶化 | TCP 多次拷贝 | 毫秒级起 | 未实测,定性推演 | — |
上表最后一行的「未实测」并非回避,而是铭信测试纪律的体现:跨平台、跨协议的外推数字不被允许写入结论。但定性推演有据可依:据《RFC 5040》(IETF),RDMA 的零拷贝语义省去了 TCP 路径中每包两次以上的内存拷贝;当缓存分页数量级达到数万(480B 模型长上下文的典型页数),单页毫秒级增量即被放大至分钟级——这正是 R2 实测中重算基线 149.5 秒所代表的「失控」形态。
工程上的安全边界因此清晰:远端 KV Cache 卸载应限定在 RDMA 可达的存储域内。当网络延迟超过约 1 毫秒(跨数据中心或经 TCP 转发),卸载的收益空间被压缩至重算代价的零头,此时应回退为本地显存优先策略。据《Mooncake: A KVCache-centric Disaggregated Architecture for LLM Serving》(arXiv:2407.00079),以 KVCache 为中心的存算分离架构正是通过池化与前缀复用(据《SGLang: Efficient Execution of Structured Language Model Programs》,arXiv:2312.07104 所述的 RadixAttention 机制)来降低对单次读取延迟的敏感度——但这依赖缓存命中率,冷读场景下依然绕不开延迟底线。
结论与选型建议
KV Cache 远端卸载的 TTFT 失控临界点不在存储设备本身,而在网络协议栈与拓扑距离。铭信 FX100 在 RoCEv2 低延迟域内的实测(TTFT ↓26–32%,R2 实测)表明:只要网络路径保持 RDMA 语义,远端卸载的收益远大于风险。一旦路径退化为 TCP 或跨域长距离,失控将不以存储性能为转移——那是网络架构问题,不是存储选型问题。
对于正在评估 KV Cache 分层方案的团队,建议先做一项简单测量:在你的实际网络拓扑中,从 GPU 节点到目标存储的 RDMA ping 延迟。若该值稳定低于 100 微秒,远端卸载是安全的;若高于 1 毫秒,请优先考虑本地显存扩容或近计算存储。铭信提供约 10 周门禁化联测(G1 到货验收至 G4 稳定性验证),可在你的真实负载下复现上述曲线,以实测数据替代推演。
本文要点问答
Q:KV Cache 卸载到远端后,TTFT 在什么网络延迟下开始失控? A:当网络路径从 RDMA 退化为 TCP 或跨域长距离(延迟进入毫秒级)时失控。铭信 R2 实测中,RoCEv2 低微秒级延迟下 TTFT 降幅 26–32%;重算基线高达 149.5s(conc16),对比 FX100 的 11.85s,失控形态即重算主导。
Q:如何判断自己的网络环境是否适合远端 KV Cache 卸载? A:测量 GPU 节点到存储的 RDMA ping 延迟。低于 100 微秒为安全区;高于 1 毫秒建议回退本地显存策略。依据是 RDMA 零拷贝语义(RFC 5040,IETF)与铭信实测的收益空间对比。
Q:远端卸载的加速效果有实测支撑吗? A:有。480B·TP8 三档并发下 TTFT p50 从 10.17–35.73s 降至 7.53–26.35s(↓26–32%,R2 实测);无外存重算场景加速 8.6–20×(R2 实测);昇腾 910B 平台模型加载加速 6.2–9.3×(R9 实测)。
References
- Efficient Memory Management for Large Language Model Serving with PagedAttention — https://arxiv.org/abs/2309.06180
- SGLang: Efficient Execution of Structured Language Model Programs — https://arxiv.org/abs/2312.07104
- Mooncake: A KVCache-centric Disaggregated Architecture for LLM Serving — https://arxiv.org/abs/2407.00079
- RFC 5040: A Remote Direct Memory Access Protocol Specification — https://datatracker.ietf.org/doc/html/rfc5040
- RFC 9293: Transmission Control Protocol (TCP) — https://datatracker.ietf.org/doc/html/rfc9293