vLLM + RDMA+ Mooncake+ Mooncake Store

以 Mooncake 作为 vLLM 的 KVCache 传输与缓存后端,实现 PD 分离推理

vLLM 负责推理计算,Mooncake 通过 RDMA 提供 KVCache 跨实例传输与共享存储

✓ 高吞吐跨实例 KVCache 共享✓ vLLM 官方原生集成

方案简介

以 Mooncake 作为 vLLM 的 KVCache 传输与缓存后端,实现 PD 分离推理。vLLM 负责推理计算,Mooncake 通过 RDMA 提供 KVCache 跨实例传输与共享存储

亮点与能力

  • 高吞吐的分布式 KVCache 引擎,为 vLLM 推理加速
  • 跨实例 KV cache 共享,节省内存并避免重复计算
  • 以 KV Connector 形式直接集成进 vLLM v1,用于 PD 分离部署
  • 支持 vLLM-Omni 的 MooncakeStoreConnectorMooncakeTransferEngineConnector 两种连接器,服务多节点全模态流水线
  • 可作为 vLLM Ascend 的分布式 KV cache 池后端
  • 通过 RDMA 实现高效数据传输

组成与分工

  • Mooncake Transfer Engine:以 KV Connector 身份直接集成到 vLLM v1,承担 KVCache 的跨节点传输,PD 分离场景下把 Prefill 产生的 KV 缓存高效送往 Decode 节点
  • Mooncake Store:分布式 KVCache 引擎/缓存池后端,提供高吞吐、省内存、跨实例的 KV cache 共享
  • vLLM:LLM 推理引擎,负责实际的模型推理计算,通过连接器接入 Mooncake 的传输与缓存能力
  • vLLM Ascend:vLLM 的昇腾版本,可使用 Mooncake Store 作为其分布式 KV cache 池后端

实施步骤

1. 获取 Mooncake Transfer Engine

项目在 PyPI 上发布了针对不同硬件平台的分发版本,可按 CUDA 版本、NPU、ROCm 等选择对应包(如 mooncake-transfer-enginemooncake-transfer-engine-cuda13mooncake-transfer-engine-npu 等),也可使用 Docker 镜像 kvcacheai/mooncake。

2. 在 vLLM 中启用 Mooncake Connector

Mooncake Transfer Engine 已直接集成进 vLLM v1,作为 KV Connector 使用;vLLM 官方文档提供 mooncake_connector_usage 用法说明。对于 vLLM-Omni 全模态流水线,可在 disaggregated inference connectors 中选择 MooncakeStoreConnectorMooncakeTransferEngineConnector

3. 验证

通过 vLLM 官方博客对 Mooncake Store 的深入介绍可了解其如何以高吞吐、跨实例 KV cache 共享增强 vLLM 推理;在 PD 分离部署下观察 KV 缓存传输是否正常即可确认集成成功。

注意事项与常见问题

  • 在真实工作负载下,Mooncake 的创新架构使 Kimi 在满足 SLO 的前提下多处理 75% 的请求,说明该架构的收益以遵守 SLO 为前提。
  • PyPI 分发包按硬件平台细分(CUDA <=12.9、CUDA 13.0/13.1、Non-CUDA、NPU、MUSA、EFA、ROCm),安装时需按自身硬件选择正确版本。

优缺点

  • ✓ 高吞吐跨实例 KVCache 共享
  • ✓ vLLM 官方原生集成

出处

本方案挖掘自开源项目 kvcache-ai/Mooncake,方案内容与实施命令均来自其 README 原文。

方案出处
kvcache-ai/Mooncake:Mooncake is the serving platform for Kimi, a leading LLM service provided by Moo
6517 star Mooncake is the serving platform for Kimi, a leading LLM service provided by Moonshot AI.

本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。