课程导入:学习目标、课程结构、vLLM调度器在LLM推理中的重要性

1.1 为什么调度器是vLLM的“心脏”

在大语言模型(LLM)推理服务中,GPU显存是稀缺资源,而请求的到达模式却高度动态——有的请求长、有的短,有的突发、有的平稳。如果缺乏一个精细的调度器,GPU显存会被低效占用,吞吐量急剧下降,甚至出现显存溢出(OOM)导致服务崩溃。vLLM之所以能在业界获得广泛认可,核心原因之一就是其PagedAttention与连续批处理(Continuous Batching)机制,而这两者的落地都依赖调度器对请求、KV Cache、执行序列的全局编排。

调度器决定了三个关键问题:哪些请求进入本轮执行?、每个请求分配多少显存?、当显存不足时如何抢占或淘汰?。这三个问题的答案直接决定了服务的吞吐量、延迟和稳定性。可以说,调度器是vLLM推理引擎中连接前端请求与后端GPU算力的“交通指挥中心”。

核心认知:调度器不是简单的“排队器”,而是一个在显存约束下做资源分配、优先级决策、抢占恢复的复杂系统。理解调度器,是理解vLLM性能优势的关键入口。
vLLM调度器在推理系统中的位置与作用 请求队列 Req A (高优先级) Req B (普通) Req C (普通) Req D (低优先级) Req E (等待中) vLLM 调度器 策略:优先级 + 连续批处理 决定本轮执行哪些请求 显存分配 为每个请求分配KV Cache块 抢占与淘汰 显存不足时挂起/恢复请求 核心数据结构 Waiting / Running / Swapped GPU 执行引擎 Batch 1 Req A + Req B Batch 2 Req C + Req D Batch 3 Req E (恢复) PagedAttention 显存管理 请求进入 执行批次 反馈:显存状态 / 请求完成 / 新请求到达 调度器是连接请求队列与GPU执行引擎的桥梁,其决策直接影响吞吐量、延迟与显存利用率

1.2 学习目标:学完本章你将掌握什么

本课程围绕vLLM调度器展开,共30个章节,从基础概念到源码级剖析,再到生产环境调优。完成本课程后,你将具备以下能力:

  • 理解调度器的核心职责:掌握Waiting、Running、Swapped三种队列的流转逻辑,以及调度器如何在这三者之间做决策。
  • 掌握优先级机制:理解vLLM中的优先级定义、抢占策略(Preemption)以及如何通过调度参数控制请求的公平性与优先级。
  • 深入源码实现:能够阅读并解释 scheduler.py 中的核心函数,如 _schedule_running、_schedule_swapped、_schedule_waiting 的执行流程。
  • 应对生产环境挑战:学会配置 max_num_seqs、max_num_batched_tokens、gpu_memory_utilization 等参数,避免显存碎片化和请求饥饿。
  • 诊断与调优:通过日志和监控指标(如 num_waiting_reqs、num_running_reqs)判断调度器瓶颈,并做出针对性优化。
学习建议:本课程包含大量源码分析和实验案例。建议在学习过程中同步打开vLLM源码(vllm/core/scheduler.py),边读边对照本课程的流程图和表格,效果最佳。

1.3 课程结构:从原理到实战的递进路径

课程分为五个模块,每个模块聚焦调度器的一个侧面,层层递进:

模块 章节范围 核心内容 学习产出
基础篇 第1-5章 调度器定位、PagedAttention、连续批处理、队列结构 建立调度器整体认知框架
原理篇 第6-12章 调度策略、优先级算法、抢占机制、显存管理 理解调度决策的底层逻辑
源码篇 第13-20章 scheduler.py逐行解析、SequenceGroup生命周期、多GPU调度 具备源码级阅读与修改能力
实战篇 第21-26章 参数调优、监控指标、性能对比、常见问题排查 能独立完成生产环境部署调优
进阶篇 第27-30章 与Ray集成、动态批处理、未来演进方向 把握调度器技术前沿

1.4 一个典型场景:为什么调度器决定服务质量

假设你部署了一个vLLM服务,同时收到以下请求:

  1. 一个来自在线客服的短查询(约50个token),要求低延迟;
  2. 一个来自离线分析任务的长文档摘要(约2000个token),对延迟不敏感;
  3. 三个中等长度的代码生成请求(约500个token)。

如果调度器不做优先级区分,按照先来先服务(FCFS)策略,长文档摘要可能占用大量显存和计算资源,导致在线客服请求排队等待,用户体验恶化。而vLLM调度器通过连续批处理,可以在长请求生成间隙插入短请求;通过优先级队列,可以让高优先级请求插队;通过抢占机制,在显存不足时挂起低优先级请求,保证关键请求的SLA。

常见误区:初学者常认为调度器只是“按顺序执行请求”。实际上,vLLM调度器是抢占式、动态、显存感知的调度器。它不仅要考虑请求的到达顺序,还要考虑每个请求的KV Cache占用、当前显存水位、优先级权重等多个维度。忽略这些因素,会导致吞吐量下降30%以上,甚至OOM崩溃。

1.5 本章小结与学习路径

本章作为课程导入,明确了调度器在vLLM中的核心地位——它是连接请求与GPU算力的决策中枢。我们梳理了课程的整体结构:从基础概念到源码剖析,再到生产调优,最终走向技术前沿。下一章将深入PagedAttention机制,这是理解调度器显存管理的前提。

在继续学习之前,请确保你已具备以下基础:

  • 了解Transformer模型的基本推理过程(prefill + decode);
  • 熟悉Python和基本的并发编程概念;
  • 对GPU显存管理有初步认识(如显存池、碎片化)。

准备好后,让我们正式进入vLLM调度器的技术世界。