LLM Infer Infra 学习资料库

SGLang 专项:参考资料与最终验收

白话导读:SGLang 方向的阅读方法、论文与实验报告模板、最终交付和评分标准。

  • 实验报告按“问题与假设 → 环境 → 负载 → 配置 → 结果 → 正确性 → 局限”写。
  • 最终交付和五项口头验收可以直接当作面试准备清单。

实测步骤见实测与故障演练。

返回导航 · 学习计划 · 面试问答

1. 阅读方法

读论文先回答“问题是什么、优化了哪项成本、假设是什么、什么场景会失效”;读源码再确认“当前版本怎样实现、有哪些组合限制”。

论文、官方文档与本地源码可能属于不同时间点。涉及参数、默认值与支持矩阵时,优先核对实际执行版本。

以下链接来自前期官方资料检索与仓库引用;文档结构检查不等于对外部网站内容进行持续验证。

2. 推荐顺序

顺序 资料 阅读问题
1 SGLang 论文 多次生成调用为什么产生复用机会?RadixAttention 解决什么?
2 PagedAttention / vLLM 论文 动态 KV 如何减少碎片并支持共享?
3 SGLang Benchmark 与 Profiling Serving、offline、固定 batch 的测量边界?
4 Sarathi-Serve Chunked prefill 如何改变吞吐与延迟?
5 HiCache 系统设计 匹配、预取、回写和多 rank 同步如何配合?
6 HiCache 最佳实践 如何选择容量、预取和后端?
7 Mooncake 架构 TE、Store 与其他组件的职责边界?
8 Mooncake Transfer Engine Segment、注册内存和异步传输如何工作?
9 Mooncake Store 对象、元数据、副本和数据传输如何分离?
10 LMCache 集成 / Quickstart 当前 connector、服务模式与匹配版本?
11 LMCache Mooncake 后端 两个框架如何组合,RDMA 有何内存条件?
12 CacheBlend 非前缀复用为什么要处理计算依赖?
13 DistServe 如何围绕 Goodput 和 SLO 选择 PD 与资源?
14 Mooncake 论文 KV-centric 调度、资源池和过载控制如何协同?
15 SGLang PD 文档 论文思想在当前工程中的约束是什么?

补充官方入口:

3. 仓库内事实依据

主题 本地入口
缓存模块分层 mem_cache README
当前默认缓存构造 registry.py
Unified Cache 组件 组件说明
HiCache 层级与策略 设计文档
Mooncake 配置与持有者 接入说明
LMCache MP 使用方式 接入说明
LMCache 当前限制 kv_cache_hook.py
统一缓存 key hicache_key_scheme.py
PD 分配策略 PD 文档
Benchmark 测量边界 Benchmark 指南
测试组织 test README

4. 论文笔记模板

论文 / 版本:
问题:
基线:
主要瓶颈:
核心方法:
假设与适用范围:
正确性条件:
实验 workload:
指标与硬件:
主要结果:
潜在反例:
与当前 SGLang 源码的对应:
仍需自己验证的结论:

不要直接把论文中的峰值收益写成自己的实验结论。

5. 实验报告模板

5.1 问题与假设

描述一个可证伪的假设,例如:

在具有较长共享前缀的负载下,外部缓存加载的关键路径成本低于重算前缀的成本,从而改善 TTFT。

同时描述反例:低复用率、短输入、网络慢、并发争用或热点变化。

5.2 环境

项目 实际值
日期、操作者 待填写
SGLang commit / wheel 待填写
PyTorch、CUDA、driver 待填写
LMCache、Mooncake、Router 待填写
模型 ID、revision、dtype 待填写
GPU、CPU、RAM、NUMA 待填写
NIC、网络、传输后端 待填写
并行策略 待填写

5.3 Workload

5.4 配置

保留完整启动和压测命令,以及:

5.5 结果

配置 TTFT p50/p95/p99 ITL p95/p99 Output tok/s Goodput GPU/Host 内存 错误/拒绝
基线 待测 待测 待测 待测 待测 待测
实验组 待测 待测 待测 待测 待测 待测

补充缓存证据:

5.6 正确性

5.7 解释与局限

说明为什么指标变化,提供源码或 trace 证据。列出未覆盖的硬件、模型、负载和失败场景。

Profiler 有开销,正式性能结论应用非 profiling 运行确认。

6. 最终交付物

  1. 一张请求架构图和一张运行时序图。
  2. 一张 KV 索引、物理池与生命周期图。
  3. 一张 HiCache / Mooncake / LMCache 选型图。
  4. 一份容量与传输成本计算。
  5. 至少一份完整对照实验报告。
  6. 一份系统设计方案,包含 SLO、容量、路由、隔离与失败恢复。
  7. 一份能够口头讲述的源码路线。

7. 评分标准

维度 分值 达标表现
原理 20 解释 Prefill/Decode、性能模型和优化成本
源码 20 跟踪请求、调度、执行和缓存生命周期
实验 25 有控制变量、正确性、分位数指标与证据
KV 专题 20 容量、共享、分层、兼容性与传输判断准确
系统设计 15 方案包含资源模型、SLO、失败路径和取舍

建议总分达到 80,并且不能在正确性上存在关键误解,例如错误跨模型复用 KV、提前释放在途 buffer、把外部查询命中当作设备就绪。

8. 五项口头验收

9. 简历与面试表达

推荐:

针对某模型和指定工作负载,定位了某瓶颈,设计了某对照实验;在固定硬件与 SLO 下观察到实际变化,并分析了适用范围与退化条件。

填写实际数据,不使用没有运行过的百分比或倍数。不把“阅读过源码”“设计了方案”写成“上线过系统”。

10. 后续学习

完成首月后,按岗位选择一条深入:

输入主题、术语或问题