Mooncake:面向大规模语言模型服务的分布式缓存架构
项目介绍
Mooncake 是一个基于键-值(KV)缓存的分布式架构,专为大规模语言模型(LLM)服务设计。它由Moonshot AI提供,为Kimi服务提供支持,Kimi是一种领先的LLM服务。Mooncake 通过其独特的架构,将预填充和解码集群分离,充分利用GPU集群中未被充分利用的CPU、DRAM和SSD资源,实现了一个高效的分布式缓存系统。
项目技术分析
Mooncake 的核心是一个KVCache-centric调度器,它负责在保证满足延迟相关的服务水平目标(SLOs)的同时,最大化整体有效吞吐量。与传统的假设所有请求都将被处理的研究不同,Mooncake 面临着高度过载场景的挑战。为了应对这些挑战,Mooncake 开发了一种基于预测的早期拒绝策略。实验表明,Mooncake 在长上下文场景中表现出色。与基线方法相比,Mooncake 在某些模拟场景下可以实现高达525%的吞吐量增加,同时遵守SLOs。在实际工作负载下,Mooncake 的创新架构使得Kimi能够处理更多的请求。
Mooncake 的架构包括以下几个关键组件:
- Transfer Engine:支持通过TCP、RDMA、基于NVIDIA GPUDirect的RDMA以及NVMe over Fabric(NVMe-of)协议进行快速、可靠且灵活的数据传输。
- P2P Store:基于Transfer Engine,支持在集群节点之间共享临时对象(例如检查点文件)。
- Mooncake Store:基于Transfer Engine,为LLM推理提供分布式池化KVCache存储引擎。
项目及技术应用场景
Mooncake 的设计目标是优化大规模语言模型服务,特别是在处理长上下文和高负载场景时。以下是几个具体的应用场景:
- 大规模语言模型推理:Mooncake Store 通过提供分布式KVCache,使得LLM推理过程更加高效,特别是在处理大型模型和复杂数据时。
- 数据共享与同步:P2P Store 支持在集群节点之间快速高效地共享数据,例如在模型训练过程中进行检查点同步。
- 高性能数据传输:Transfer Engine 提供了一种高效的数据传输方式,适合需要大量数据传输的场景,如大规模模型预加载。
项目特点
Mooncake 的特点体现在以下几个方面:
- 高度可扩展性:通过KVCache-centric架构,Mooncake 可以在高度过载的场景中提供高效的资源利用和吞吐量。
- 灵活的数据传输:Transfer Engine 支持多种协议,可以根据不同的网络环境和硬件条件选择最合适的数据传输方式。
- 优化的性能:通过使用RDMA等高级传输技术,Mooncake 在数据传输性能上具有显著优势,可以实现更高的带宽利用率和更低的延迟。
- 易于集成:Mooncake 的设计考虑了与其他系统的兼容性,可以轻松集成到现有的LLM服务中。
以下是Mooncake的性能示例:

Mooncake Transfer Engine 在4×200 Gbps和8×400 Gbps RoCE网络中,可以实现高达87 GB/s和190 GB/s的带宽,分别是TCP协议的2.4倍和4.6倍。
此外,Mooncake Store 和P2P Store 在数据传输和共享方面也表现出色,可以充分利用硬件带宽。

总结来说,Mooncake 通过其独特的架构和高度优化的数据传输机制,为大规模语言模型服务提供了一个高效、灵活且易于集成的解决方案。对于需要处理大量数据和高性能推理的服务提供商来说,Mooncake 是一个值得考虑的开源项目。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0458
源启盛夏_AtomGit暑期开发者成长计划「源启盛夏」暑期校园开发者成长计划旨在激活校园开源力量,通过积分激励、认证扶持、资源倾斜等形式,引导高校组织和开发者完成「入驻 — 建项目 — 做贡献 — 获认证 — 得资源」的完整闭环。无论你是想带领社团入驻平台的组织者,还是希望用代码贡献证明自己的开发者,都能在这里找到属于你的成长路径。Markdown01
jiuwenswarmJiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0787
VTJ.PRO以AI驱动的Vue3前端低代码开发工具。内置低代码引擎、渲染器和代码生成器,支持Vue源码与低代码DSL双向转换,面向前端开发者,开箱即用。 无缝嵌入本地开发工程,不改变前端开发流程和编码习惯。TypeScript05
AscendNPU-IRAscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优C++0316
OpenDeepWikiOpenDeepWiki 是 DeepWiki 项目的开源版本,旨在提供一个强大的知识管理和协作平台。该项目主要使用 C# 和 TypeScript 开发,支持模块化设计,易于扩展和定制。C#01