LMCache 专项:学习指南目录
白话导读:LMCache 专项资料的目录页,保留原教材的阅读顺序。
- 跨项目学习以统一计划为主,这里是单项目备选。
- KV 存储方向最该读的是 LMCache 内核、后端契约和联合链路。
直接从下方专题目录进入需要的章节。
这是 LMCache 专项资料的入口。如果你同时学几个项目,先按统一学习计划走,这里的内容作为深入 LMCache 时的补充。第一次接触 LMCache,先读LMCache 白话介绍。
适合谁:想做 LLM 推理基础设施、KV Cache 存储或数据传输的工程师。需要会 Python、基本 C++,懂操作系统和网络基础;不要求先读完 Transformer 论文。
目标:用 28 天、约 68 小时,从容量计算和缓存正确性入手,读懂 LMCache 的主路径,讲清它怎样和 Mooncake 配合,最后交出一份有实验依据的系统设计。
1. 对应的源码版本
资料在 2026-10-26 核对,对应的源码版本是:
- LMCache ff9185d419e1 (2026-10-23):以推荐的多进程(MP)独立服务模式为主。
- Mooncake dd1217b6c461 (2026-10-23):重点是 Store 与 Transfer Engine。
这些资料只对上面的提交负责,不代表任意 PyPI 版本都有同样的功能。两个常见的版本差异:旧文章里的 lmcache/v1/cache_engine.py,在现在的代码里搬到了 lmcache/inprocess/v1/cache_engine.py;MP 主线用的是另一套 server、module 和 StorageManager 接口。做实验前记下自己的提交、包版本和运行时,并看一遍兼容性说明。
阅读时注意区分三类内容:写了源码路径的,描述的是这个版本的实现;公式和取舍讨论是通用原理;明确标成“教学模型”“设计建议”的,不是 LMCache 已有的算法。没有注明实测的性能数字,都是带假设的估算。
2. 学什么,先学什么
| 优先级 | 模块 | 必须理解 | 可展示成果 |
|---|---|---|---|
| P0 | 推理与 KV 基础 | Prefill/Decode、MHA/GQA/MLA、容量、TTFT/ITL、前缀依赖 | 独立推导容量与传输下界 |
| P0 | LMCache 主路径 | Connector、lookup、prefetch、retrieve、store、会话与完成事件 | 不看资料画请求时序图 |
| P0 | KV 存储正确性 | key、layout、分片、staging、锁、淘汰、失败与回收 | 解释三种竞争条件和解决办法 |
| P0 | Mooncake 与网络 | Master/Client/Transfer Engine、RDMA、注册内存、控制与数据路径 | 画出 LMCache + Mooncake 组合图 |
| P0 | 性能与系统设计 | 读取/重算盈亏、带宽预算、命中率口径、SLO、回源风暴 | 一份可复现实验或离线预算报告 |
| P1 | 分布式推理 | P/D 分离、TP 完整性、缓存感知路由、抢占恢复 | 设计跨节点共享缓存 |
| P1 | 高级复用 | CacheBlend、压缩、layerwise、混合注意力、滑窗与递归状态 | 说明适用条件及质量验证 |
| P2 | 专项深挖 | GDS/Device-DAX、多 L1、native adapter、PG/EP、调度策略扩展 | 选择一个方向做源码专题 |
“熟练掌握”是指五件事都做得到:讲得清概念、算得出数量级、找得到代码依据、举得出反例、能用实验分辨原因。只记住配置项,或者会背“RDMA 零拷贝”,都不算。
3. 怎么用这些资料
- 按计划深读:跟着专项计划走。先读KV 原理,再对照知识地图与时序图读源码。
- 没有 GPU:普通笔记本也能完成容量计算、前缀 hash、时延模型和源码练习;GPU 推理和 RDMA 实验需要 Linux 环境。没有硬件时,把结果写成“理论估算/未测”,不要编吞吐数据。
- 准备面试:先做面试问答的 Q1–Q40,再做系统设计里的容量和故障设计题。
- 已经熟悉 Mooncake:直接读LMCache 架构与源码主线,补上推理引擎和缓存之间的接口约定。