第 12 课:Prefill 与 Decode (PD) 物理分离:架构权衡、KV 传输与分层存储
本课目标与通过标准
本课产出:掌握大语言模型推理集群中 Prefill 与 Decode 物理分离(PD Disaggregation) 的系统设计思想与落地细节。能够从硬件 Roofline 差异推导分离的根本动力,建立基于 SLO(TTFT 与 ITL)的 Goodput 优化模型,掌握跨节点 RDMA 零拷贝 KV Cache 传输与基于 DeviceMesh / TP 转换的 Resharding 机制,深入分析 Mooncake 与 LMCache 的分层存储架构。
通过要求:唯一代码填空题通过全部断言;Q1~Q3 沿真实的系统组件、网络协议栈与内存对象给出因果链;能指出一个正确性不变量、一个网络性能瓶颈和一个必须依赖在线测试才能确认的工程权衡;总分至少 8/10。
源码版本与阅读方法
本课程使用固定 commit 的永久链接保证行号可复现,同时链接 current docs 供核对最新变化。阅读时先建立控制流与数据流分离的心智模型,再深入具体传输通道:
| 顺序 | 核心文件与模块 | 带着什么问题读 |
|---|---|---|
| 1 | vLLM vllm/distributed/kv_transfer/kv_connector/(KV connector 抽象层与实现) |
Prefill 节点与 Decode 节点之间如何通过统一抽象传递 KV 张量元数据? |
| 2 | SGLang python/sglang/srt/disaggregation/(PD 分离的 prefill/decode 调度) |
请求在调度器层面如何被路由到 Prefill 集群并在完成后移交 Decode 集群? |
| 3 | Mooncake 仓库 kvcache-ai/Mooncake 的 transfer engine(C++ 传输栈) |
内存池(DRAM/HBM)如何通过 RDMA 与 GPUDirect 绕过 CPU 拷贝直接打通? |
| 4 | LMCache lmcache/inprocess/v1/storage_backend/(本地与远端存储后端) |
跨节点的 Prefix Cache 与历史会话 KV 如何在 HBM、本地 DRAM、远端存储池间流动? |
| 5 | DistServe 仓库 distserve/(放置与并行度联合搜索) |
Prefill 节点与 Decode 节点的 TP / PP 并行度和机器比例如何通过混合整数规划联合求解? |
版本基准:vLLM 8e958902eee5、SGLang 9deb6952afa4(核验时的仓库提交,2026-08-12);论文 Mooncake arXiv:2407.00079。
🔒 VIP 专享:本课核心机制、推导、代码题与参考答案已锁定
本课剩余部分(核心心智模型、数值推导、代码填空题、问答题与完整参考答案)为 VIP 内容。同一张密钥可解锁全部 VIP 内容:题库、速查表、系统设计案例与全部付费课程。