其他重要工作
3.5.1 DistServe PD: 分离架构的先驱
论文信息
- 标题:DistServe: Disaggregating Prefill and Decoding for Goodput-optimized LargeLanguage Model Serving
- 作者:Yinmin Zhong et al. (Peking University, StepFun, UCSD)
- 发表:arXiv 2024.01
- 代码:https://github.com/LLMServe/DistServe
核心思想
DistServe是首个系统性地研究PD分离架构的工作,与Mooncake有很多相似之处:
问题分析: 1. Prefill-Decode干扰:同GPU运行两个阶段相互影响 2. 资源分配耦合:无法为不同阶段配置最优的并行策略 3. 延迟SLO冲突:TTFT和TPOT难以同时满足
解决方案: 1. 物理分离:prefill和decode使用独立的GPU池 2. 独立优化:每阶段有自己的并行策略和资源分配 3. 带宽感知放置:根据集群网络拓扑优化KV Cache传输
关键创新
- Goodput优化目标
不同于传统的吞吐量优化,DistServe优化Goodput(满足延迟SLO的请求率):
\(Goodput = \frac{\text{满足SLO的请求数}}{\text{总GPU数} \times \text{时间}}\)
SLO 指的是 Service Level Objective(服务等级目标)—— 也就是你对每次推理请求约定的质量底线,最常见的是时延承诺。在 LLM 推理场景里,SLO 请求 = 带有 时延/吞吐约束 的推理请求
- 放置算法
给定TTFT和TPOT要求,DistServe搜索最优的:
- Prefill实例数、并行策略
- Decode实例数、并行策略
- 物理放置位置(最小化KV传输开销)
- Pull-based KV传输
Decode 实例按需从 prefill 实例拉取 KV Cache:
- Prefill 实例将 KV Cache 保留在 GPU 内存中
- Decode实例主动拉取,避免内存溢出
- 天然支持负载均衡
实验结果
| 模型 | 应用 | 基线 | DistServe | 提升 |
|---|---|---|---|---|
| OPT-13B | 聊天 | vLLM | DistServe | 2.0× |
| OPT-66B | 代码补全 | vLLM | DistServe | 5.7× |
| OPT-66B | 文档摘要 | vLLM | DistServe | 4.3× |
| OPT-175B | 聊天 | vLLM | DistServe | 4.6× |
SLO 收紧能力:DistServe可以支持12.6×更严格的延迟SLO。
DistServe vs Mooncake
| 特性 | DistServe | Mooncake |
|---|---|---|
| 发表时间 | 2024.01 | 2024.06 |
| 核心贡献 | PD分离的理论分析 | KV Cache中心架构 |
| KV Cache管理 | GPU间直接传输 | 全局分层存储池 |
| 调度粒度 | 实例级别 | 请求级别 |
| 生产部署 | 实验系统 | Kimi生产环境 |
| 开源程度 | 开源 | 开源(持续更新) |
关系:DistServe证明了PD分离的可行性,Mooncake在此基础上构建了完整的KV Cache中心架构。两者是同一技术路线的不同发展阶段。
3.5.2 LMCache:企业级KV Cache层
论文信息
- 标题:LMCache: An Efficient KV Cache Layer for Enterprise-Scale LLM Inference
- 作者:Yihua Cheng et al. (TensorMesh & University of Chicago)
- 发表:arXiv 2025.10
- 代码:https://github.com/LMCache/LMCache
核心思想
LMCache是首个开源的企业级KV Cache管理解决方案,定位与Mooncake Store相似:
设计目标: 1. 跨查询复用:支持prefix caching 2. 跨引擎复用:支持vLLM、SGLang等主流引擎 3. 分层存储:GPU → CPU → Disk → Remote 4. 高效传输:优化的KV Cache序列化和传输
架构设计
核心优化
- 可配置 Chunking
- 将小的 KV Cache页面( 16-64KB)聚合成更大的 chunk
- 默认 256tokens per chunk
- 减少I/O操作次数,提升带宽利用率
- 计算与I/O流水线
- 层级别并行:加载第N层KV时计算第N-1层
- 异步预取:利用队列空闲时间预加载KV
- 零拷贝操作
- 引用计数机制,避免数据复制
- 动态offload:根据内存压力选择性下沉
- 模块化Connector
- 与推理引擎解耦
- 支持快速适配新引擎
实验结果
| 场景 | 基线 | LMCache | 提升 |
|---|---|---|---|
| 多轮问答 | vLLM | LMCache | 15× |
| 文档分析 | vLLM | LMCache | 8-10× |
| PD分离 | vLLM | LMCache | 4-10× |
LMCache与Mooncake的关系
2025年5月,LMCache与Mooncake宣布联合:
"Mooncake x LMCache unite to pioneer KVCache-centric LLM serving system"
合作内容:
- LMCache支持Mooncake Store作为remote connector
- 双方共享KV Cache传输协议
- 共同推动KV Cache中心架构的行业标准