Mooncake:它是什么、解决了什么问题以及为何受到关注

Mooncake:它是什么、解决了什么问题以及为何受到关注

它解决了什么

Mooncake 通过将 prefill 与 decoding 集群分离(PD 解耦),解决了传统 LLM 服务的低效问题。它通过创建一个解耦的 KVCache 池,解决了硬件资源(CPU、DRAM、SSD)利用率低下的难题,从而在长上下文场景下实现更高的吞吐量和更好的内存效率,传统方法往往难以满足延迟服务等级目标(SLO)。

工作原理

Mooncake 实现了以 KVCache 为中心的架构,围绕三个主要组件构建:

  1. Transfer Engine(TE): 一个高性能数据传输框架,提供统一接口用于在不同存储和网络环境之间移动张量。它使用 RDMA、拓扑感知路由以及多 NIC 带宽聚合,实现的传输速度远快于标准 TCP。
  2. Mooncake Store: 基于 Transfer Engine 构建的分布式键值缓存存储引擎。它在集群之间管理可复用的 KV 缓存和模型权重,采用多层层次结构(DRAM 与 SSD/NVMe),并提供独立于引擎重启的弹性存储。
  3. Mooncake EP 与 Process Group(PG): 这两个组件扩展系统以支持大规模 Mixture‑of‑Experts(MoE)推理,提供容错的专家并行调度,并实现兼容 PyTorch 的分布式进程组后端,能够在节点失效时恢复而无需重启整个服务。

适用对象

Mooncake 面向大规模 LLM 服务的开发者和运维人员(例如 Kimi),以及推理引擎维护者(如 vLLM、SGLang、TensorRT‑LLM),帮助他们在高流量、长上下文的 AI 应用中最大化吞吐量和资源利用率。

亮点

  • 高性能传输: 在 8×400 Gbps RoCE 网络中实现最高 190 GB/s 带宽,远快于 TCP。
  • PD 解耦: 将 prefill 与 decoding 解耦,以优化资源使用和吞吐量。
  • 多层存储: 利用 DRAM 与 SSD/NVMe 构建大规模、弹性的 KVCache 池。
  • 容错 MoE: 支持专家并行推理,能够在节点失效时绕路,保持服务可用性。
  • 广泛生态集成: 已集成到 vLLM、SGLang、TensorRT‑LLM 以及 PyTorch 生态系统中。

Sources