Autellix 占据 agent serving 调度 的中心位置——它首次将 OS 级进程调度思想(Least Attained Service)提升到 agentic program 级别,攻击 program-level HoL blocking。以下 8 篇论文从不同视角与之交叉:
所有相关工作中,只有 Autellix 识别并形式化了 program-level HoL blocking——长 program 的新 LLM call 在 MLFQ 中进入最高优先级队列,反复挤占短 program。PLAS/ATLAS 的 key insight 是新 call 必须继承 program 累计 service 而非从零开始 [2502.13965]。Continuum 虽然也做 program-level 调度(program-level FCFS),但其调度目标不同——Continuum 用 FCFS 近似 SRTF [2511.02230],Autellix 用 cumulative attained service 做 non-clairvoyant 最优。
Continuum 明确指出 Autellix 使用 end-of-turn eviction,忽略了 KV cache 在 tool call 间隙的保留价值 [2511.02230]。Autellix 的 locality-aware load balancer 追求 intra-program cache locality(长 call 路由到 primary engine),但不解决 inter-turn KV 驱逐问题。SideQuest 和 Agent Memory 从不同角度(语义 eviction、持久化)填补这一空白。
Autellix 将 tool call 视为 external interrupt,不对其建模或优化。PASTE 的 profiling 证明 tool 执行占 E2E 延迟 35–61% [2603.18897],CPU-Centric Perspective 进一步证明 CPU 工具处理最高占 88% [2511.00739]。Autellix 的 4–15× throughput 提升来自纯调度优化;如果叠加 PASTE 的投机执行或 COMB 的 CPU-GPU 重叠,端到端改善空间更大。
ATLAS 用 $\max s_i$(critical path)而非 $\sum s_i$ 作为多线程 program 优先级 [2502.13965]。这避免了高并行度 program(如数十线程 MCTS)被 sum 过度惩罚。相关工作中无人做过等价设计:Continuum 不支持多线程 program(仅 ReAct 单线程),SGH 在 agent runtime 层做并行而非 serving 层,PASTE 的投机执行是 per-call 级别不涉及 program 结构。
Autellix 是唯一将 LAS 的 DHR 分布 optimality 理论与 agent serving 联系起来的工作 [2502.13965]。Fig. 18 量化了 non-clairvoyant 调度与最优 SRPT 之间的 gap。其他工作要么不提供理论连接(Continuum、PASTE),要么提供不同类型的理论(SGH 的 bounded termination 证明)。
Autellix 反复引用 SGLang 作为 predecessor(有 prefix caching 和 program-level constructs),却未将其作为 baseline 评测 [2502.13965]。SGLang 的 RadixAttention tree-based caching 与 Autellix 的 session-based routing 可能有复杂交互——SGLang 可能已隐式捕获部分 intra-program locality,削弱 Autellix 的增量贡献。
PLAS/ATLAS 的理论优越性依赖工作负载服从 DHR(Decreasing Hazard Rate)分布——即 Pareto/log-normal 类重尾分布 [2502.13965]。论文使用 synthetic workloads 基于 real trace distributions(ShareGPT/LMSYS-Chat-1M),但未 formal 验证这些分布是否满足 DHR 条件。如果实际 production workload 是 bounded/uniform 分布,LAS 的 optimality 不成立。
Continuum 的实测数据显示即使 CPU offloading 使 KV reload 近乎免费,scheduling bubbles 仍占总延迟 58.2% [2511.02230]。Autellix 的 PLAS/ATLAS 调度虽改善 program-level 排序,但不解决 tool call 返回后的排队问题——因为 Autellix 在 tool call 间隙已 evict KV cache,returning program 必须重新排队等待 GPU 空间。
矛盾根源: Autellix 将 program latency 分解为 wait time + execution time + interrupts,将 interrupt(tool call)视为不可优化的外部因素。Continuum 证明 interrupt 返回后的 re-queueing delay 是一个独立的、可通过 KV retention 消除的瓶颈。二者在各自框架内都正确,但 Autellix 的 latency decomposition 遗漏了这一项。
论文未提供 public repository [2502.13965]。核心修改涉及 vLLM scheduler 的 queue assignment 逻辑(新 call 按 program cumulative service 分配初始队列而非 $Q_1$),以及 batched KV-cache swap 优化。缺乏代码使独立验证困难,且无法确认 18× swap reduction 的实现细节。
Anti-starvation 阈值 $\beta$ 的有效范围(wait/service ratio 3–7)完全基于经验 [2502.13965]。不同 workload 分布下 $\beta$ 的最优值可能差异显著,论文未提供自适应机制或理论推导。
Autellix(2025-02)是 agent serving 调度范式的开山之作。在它之前,LLM serving 系统(vLLM、SGLang、FastServe)将每个 LLM call 视为独立请求,完全无视 program-level context。Autellix 首次论证了"program 是一等公民"的 serving 理念,其 process table + stateful session 设计成为后续工作的共同参照。
Autellix 开创了两个被后续工作继承的设计模式:
Autellix 的 PLAS/ATLAS 调度与 Continuum 的 KV cache TTL 分别攻击 scheduling priority 和 cache retention,但从未被联合设计。一个自然的组合:用 program cumulative service 决定 call 优先级(PLAS/ATLAS),同时用 cost-benefit model 决定 KV cache 保留时间(TTL)。TTL 决策可以反馈到调度——high-TTL program 的 returning call 无需排队,低 TTL program 的 call 需要重新 prefill 因此应获得更高优先级补偿。
PASTE 证明了 tool 调用是可预测的(27.8% Top-1, 93.8% overall hit rate)[2603.18897]。Autellix 可以利用 tool call 的预测信息做更好的调度:如果 predictor 认为当前 program 的 tool call 很快返回(如 file read),可以 pin 其 KV cache 而非 evict;如果 tool call 预计很慢(如 web fetch),可以 evict 并 deprioritize。这将 Autellix 的 scheduling 从 reactive(基于过去 service)转向 proactive(基于预测 future)。
Autellix 只调度 GPU-side LLM calls。CPU-Centric Perspective 证明 CPU 工具执行占 E2E 延迟高达 88% [2511.00739]。一个统一的 CPU-GPU co-scheduler 可以同时感知 LLM call 的 GPU 调度状态和 tool execution 的 CPU 调度状态,在 tool 执行期间释放 GPU 给其他 program 的 LLM calls,tool 返回时恢复优先级——将 COMB 的 CPU-GPU 重叠理念提升到 program-level。
SideQuest 证明 LRM 自身可以做 KV cache 的语义 eviction(56–65% token 降幅)[2602.22603],但其 eviction 决策与 serving-layer 调度无关。一个层次化设计:SideQuest 在 engine 内部做 intra-program 的语义 eviction(淘汰过期 tool response),Autellix 在 engine 间做 inter-program 的 priority scheduling(决定哪个 program 的 call 先执行),二者通过 eviction 释放的显存反馈到调度——更多空闲显存允许更大 batch size,更大 batch 进一步改善 program throughput。
Agent Memory 证明了 Q4 KV cache 持久化在边缘设备上的可行性(4× agent 容量,PPL 影响 <3%)[2603.04428]。Autellix 的 PLAS/ATLAS 算法轻量(仅需 process table 查表),可以移植到边缘设备上管理多 agent 的 KV cache 调度——用 program cumulative service 决定哪个 agent 的 cache 应被 evict 到 SSD,哪个应驻留内存。结合 Agent Memory 的虚拟内存类比(block pool = page table,SSD = swap),形成边缘级 agent serving scheduler。