LLM Infer Infra 学习资料库

Mooncake 专项:28 天计划

白话导读:Mooncake 单项目的 28 天计划:从 Attention 到 Store/TE 源码,再到集成与故障设计。

  • 优先执行全库统一计划。
  • 时间不够时按文中建议裁剪:保留核心公式、Store/TE 主路径、一条集成路线和一份设计报告;不要舍弃正确性、性能基线和失败分析。

文末有最终能力评分表,可用于自评。

这是 Mooncake 单项目深读计划。跨 vLLM、SGLang、LMCache、Mooncake 学习时,优先执行全库统一计划,用本表补充专项任务,避免重复安排公共基础。

学习前提与时间

默认已有 Python、基本 C++、Linux 进程/线程和网络基础,知道 Transformer 的基本结构。工作日每天 2 小时,周末每天 4 小时,四周共 4 × (5 × 2 + 2 × 4) = 72 小时。

每天按“概念 30 分钟、源码/实验 60 分钟、闭卷输出 30 分钟”组织。周末增加实验、复盘和面试演练。若某项基础薄弱,把当天进阶部分换成补课,不延长到一个月之外。

优先级:

第一周:从 Attention 到可计算的缓存模型

天 时间 学习任务 必须交付
D1 2h 阅读总览和知识地图;区分论文系统与开源组件;了解 TTFT、ITL、goodput 一张包含 vLLM/SGLang、LMCache、Store、TE 的职责图
D2 2h 推导 Q/K/V、causal attention;理解 Prefill/Decode、MHA/GQA/MQA/MLA 解释为什么缓存 K/V,为什么深层 KV 依赖整个前缀
D3 2h 计算 KV 容量、分页浪费和 TP 分片;完成实验 A 一个容量表,明确 GiB/GB、head 数、dtype 和 rank 假设
D4 2h 学习 PagedAttention、block table、引用计数、copy-on-write、前缀哈希 画出两个请求共享前缀、尾部独立写入的物理块图
D5 2h 学习 HBM/DRAM/SSD 层级与 break-even;分析命中率指标 三个“远端命中却不值得拉取”的场景
D6 4h 阅读 FAST '25 论文的问题、架构、调度与评估;阅读当前架构文档 两页笔记:瓶颈、设计、证据、适用条件;不混用论文版本数字
D7 4h 做面试 Q1–Q12;完成周验收;有 Linux 时准备 TCP 环境 10 分钟闭卷讲解和错题表

第一周验收:

  1. 对 L=32, Hkv=8, d=128, BF16, S=8192 算出每 token 128 KiB、每请求 1 GiB KV。
  2. 说明 TP=8 时每 rank 128 MiB 的前提,并指出 Hkv < TP 时可能复制。
  3. 给出前缀缓存键的必要语义字段,而非仅对当前 chunk 文本求哈希。
  4. 区分 token 命中率、请求命中率和真正减少的计算时间。

若答不出,优先补 KV 基础,暂缓 RDMA 细节。

第二周:沿 Mooncake 数据路径读源码

天 时间 学习任务 必须交付
D8 2h 阅读 Store API 和元数据设计;理解 Master、Client、segment、replica 标清控制面与数据面的部署图
D9 2h 追踪 Client::Put → PutStart → TransferWrite → PutEnd/PutRevoke 带源文件和关键函数的写时序图
D10 2h 追踪 Client::Get、副本查询、租约与校验;阅读相关测试 解释“网络读成功但 Get 仍失败”的两个原因
D11 2h 阅读放置策略、回收、soft/hard pin、客户端资源贡献 内存满时的决策表;识别 segment 与故障域的区别
D12 2h 阅读 TE API、memory registration、batch、slice、完成语义 画出缓冲区从分配到安全释放的生命周期
D13 4h 完成 Linux TCP 实验 B;读批操作与内存注册;有 RDMA 则做双节点基线 可复现命令、配置、校验结果及时间统计
D14 4h 故障与租约实验;复习 Q13–Q27;讲解源码 一次失败路径报告和 15 分钟讲解

第二周验收:

第三周:LMCache、HiCache 与真实推理

天 时间 学习任务 必须交付
D15 2h 阅读 LMCache 架构、MP L1/L2 与旧模式;画数据所有权 两张架构图和版本矩阵
D16 2h 比较 vLLM 原生 Store Connector、TE Connector、LMCache Connector 按需求选型的决策表
D17 2h 阅读 SGLang HiCache 预取、写回、TP 同步与 page-first 布局 解释最短可用前缀如何在多 rank 间达成一致
D18 2h 学习 hash namespace、LoRA、多模态、KV dtype、TP 变化、租户隔离 一组共享/不共享兼容性用例
D19 2h 设计冷/热、local-only/remote-only/combined 的消融实验 固定变量与指标采样表
D20 4h 选择一条官方集成路径完成实验 D;做冷/热请求 配置、原始结果、正确性检查;无 GPU 时做策略模拟
D21 4h 诊断 TTFT 与 ITL;复习 Q28–Q39;梳理 CacheBlend 边界 一页“何时关闭远程缓存”的分析

第三周验收:

第四周:性能、容错与面试系统设计

天 时间 学习任务 必须交付
D22 2h 计算容量、带宽、元数据规模、复制写放大;看 Little 定律 一个完整容量规划表
D23 2h 分析热点、缓存击穿、准入、淘汰、cache-aware routing 有代价模型的策略草案
D24 2h 阅读 HA、快照/OpLog、client liveness;设计丢节点恢复与降级 故障矩阵:发现、隔离、重试、重算、恢复
D25 2h 复习分位延迟、到达模型、过载与 goodput;完成 Q40–Q50 30 分钟模拟面试录音
D26 2h 浏览 TENT、Store-RS、Conductor、EP/PG;梳理未来学习路径 能说清每个组件的职责与主线边界
D27 4h 整理毕业项目:设计图、配置、实验、失败案例与结论 一份 6–10 页可复现报告
D28 4h 两轮模拟面试;闭卷画架构/读写/PD 图;按评分表查漏补缺 最终报告、错题清零清单、后续改进优先级

预算不足时如何裁剪

每天只有 1 小时、周末每天 2 小时时,总共 36 小时。保留第一周核心公式、第二周 Store/TE 主路径、第三周一条集成路线、第四周一份设计报告;舍弃多种硬件、多个推理引擎和 P2P/EP 实操。

不要舍弃正确性、性能基线、一次失败分析和面试表达。只运行一个“hello world”不足以支持“熟悉分布式 KV Cache”的面试表述。

最终能力评分

每项按 0/1/2 分:0=只能复述名词,1=能解释正常流程,2=能推导并处理异常。

项目 2 分标准
KV 语义 解释前缀依赖、兼容性边界、非前缀复用代价
数量级 独立计算容量、网络、复制和元数据预算
Store 沿源码解释写提交、读租约、失败与回收
TE 解释注册、拓扑、异步完成、RDMA 与 GPU 同步
集成 画清 LMCache/HiCache/Store/推理引擎职责
评估 有消融、SLO、冷/热状态和尾延迟证据
容错 能设计失联、元数据过期、对象丢失的安全回退
表达 5 分钟说清一个方案和三个关键取舍

建议 13/16 分以上进入针对岗位的强化面试;正确性项不能为 0。没有真实 GPU/RDMA 实验时,项目经历明确写“设计/源码分析/TCP 验证”,不要描述成生产验证。

输入主题、术语或问题