NVMe-oF与RoCEv2推理存储实践要点
从KV Cache分层加速出发,梳理NVMe-oF与RoCEv2在推理存储场景的工程实践要点与选型判据。
NVMe-oF 与 RoCEv2 的组合正在成为大模型推理存储场景的主流选型之一,其工程价值在于把远端闪存的低时延与 GPU 直连数据通路结合起来,缓解 KV Cache 与模型权重读盘带来的性能瓶颈。铭信 FX100 在 480B 长上下文负载下的实测显示,KV 分层加速可带来 29–40% 的推理吞吐提升【R2/R3 实测】。本文从工程实践角度梳理这一技术路线的关键要点。
为什么推理场景需要关注 NVMe-oF 与 RoCEv2
大模型推理的存储瓶颈主要来自两个方向:一是 KV Cache 的容量与访存压力,二是模型权重与 Checkpoint 的加载带宽。据《Efficient Memory Management for Large Language Model Serving with PagedAttention》,KV Cache 的分页管理能有效缓解显存碎片问题,但并未解决 KV 数据在显存与外部存储之间搬移的通路效率问题。NVMe-oF(NVMe over Fabrics)的价值在于把 NVMe 命令集扩展到网络传输,使远端 SSD 对主机表现为本地 NVMe 设备;RoCEv2 则提供低时延的 RDMA 传输能力。据 RFC 5040 对 RDMA 协议的规范定义,RDMA 允许数据在网卡与内存之间直接传输,绕过 CPU 参与数据拷贝——这一语义边界决定了 RoCEv2 在存储数据通路中的适用位置。
铭信在 R1 实测中观察到,LMCache 并行读补丁配合 FX100 后,单卡并发 16 的冷读盘场景下 TTFT 从 37.97s 降至 9.30s,带宽从 0.98 GB/s 提升至 5.23 GB/s【R1 实测】。这一改善的机制基础正是 NVMe-oF 提供的低时延远端读路径——若数据通路仍经过 CPU 拷贝,带宽与时延的改善幅度会显著收窄。
数据通路设计:GPU 直连与 CPU 旁路
推理存储场景中,数据通路的效率决定存储加速的天花板。据 NVIDIA GPUDirect Storage 文档,GPU 直连存储允许数据在存储与 GPU 显存之间直接传输,绕过 CPU 的 bounce buffer,从而降低时延并减少 CPU 占用。这一机制与 NVMe-oF 的 RDMA 语义天然互补:RoCEv2 网卡直接访问远端 SSD 数据,再经 GPUDirect 路径送入显存,整条链路避免多次内存拷贝。
工程实践中的关键参数包括:网卡与 GPU 的拓扑亲和性(PCIe switch 的分配方式)、RoCEv2 的 PFC 与 ECN 流控配置、以及 NVMe-oF 的队列深度设置。铭信 R2 实测平台采用 8 × AMD MI308X 与单口 100 GbE RoCEv2 配置,在 480B·TP8 三档并发下测得 TTFT p50 从 10.17–35.73s 降至 7.53–26.35s【R2 实测】。这一结果的前提是存储阵列与计算节点之间的网络路径无拥塞丢包——RoCEv2 对丢包极其敏感,任何丢包都会触发重传并导致时延急剧恶化。
KV Cache 分层:缓存策略与存储介质的匹配
KV Cache 分层加速的核心思路是把热数据留在显存、温数据放在本地或远端存储,冷数据从存储侧按需加载。据《SGLang: Efficient Execution of Structured Language Model Programs》,RadixAttention 通过前缀树复用机制提升多轮对话与共享前缀场景的缓存命中率——这为 KV 分层提供了命中率来源层面的设计依据。铭信的 KV 分层方案则把分层粒度推进到存储侧:远端 NVMe-oF 阵列作为 KV 的温层载体,与 LMCache 的缓存管理协同工作。
工程要点在于缓存策略与存储介质的匹配。KV 分层的粒度(按 token、按层、按序列)直接影响读放大系数;存储侧的预取策略需要与推理引擎的调度器协同,否则会出现频繁的缺页式读盘。铭信 R3 实测在 480B·TP4×2 全机口径下测得吞吐提升 35–36%【R3 实测】,这一结果对应的配置是 FX100 全闪 NVMe-oF 阵列(4 盘 RAID0,14 TB,XFS 文件系统)配合 LMCache 上游主线源码编译版本。需要指出的是,这一收益的边界条件是长上下文冷恢复负载——短上下文或高命中率场景下,存储侧加速的贡献占比会下降。
选型判据与不确定性
| 对比维度 | 本地 NVMe 单盘 | NVMe-oF + RoCEv2 阵列 | 出处 |
|---|---|---|---|
| 无外存重算加速倍数 | 1×(基线) | 8.6–20× | R2 实测 |
| 重算基线 TTFT p50(conc16) | 149.5s | 11.85s(FX100) | R2 实测 |
| 吞吐(conc16) | 4.1 tok/s | 74.9 tok/s | R2 实测 |
| 模型加载(vs NFS,昇腾平台) | — | 6.2–9.3× | R9 实测 |
选型时需先明确约束条件:SLA 对 TTFT 的要求、并发形态(长上下文多实例还是短请求高并发)、以及存储预算。NVMe-oF 阵列的优势在长上下文、低命中率、需要快速加载大权重或 Checkpoint 的场景中更显著;若负载以短上下文为主且 KV 命中率高,本地 NVMe 可能已足够。据 MLPerf Inference 的公开基准口径,推理性能的比较须在固定精度与时延约束下进行——跨平台、跨负载形态的对比数字若无实测支撑,不应作为选型依据。铭信 FX100 的实测数据均来自自有平台(AMD MI308X ×8 + ROCm 7.2 + vLLM 0.20.1),跨平台表现需在联测中验证。
结语
NVMe-oF 与 RoCEv2 的工程价值在于为 KV Cache 分层与模型加载提供低时延、高带宽的远端存储通路,但其收益高度依赖负载形态与数据通路配置。铭信提供约 10 周的门禁化联测流程(G1 到货验收至 G4 72 小时稳定性),可在不达标即止损的框架下验证存储加速方案在自有负载上的实际收益。
本文要点问答
Q:NVMe-oF 与 RoCEv2 在推理存储中的核心价值是什么? A:提供低时延、高带宽的远端存储通路,使 KV Cache 分层与模型加载可借助远端闪存扩展容量,同时保持接近本地盘的访问性能。
Q:KV 分层加速的实测收益有多大? A:铭信 FX100 在 480B 长上下文冷恢复负载下测得推理吞吐提升 29–40%,TTFT 降低 26–32%【R2/R3 实测】;收益边界是长上下文低命中率场景。
Q:选型时应优先关注哪些约束? A:先定 SLA 对 TTFT 的要求与并发形态,再评估存储预算;跨平台对比须以公开基准(如 MLPerf)口径为准,铭信实测仅覆盖自有平台。
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
- NVIDIA GPUDirect Storage Documentation — https://docs.nvidia.com/gpudirect-storage/index.html
- RFC 5040: A Remote Direct Memory Access Protocol Specification — https://datatracker.ietf.org/doc/html/rfc5040
- MLPerf Inference: Datacenter Benchmark Suite Results — https://mlcommons.org/benchmarks/inference-datacenter/