附录 A 推荐阅读路径
按「你想干什么」选择入口,而不是按目录顺序硬读。每条路径给出最小阅读集与对应源码文件。
路径一:快速理解整体(半天)
目标:建立能复述的心智模型。
- 第 1 章(定位与黄金路径图);
- 第 3 章(三进程拓扑);
- 第 6 章(调度循环四种动作);
- 对照源码通读
srt/managers/scheduler.py:1906–2082的两个事件循环。
路径二:核心机制深挖(三到五天)
目标:能沿调用链解释一次请求的每个跳转。
- 第 4、5 章(入口与 TokenizerManager);
- 第 7、8 章(PrefillAdder 预算与批张量化);
- 第 9 章(RadixCache 全生命周期),对照
srt/mem_cache/radix_cache.py:354–619; - 第 10、11、12 章(执行、采样、回程);
- 每章末「本章收束」作为自测清单。
路径三:调度与性能调优(两天)
目标:理解每个调优参数改了哪段代码的行为。
chunked_prefill_size/max_prefill_tokens→ 第 7 章(srt/arg_groups/fields/schedule.py:52与:71);schedule_policy(fcfs/lpm/hrrn…)→ 第 7 章policy.calc_priority;retraction_policy/schedule_conservativeness→ 第 6 章 retract 流程;stream_interval→ 第 12 章(srt/arg_groups/fields/serving.py:255);- overlap 调度 → 第 6 章 6.5 节的张量保全机制。
路径四:扩展开发(三天)
目标:为 SGLang 贡献一个后端/模型/策略。
- 注意力后端:第 10 章 +
srt/layers/attention/attention_registry.py(注册装饰器)与base_attn_backend.py(接口); - 前缀缓存变体:第 9 章 +
srt/mem_cache/base_prefix_cache.py(接口); - 模型接入:第 8 章(ForwardMode 与批张量约定)+
srt/models/现有实现; - 网关策略:第 15 章 +
sgl-model-gateway/src/policies/factory.rs。
路径五:生产运维(一天)
目标:知道系统在过载/故障下的行为边界。
- 第 6 章 6.3 节(retract:过载时先变慢不崩溃);
- 第 3 章 3.3 节(看门狗与失败传播);
- 第 12 章 12.6 节(输出侧已知竞态);
- 第 14 章(PD 分离的传输失败边界);
- 第 15 章(负载与 KV 事件的采集点,用于监控接入)。