1. 从系统缺口到可证伪命题

研究议题至少要能回答八个问题:公开证据是什么,证据不能证明什么,假设如何被证伪,与谁比较,改变哪些自变量,测量哪些指标,哪些语义不变量不可破坏,最终贡献是否超出一次工程调参。统一实验基础沿用上一章:锁定 commit 与模型 revision,先通过质量门,再以相同请求轨迹比较阶段时间线、TTFT、TTFA、JCT、RTF、jitter、失败率、资源和能耗。

设一次请求形成有向无环图 \(G=(V,E)\),阶段 \(v\in V\) 的排队和服务时间分别为 \(W_v,S_v\)。对于流式边,首包路径和完整作业路径可能不同;研究不能只优化总和 \(\sum_v S_v\),还要控制首个可消费输出的关键路径、分叉后的 join 等待和系统内在途字节数。以下“潜在贡献”只有在跨模型、跨负载、跨拓扑验证并保持不变量后才能成立。

2. 缺口一:从阶段局部调度到 DAG 关键路径调度

证据。 vLLM-Omni 论文和架构文档把模型表示为 stage graph,并为每个 stage 配置独立 execution engine 与 batching。SGLang-Omni 官方仓库同样强调 stage-specialized scheduling;issue #1131 在一个 Qwen3-Omni speech 配置中记录并发 8 后吞吐不再扩展,观测到 Talker 约 1.54 s、Code2Wav 约 1.27 s、Thinker 约 0.48 s,且指出 Code2Wav 的串行执行、阻塞 D2H 和缺少跨请求批处理。

事实边界。 独立 engine 不证明实现没有任何全局路由、准入或流控;单个 issue 的阶段耗时也只属于其 commit、模型、硬件与配置。尚未公开证明的是:现有协调策略距在线 DAG 关键路径最优有多远。

可检验假设。 使用剩余关键路径、deadline slack、下游队列和预计 fan-out 的全局优先级,在总 GPU 预算不变时,可降低 p99 TTFA/JCT 和 join wait,同时保持吞吐与质量。一个候选优先级可写为 \(p_r=\alpha L_r+\beta Q_{\mathrm{down}}+\gamma F_r-\eta B_r\),其中 \(L_r\) 是请求剩余关键路径估计,\(Q_{\mathrm{down}}\) 是下游拥塞,\(F_r\) 是 deadline 紧迫度,\(B_r\) 是已获服务量。

基线。 当前 stage-local 策略、静态 stage replica、仅按最老请求优先、仅按队列深度启发式,以及能够看到未来轨迹的离线 oracle。自变量。 Poisson/突发/会话波次、长短请求混合、模态 DAG、chunk 大小、GPU 数、阶段副本和 deadline。指标。 TTFA/JCT p50–p99、每阶段 \(W_v\)、join wait、batch fill、GPU idle、SLO 达成率、公平 slowdown 和能耗。

不变量。 流内块顺序不变,输出质量等价,无低优先级永久饥饿,取消到达所有后代,内存有界。潜在贡献。 一个面向多模态 DAG 的在线调度目标、可实现的跨阶段控制平面,以及带竞争分析或 trace-driven regret 的评测方法,而不是只为单模型手调副本数。

3. 缺口二:跨阶段闭环背压与 credit 协议

证据。 多阶段系统把可变大小的 embedding、hidden state、音频块与图像数据经 SHM、Ray、Mooncake、NCCL 或 NIXL 传递。vLLM-Omni issue #1951 指出当时请求级输入假设与增量输入存在张力;issue #5349 记录 v0.24 某流窗口配置下已关闭的静音停滞。SGLang-Omni issue #1236 的自适应 Code2Wav 方案把 queue depth、oldest wait、arrival rate、GPU busy 和 TTFA 列为调度信号。

事实边界。 #5349 是特定旧版本路径的故障线索,不是当前发布存在同一 bug 的证据;#1236 是计划/讨论,不代表功能已经实现。公开材料没有给出一个跨 connector、跨阶段、跨取消路径统一的 credit 语义。

可检验假设。 以字节与可消费 chunk 为单位、由请求生命周期拥有的闭环 credit,比固定队列长度或无界 push 更能同时降低高水位内存、p99 jitter 和 silent hang。credit 只有在下游接管或显式丢弃后返还;deadline 与取消沿反向控制边传播。

基线。 无界队列、固定 item-count 队列、固定 byte-count 队列、TCP 式 AIMD credit、基于下游服务率的模型预测 credit。自变量。 chunk 字节、消费者暂停、上下游速率比、突发、丢 ack、worker kill、跨节点 RTT 和队列上限。指标。 in-flight bytes、峰值 RSS/显存、credit 泄漏、TTFA、jitter、吞吐、取消清理时间和 liveness 失败。

不变量。 每份 credit 恰好释放一次,内存不超过声明上限,已接受请求最终完成或显式报错,取消后无不可见计算,重连不重复提交输出。潜在贡献。 与传输后端无关的背压状态机、可模型检查的生命周期协议,以及把调度与内存风险统一起来的稳定性条件,例如各阶段长期有效到达率满足 \(\lambda_v<\mu_v\)。

4. 缺口三:AR、Talker、Decoder 与 Vocoder 的批处理失配

证据。 vLLM-Omni 论文指出 Talker 会产生更多音频 token,并展示分阶段 engine;SGLang-Omni #1131 的具体配置显示 Code2Wav 串行和阻塞拷贝可限制并发扩展。多阶段图中的 AR 阶段按 token 迭代,decoder/vocoder 往往按固定或半固定 chunk 工作,天然拥有不同的最优 batch 粒度。

事实边界。 不能从一个 Qwen3-Omni issue 推断所有模型都由 vocoder 主导,也不能把论文某一实验中的阶段比例当作普遍常数。待验证问题是跨阶段 batch 边界是否制造气泡、重批处理开销和首包延迟。

可检验假设。 允许“细粒度首包 + 稳态合批”的双模式策略,并用预测输出长度在阶段边界重组 microbatch,可在质量不变时提升设备利用率,且不恶化 TTFA。基线。 每阶段独立 continuous batching、固定 batch、静态 chunk、仅按长度 bucket、跨阶段同一 batch。

自变量。 token/chunk 长度分布、batch timeout、最大 batch、D2H 是否异步、replica 数、短长请求比例。指标。 batch fill、重批等待、kernel 数、GPU busy、TTFA、RTF、jitter、吞吐与显存。不变量。 不跨请求混淆状态,采样参数不变,波形总样本正确,deadline 请求不被大 batch 无限等待。

潜在贡献。 异构阶段的联合 batching 理论、在线长度预测与可复用的 batch handoff API;若收益只来自特定 kernel 优化,则应诚实归类为实现优化而非通用调度结果。

5. 缺口四:Host Dispatch、Python 与 IPC 开销

证据。 SGLang-Omni #907 的官方 profiling 在 H100 上观察 ASR GPU 约 94.3% idle;降低 GPU 时钟只带来约 10% 吞吐损失,而把 host CPU 降到四分之一频率带来约 69% 损失。该 issue 对 ASR 给出了主机侧瓶颈的因果证据,对 TTS/VLM 只报告症状或观察。SGLang-Omni scheduler 源码还显示队列、线程与 executor 参与运行时组合,但源码结构本身不等于已测性能瓶颈。

事实边界。 94.3%、10% 和 69% 只属于 issue 的硬件、commit 与实验;不能推广到所有模型或 vLLM-Omni。可检验假设。 将高频 dispatch path 从 Python 对象编排改为批量描述符、持久化 device worker 或 compiled control path,可降低小阶段的 launch gap 和 CPU/GIL 等待,使吞吐对 CPU 频率不再高度敏感。

基线。 原始 Python runtime、批量 RPC、共享内存 ring、C++/Rust dispatcher、CUDA Graph/persistent kernel。自变量。 CPU 频率与核数、NUMA、请求大小、阶段数、batch、IPC 后端、GPU 时钟。指标。 CPU cycles/request、GIL/线程等待、context switch、syscall、kernel launch gap、GPU idle、吞吐、TTFA 和能耗。

不变量。 输出与错误语义相同,trace 顺序完整,取消/超时仍可抢占,控制路径不会绕过内存边界。潜在贡献。 一套能区分模型计算、host dispatch、IPC 与同步的因果 profiling 方法,以及对细粒度全模态 stage 的低开销控制平面。

6. 缺口五:KV、多模态特征、音频与会话状态的统一生命周期

证据。 vLLM-Omni 的 stage graph 在 encoder、Thinker、Talker、Code2wav 等阶段之间传递不同状态;论文讨论 encoder 融合/拆分与多模态缓存。vLLM-Omni full-duplex RFC #3745 对比请求级 runtime 与对话生命周期 KV。SGLang 官方 MOSS-TTS 博客描述持久 vocoder state,以维持流式生成的连续性。

事实边界。 RFC 是设计讨论,博客中的 MOSS 实现不证明所有 SGLang-Omni 模型采用相同状态模型。公开资料没有给出跨 KV、feature、waveform overlap、session 和 connector buffer 的统一 ownership 证明。

可检验假设。 将状态表示为带 owner、lease、generation、依赖边与回收证明的 typed object graph,可减少取消泄漏和重复搬运,并支持 conversation-lifetime 复用。基线。 各 stage 私有缓存、请求结束全释放、TTL/引用计数、集中 session store、显式 region/arena。

自变量。 会话轮数、空闲间隔、跨节点迁移、取消点、缓存压力、模态复用比例。指标。 cache hit、重复编码、bytes moved、峰值内存、泄漏、恢复时间、首轮/续轮 TTFA 和正确率。不变量。 租户隔离、generation 不混用、状态与模型 revision 匹配、释放不早于最后消费者、deadline 后最终回收。

潜在贡献。 面向全模态 DAG 的统一状态类型系统与生命周期协议,以及能验证“无 use-after-free、无跨会话污染、最终回收”的执行器接口。

7. 缺口六:拓扑感知放置、解耦与通信

证据。 vLLM-Omni 论文公开实验是在单服务器两张 80 GB 设备上,并主要给 connector 平均延迟;论文和文档支持 SHM、Ray、Mooncake 等 connector。SGLang-Omni 官方仓库列出 SHM、NCCL、NIXL、Mooncake relay,而 #862 多节点路线明确描述当时的单 host 边界、host staging、device-wide sync、通知别名和 ack timeout 等问题。

事实边界。 #862 是特定时间的路线描述;支持某个 backend 也不等于任意 stage graph 已具备端到端多节点效率与故障语义。可检验假设。 同时考虑计算、张量字节、首包路径、NUMA/NVLink/NIC 与故障域的 placement,比只按显存或平均 stage time 分配设备能降低尾延迟和传输能耗。

基线。 单机共置、手工 stage placement、按显存 first-fit、按平均负载均衡、最小割静态规划、在线迁移。自变量。 PCIe/NVLink/IB 拓扑、两至多节点、connector、张量大小、stage replicas、失败和带宽竞争。指标。 edge p50/p99、bytes copied、host staging、NIC/GPU link 利用率、JCT/TTFA、能耗和恢复时间。

不变量。 通信数据完整、顺序与幂等语义明确,故障域隔离,不因放置改变数值质量,节点丢失有显式终态。潜在贡献。 流式 DAG 的拓扑成本模型、联合 placement/replication 求解器和能用真实 connector trace 校准的在线策略。

8. 缺口七:多租户公平、隔离与服务等级

证据。 vLLM-Omni 论文和两边公开 benchmark 主要比较单一工作负载的性能与质量;公开评测没有形成统一的 tenant fairness、跨模态 interference 和 overload contract。缺少公开 benchmark 不是“生产系统没有限流”的证据,只说明研究比较缺少可复核口径。

事实边界。 仓库未公开的部署策略不可据此否定。研究问题应限定为:在共享 stage 和不同资源足迹下,如何提供可验证的隔离与 SLO。可检验假设。 以 dominant resource、remaining critical work 与租户权重联合记账,比入口 token bucket 或每阶段公平队列更能抑制跨模态 noisy neighbor。

基线。 FIFO、入口限流、weighted fair queue、每阶段 DRR、静态 GPU 切分/MIG、独占实例。自变量。 租户数、权重、模态、长短比例、突发、恶意慢消费者、优先级和负载错误估计。指标。 每租户 slowdown、Jain 指数、p99、拒绝率、SLO、资源份额、利用率和成本。

不变量。 租户数据与缓存隔离,权重单调性,无饥饿,准入决定可解释,失败租户不耗尽全局 credit。潜在贡献。 把异构阶段资源转成可累计“服务量”的公平模型,以及同时报告效率、隔离和尾延迟的标准多租户 workload。

9. 缺口八:故障容错、活性与恢复语义

证据。 vLLM-Omni #5488 描述 deferred CFG parent 在 companion 失败时可能缺少 deadline/终态的问题;PD disaggregation RFC #1188 把故障处理列为 MVP 边界;SGLang-Omni #862 讨论多节点 ack timeout。它们共同表明分叉、汇合与跨节点 transfer 需要显式终态,但每个 issue 都只适用于其上下文。

事实边界。 open issue 是待验证风险,不是生产事故统计;closed issue 也不证明所有相邻路径已解决。可检验假设。 为 DAG 中每个请求引入 epoch、deadline、父子引用、幂等输出序号和可持久化终态,可在 worker/connector 故障下保证 bounded recovery,并消除 silent hang。

基线。 fail-fast、入口重试、stage-local retry、全请求重放、checkpoint/lineage recovery。自变量。 worker kill、lost ack、重复消息、网络分区、下游崩溃、join 分支丢失、取消与恢复竞态。指标。 检测时间、恢复时间、重复计算/输出、成功率、泄漏、尾延迟和数据丢失。

不变量。 每个已接受请求最终成功或显式失败;客户端可见块不重复、不乱序;重试不跨租户或模型 generation;资源最终释放。潜在贡献。 一套全模态 stage graph 的失败代数、可执行状态机和系统化 fault-injection suite,可明确区分 exactly-once、at-least-once 与不可恢复边界。

10. 缺口九:Chunked Streaming 的波形与边界正确性

证据。 SGLang-Omni #1354 曾报告流式音频每个 chunk 丢失 555 个样本,之后关闭并标为修复;MOSS-TTS 博客强调持续 vocoder state 对无缝流式合成的重要性。vLLM-Omni 的流式设计则要求阶段输出在完整作业结束前被消费。

事实边界。 #1354 不证明当前 commit 仍丢样,也不证明其他 vocoder 具有同一 overlap 规则。它揭示的是 benchmark 若只测 RTF/TTFA,会遗漏逐块误差累积。可检验假设。 把 sample interval、overlap、state generation 和 finalization 纳入显式 chunk contract,并进行增量/离线差分,可在保持低 TTFA 时消除边界丢样、重复、click 和漂移。

基线。 直接拼接、固定 overlap-add、stateful vocoder、服务端完整生成后切块。自变量。 chunk 大小、采样率、声码器、停顿、取消点、网络重排、会话续接和动态 batch。指标。 总样本偏差、边界能量突变、STFT 差异、UTMOS、speaker similarity、jitter、TTFA 与 RTF。

不变量。 chunk 区间无缝覆盖且不重叠计数,单调序号,声明采样率一致,final chunk 唯一,取消后不发送残留状态。潜在贡献。 一个模型无关的流式媒体正确性规范、property-based 测试器和可用于 CI 的波形边界 oracle。

11. 缺口十:基线、质量与可复现性合同

证据。 vLLM-Omni 论文使用 vLLM 0.12.0、两张 80 GB 设备、24 CPU 核、192 GB 内存和数据集前 100 个查询;不同模型分别对比 Hugging Face offline、原始实现或 Diffusers,主要指标为 RTF/JCT/吞吐。当前 vLLM-Omni 发布已到 v0.26.0。两边官方 benchmark 覆盖若干性能与质量任务,但没有一份跨实现、跨版本、包含 raw stage trace、失败和能耗的统一合同。

事实边界。 论文实验在其设定下有效;版本变化不自动推翻论文,也不允许把论文中的 91.4% 等单项结果推广成通用收益。SGLang-Omni 没有可用于论文对论文比较的独立论文。可检验假设。 采用固定 revision、质量等价门、开放环到达、阶段事件 schema、完整失败分母和 paired bootstrap,会改变部分只看均值吞吐的系统排名,并显著缩小复现实验方差。

基线。 官方默认 benchmark、论文脚本复现、通用 LLM serving benchmark、本章统一合同。自变量。 commit、模型/data revision、并发/到达、缓存状态、拓扑、重复次数和探针。指标。 重现误差、A/A 噪声、质量门通过率、统计区间、配置完整度、失败覆盖和 artifact 可用性。

不变量。 相同输入与采样语义,相同硬件预算,所有尝试可追踪,质量失败不参与性能排名,图表可由公开原始数据重建。潜在贡献。 一个全模态推理的 MLPerf 风格开放规范、trace schema 与 reference harness,让后续调度研究不再各自选择有利口径。

12. 优先路线:调度与背压共同闭环

十项中最值得先做的不是孤立改一个 kernel,而是把缺口一和缺口二组合为一个控制问题:调度器决定“谁现在运行”,背压协议决定“系统还能接受和推进多少工作”。只有调度没有 credit,可能把高优先级请求推入已满的下游;只有 credit 没有 DAG 优先级,又可能稳定地维持一个尾延迟很差的队列。

第一阶段建立只读 shadow controller:从现有运行时采集每个 stage 的 ready queue、oldest wait、服务率、输出字节、关键路径估计和 credit,不改变决策。第二阶段离线重放,比较 stage-local、最老优先、关键路径 slack 与 oracle。第三阶段只控制 admission/credit;第四阶段再允许跨 stage 调整 batch、优先级和 replica。每一步都保留现有策略作为即时 fallback。

一个可验证的稳定性目标是:对每个阶段,长期流入工作量小于其可用服务能力,并且系统内总在途字节 \(B(t)\) 受配置上限 \(B_{\max}\) 约束,即 \(B(t)\le B_{\max}\)。性能目标再在这个可行域内最小化带权尾部 slowdown、TTFA 与 JCT。贡献成立需要至少覆盖一条线性语音图、一条 encoder 分叉图和一条带 join 的任意模态图,并在单机与跨节点各验证一次。

13. 十二周实验路线与停止条件

阶段产物继续条件
第 1–2 周固定两套 commit、质量集、事件 schema、A/A 与原始 traceA/A 方差小于预期收益;质量门稳定
第 3–4 周阶段服务率、关键路径、队列与字节流的 shadow profilertrace 能重建端到端时间且探针开销可界定
第 5–6 周离线 DAG scheduler、oracle 与 trace replay跨三类负载稳定改善尾部,而非只改善均值
第 7–8 周byte/chunk credit 状态机与 fault injection内存有界;取消、丢 ack、慢消费者均有终态
第 9–10 周在线联合控制、fallback、单机/多节点实验吞吐不显著回退,质量与公平不变量通过
第 11–12 周消融、能耗、复现包、第二环境重放收益超过 A/A 噪声,原始制品可独立生成图表

停止条件同样重要:若全局策略的收益在控制 batch/replica 后消失,就把贡献收缩为配置方法;若背压只减少内存却显著恶化 TTFA,就报告真实 Pareto 前沿;若结论依赖单一模型的固定阶段比例,就不能宣称通用 Omni scheduler。负结果应保留 trace 和被证伪假设。

14. 一手来源与 issue 使用边界