Observation, Not Prediction: Conversation-Level Disaggregated Scheduling for Agentic Serving

agent 2606.01839 — Cross-paper Synthesis

ConServe (2606.01839) — Cross-Paper Synthesis (L3) #

Mode A per-paper synthesis. Target: ConServe, conversation-level disaggregated scheduling for agentic serving. Peers: PPD (2603.13358), DynaServe (2504.09285), Continuum (2511.02230), Autellix (2502.13965), HexAGenT (2605.16637), Sutradhara (2601.12967), MFS (2603.17456).

相关论文 #

ConServe 的核心命题是"提升调度单元 (scheduling unit) 到 conversation 级,把 turn 级的

不可观测性 (decode 长度、tool 行为、KV 增长) 折叠成可观测的两阶段结构"

[2606.01839]。据此,七篇 peer 沿三条轴与它相关:

(1) 同一战场 · 直接前身 baseline — PPD 与 AMPD 家族。

PPD (2603.13358) 与 ConServe 争的是完全同一块地:multi-turn PD 分离下 turn 2+ 请求

"本地 append-prefill vs 远程 full prefill"的路由决策。PPD 把它形式化为一个 offline-

profiled 打分函数 $S(\psi;\pi,\mathbf w)=w_{\text{ttft}}\Delta_{\text{ttft}}-w_{\text{tpot}}\Delta_{\text{tpot}}$,

在线用 lookup table 在 <1ms 内决定路由 [2603.13358]。ConServe 明确把

PPD 归为 "per-turn lookup-table routing" 的 baseline,且在 §2.2 指出 PPD 的表以 output

length 为索引维度之一,而 output length 在 arrival 时不可知 [2606.01839]

两者共享 "not all prefills are equal / append-prefill 干扰极低" 这一微观观察——PPD 实测

append-prefill 仅 +2% TPOT vs full prefill +48% [2603.13358],ConServe 用

prefix-cache-hit 后 turn 2+ prefill 塌缩到近常数 ~27ms 表达同一事实

[2606.01839]。因此 PPD 是 ConServe 最贴近的"反命题":同样的观察,PPD 保留

turn 单元并动态路由,ConServe 抬高单元并固定本地策略。

(2) 弹性分离范式 — DynaServe。

DynaServe (2504.09285) 提出 micro-request 抽象,可在任意 token 边界把请求切成 α/β 两段,

用全局二分搜索 + 本地 SLO-aware batching 把 colocation 与 disaggregation 统一为一个执行

空间的特例 [2504.09285][2504.09285]。它与 ConServe

共享 "PD 分离的静态角色分配不适配动态负载" 的痛点,但 DynaServe 仍是单轮 (single-turn)

goodput 优化,且明确依赖 output-length 预测 (虽声称对误差鲁棒)

[2504.09285]。这正是 ConServe 想消除的那类预测。

(3) Agentic 运行时调度 — Continuum / Autellix / HexAGenT / Sutradhara。

这四篇都识别到 "agentic workload 的价值单元不是单次 call" 而向 application/program/

conversation 级调度靠拢,但各自锁定 conversation 生命周期里的不同环节:

ConServe 自己在 related work 里把这一族概括为"在一个 physical placement 已固定的

conversation 内 caching / overlapping / ordering",而它补的是那唯一没人做的一步——

placement 决策本身 (turn-1 prefill 在哪跑、KV 何时传、哪个 decoder 持有整条 tail)

[2606.01839]

(4) 网络层 · 异构 tier 的邻居 — MFS。

MFS (2603.17456) 关注 disaggregated MoE serving 中三阶段通信 (KV reuse / collective /

P2D) 的网络争用,用 Reverse-MLFQ 的 Defer-and-Promote 近似 Least-Laxity-First

[2603.17456][2603.17456]。它与 ConServe 只在

"KV 传输代价"这一点相交:ConServe 论证 agentic 场景 KV-transfer 是线性且被二次 prefill

淹没,故"只传一次"就够 [2606.01839];而 MFS 的整篇价值都建立在传输争用是

主瓶颈。两者是互补而非竞争 (见 §生态位)。


本篇 vs 相关论文的 delta #

Delta 1 — 单元的高度:把预测问题变成读状态问题 (对 PPD/AMPD 的根本 delta)。

PPD 和 ConServe 面对同一决策,但 PPD 在 turn 单元内求解最优路由分数

[2603.13358],ConServe 则论证"预测的必要性是被单元强加的,不是负载本身"

[2606.01839]。这不是"更好的预测器 vs 更差的预测器",而是

"要不要预测"。最尖锐的证据是 ConServe 的 Fig 12 案例:AMPD 在 0% wrong-prediction rate 下

精确退化为 ConServe,而误判率每升一点 SLO 违规与能效线性劣化

[2606.01839]。换言之 per-turn baseline 的最优情形恰好就是 ConServe 的

固定策略——这把 per-turn 预测框成"被严格支配"的方案。PPD 自己的数据其实预示了这点:它承认

在 agentic 短 append 场景下 per-turn 决策"退化为固定本地策略",只是 PPD 没有据此抬高单元。

Delta 2 — increment vs 新范式:相对 DynaServe。

DynaServe 的 delta 是"分割粒度"(任意 token 边界),仍在 request/turn 语义内做更细的负载

均衡 [2504.09285];ConServe 的 delta 是"分割语义"(conversation

= 一次 compute-bound + 一条 memory-bound tail)。DynaServe 追求 goodput 在动态 PD 失衡下

最大化并依赖 output-length 预测 [2504.09285];ConServe 反而**故意制造

失衡**——过量配置 decoder 让 prefiller 成为瓶颈,因为瓶颈侧的信号 (input-token rate) 可观测

[2606.01839]。这是一个方向相反的设计哲学:DynaServe 消除瓶颈,ConServe

选择瓶颈。

Delta 3 — placement vs intra-conversation 优化:相对 Continuum/Autellix/Sutradhara。

这三篇优化的都是"conversation 已被放置之后"的事:Continuum 决定 KV 在 GPU 显存里留多久

[2511.02230],Autellix 决定 program 的 call 排队顺序

[2502.13965],Sutradhara 决定 tool 与 prefill 如何重叠

[2601.12967]。ConServe 的 delta 是正交且更靠前的一层——它先决定

conversation 落在哪个 decoder 并 pin 住,之后这三者才有作用对象。ConServe 明确声称与这条线

orthogonal 而非替代 [2606.01839]。值得注意:ConServe 的 TTFET 与 Continuum 的

JCT、Sutradhara 的 final-answer latency 是同一类 conversation-level 指标,说明"用户价值单元

= conversation"这一认识已是这批 2025-2026 工作的共识,ConServe 的独特处在于把它落到 placement。

Delta 4 — 异构/能效作为推论 vs 作为核心目标:相对 HexAGenT。

HexAGenT 与 ConServe 都做异构 P-D 集群调度,但 HexAGenT 把异构 placement 当成一等公民,用

projected scaled-SLO risk 联合枚举 P-D pair 并需要 output-length 预测 $\widehat L_{\text{out}}$

[2605.16637]。ConServe 则宣称异构映射"by construction 免费得来"——同样两个

可观测信号在同构/异构下不变,phase split 天然把 compute-bound turn-1 映到高功率卡、memory-

bound tail 映到低功率卡,能效 +22.75% 是副产品 [2606.01839]

潜在矛盾根源:HexAGenT 的异构收益在同构集群下也有 (它自证 ordering 本身是主要收益来源,

Req99 同构下仍降 33-37% [2605.16637]),而 ConServe 把异构收益说成 phase-

split 的直接推论。二者对"异构收益从何而来"的归因不同:HexAGenT 归给 workflow-aware ordering

+ placement 的联合优化,ConServe 归给 phase 的物理性质 (memory-bound tail 吃得下 power cap)。

两者在各自实验里都成立,但作用的负载不同——HexAGenT 是多 workflow 混合的 tail SLO,ConServe 是

单模型 agentic trace 的能效,不能直接互证。

Delta 5 — 无学习模型 vs 有 profiling/预测。

一个横向 delta:ConServe 全程不预测任何 decode 侧量,只读 offline prefill 曲线 + live KV

occupancy [2606.01839]。而 peers 几乎都带某种预测/profiling:PPD 的 offline

table [2603.13358]、DynaServe 的 execution predictor + output-length 预测

[2504.09285]、HexAGenT 的 $\widehat L_{\text{out}}$、Continuum 的

tool-duration CDF 估计 [2511.02230]。ConServe 的极简是它的卖点,也是它的

攻击面 (见下)。


可攻击面 #

攻击 1 — "prefiller 恒为瓶颈" 依赖一个脆弱的负载假设。

ConServe 的整个可观测性论证建立在"过量配置 decoder → prefiller 先饱和"上,provisioning

规则要求 $N$ 严格超过 throughput 与 memory 两个约束 $N T_d\ge R L_d$、$N B\ge R W$

[2606.01839]。但这两个约束的右端含 $L_d$ (decoder 处理的 per-conversation

token 量) 和 $W$ (含 tool-call 的 wall-clock 寿命),二者恰恰依赖 decode 长度和 tool 行为——

即 ConServe 声称不可观测的量。论文用"平均值"回避:15k input + 1k output → 1.67 decoders,取

3。可一旦 conversation 长度分布重尾 (long-tail),平均值配置会让 decoder 侧先饱和,瓶颈移到

不可观测的一侧,ConServe 声称消除的预测问题从后门回来。这正是 Continuum 反复强调的重尾

问题——它实测 cd 工具最慢 10% 占 94.1% 总延迟 [2511.02230],暗示 agentic

寿命 $W$ 的重尾极端。ConServe 的 L2 自己在实现细节里承认这个 slack 是"故意的",丢了它就

"悄悄把瓶颈移到不可观测的 decoder 侧" [2606.01839]——等于承认攻击成立,只是赌平均场景。

攻击 2 — "conversation 恒为两阶段" 是被 workload 挑选出来的。

ConServe 的两阶段折叠依赖"turn-1 是数万 token 的重 prefill,turn 2+ append 只有数百 token"

[2606.01839]。这在 SWE-bench/swe-agent trace 上成立,但 Autellix

明确覆盖了 MCTS 树搜索、Map-Reduce fan-out 等 program 形态 [2502.13965],

HexAGenT 也把 bounded self-refinement、parallel fan-out 列为一等 workflow [2605.16637]

在这些非线性 DAG 里,一个 conversation 可能有多个重 prefill 节点 (每个并行分支都带长 context),

"一次 compute-bound + 一条 memory-bound tail" 的假设直接破裂——ConServe 的"pin 到单个 decoder"

会成为 fan-out 分支的串行瓶颈。ConServe 的普适性主张 ("qualitative observations hold broadly")

未在树/图状 agent 上验证,这是可攻击的过度概括。

攻击 3 — 极小 served model 掩盖了 KV 压力,可能高估可观测性。

ConServe 刻意用 Qwen3-0.6B 服务 (trace 却由 30B 生成),理由是留足 KV 显存 headroom

[2606.01839]。但"least-KV-occupancy binding"这一核心机制的价值恰恰在 KV

紧张时才显现;在 0.6B + A40 的宽松显存下,几乎任何 binding 策略都不会 OOM,memory 约束 (eq 2)

从不 binding。这使 ConServe 的可观测性优势在真实的大模型 + 紧显存场景下未经检验。相较之下

Continuum/Sutradhara 都在 8-14B+ 上验证 KV thrashing [2601.12967],ConServe

的 0.6B 设置削弱了它对"KV occupancy 是充分调度信号"的证据强度。

攻击 4 — AMPD baseline 是模拟重建,51% 数字的公平性存疑。

ConServe 承认 AMPD 的双向 KV 传输"无法在合理时间内实现",改用模拟延迟 + stall + offline

后处理,并固定 10% 误判率 [2606.01839]。头条数字 p95 TTFET −51.08% 完全建立

在这个重建 baseline 上。由于 Fig 12 显示劣化对误判率线性敏感,10% 这个选取点直接决定了 51%

的量级——换 5% 就只有个位数 SLO 违规。这不是说结论错,而是头条数字对一个"作者自选、自实现"

的 baseline 参数高度敏感,削弱了 51% 的说服力。

攻击 5 — last-turn TBT 的诚实亏损可能在长 tail 放大。

ConServe 自曝 last-turn TBT 输给 Full Disagg (2.49× vs 1.35× baseline,高 91.85%)

[2606.01839],辩称被 TTFET/E2E 收益淹没。但对"最后一轮才是用户可见输出"的

agentic 场景,last-turn 的逐 token 延迟恰恰是用户真正盯着看的流式体验。ConServe 用 3 个

decoder (vs Collocated 的 4) 换来更少的 aggregate memory bandwidth,这在超长 conversation

(Continuum 的 50 turn 场景 [2511.02230]) 下 TBT 亏损会随 KV 累积单调放大,

而论文只测到 1.634 conv/s 的有限 trace。


生态位 #

范式定位:ConServe 是"scheduling unit 上移"这条主线在 placement 维度的收尾之作。

2025-2026 的 agentic serving 有一条清晰的 unit-raising 主线:Autellix 从 request 抬到

program [2502.13965],HexAGenT 抬到 workflow DAG [2605.16637],

Continuum/Sutradhara 抬到 conversation 生命周期 [2511.02230][2601.12967]

ConServe 处在这条线的一个特殊生态位:它不争 ordering (Autellix)、不争 cache 保留

(Continuum)、不争 overlap (Sutradhara)、不争 tail-SLO risk 排序 (HexAGenT),而是占住了

"physical placement 决策" 这个所有其他工作都假设为已完成的前置动作。ConServe 自己精准地

把生态位描述为"orthogonal:它先放置,别人在它放好的 conversation 内做优化"

[2606.01839]。这是一个真实的空白——related work 里列的 InferCept/Continuum/

KVFlow/Autellix 没有一个决定 "turn-1 prefill 在哪跑、KV 何时传"。

与经典 PD 分离的关系:ConServe 是 DistServe/Splitwise 抽象在 conversation 尺度的重演。

ConServe 反复强调它"restore the original prefill-decode abstraction but at conversation-

level granularity" [2606.01839]。这是一个聪明的定位:它不发明

新机制,而是把已被广泛接受的 PD 分离思想 (一次 compute-bound + 一次 memory-bound + 一次 KV

传输) 从 single-turn 平移到 multi-turn。这种"平移而非发明"降低了采用门槛——它跑在 vLLM +

LMCache 上,不需要新 kernel、不需要学习模型。

采用证据与成熟度:偏学术、单机、极小模型,采用信号弱。

从 L2 证据看,ConServe 停留在 4×A40 单机、Qwen3-0.6B、SWE-bench trace 的研究原型,未开源代码、

未声明生产部署 [2606.01839]。这与 peers 的成熟度谱系一致:PPD/

DynaServe/Autellix/HexAGenT 也大多未 upstream [2603.13358]。唯一有公开代码的是

Continuum (github vllm-continuum) [2511.02230],Sutradhara 出自 Microsoft

Research 面向 M365 生产 [2601.12967]。因此在这个生态里,ConServe 的贡献是

概念性的 (placement 应 reactive 而非 predictive) 而非工程落地的。它的正确"下游"是把

placement 层与 Continuum 的 TTL 层、Autellix 的 ordering 层、MFS 的传输调度层组合成一个完整

栈——这些工作在 physical placement 上互不冲突,理论上可叠加。

与 MFS 的互补生态位。

MFS 处在网络传输调度层 [2603.17456],ConServe 处在 conversation placement 层。

ConServe 的"只传一次 KV"恰好减少了 MFS 要调度的 P2D flow 数量,而 MFS 能优化 ConServe 那唯一

一次 turn-1 KV 传输的争用。二者是垂直堆叠关系,不是替代——这是 ConServe 生态位"正交性"的又一

实例。


未探索方向 #

方向 1 — 混合单元:conversation 级 placement + turn 级微调整的 hybrid。

ConServe 的固定 pin 与 PPD 的动态路由是两个极端。攻击 1/2 指出 pin 在重尾寿命和 fan-out DAG 下

会失效。一个未探索的 hybrid:默认 conversation 级 pin (吃 ConServe 的可观测性),但在 decoder KV

occupancy 越过阈值时允许一次性 re-bind (借 DynaServe 的弹性 [2504.09285]

Autellix 的 anti-starvation 思路 [2502.13965])。关键问题:能否用

ConServe 的同一个可观测信号 (KV occupancy) 触发 re-bind,而不引入 decode 预测?这是"reactive

migration"——比 ConServe 的"never migrate"更鲁棒,又不退回 PPD 的"per-turn predict"。

方向 2 — adaptive 过量配置:让 $N$ 随观测到的寿命分布自调。

ConServe 静态取 $N=3$ 基于平均值 [2606.01839]。未探索的是:用 live KV occupancy

的历史分布 (它已经在测) 动态调整 decoder 数,把 eq (1)(2) 的 provisioning 从"按均值一次算"变成

"按观测分位数在线扩缩"。这天然衔接 Continuum 的 tool-duration CDF 估计

[2511.02230] 和 BlitzScale/TokenScale 类弹性 autoscaling——但 ConServe 强调

它的信号已经足够 autoscale,只是没做重尾感知的 provisioning。

方向 3 — 非线性 agentic 拓扑上的 phase-split 推广。

把 ConServe 的两阶段模型推广到 Autellix/HexAGenT 覆盖的树/fan-out workflow

[2502.13965][2605.16637]:一个 workflow 可能有多个

compute-bound 节点 (每个并行分支一个),自然的推广是"每个重 prefill 分支各自 pin 一个 decoder,

join 时再合并 KV"。这需要回答 join 处的 KV 合并/传输代价——恰好是 MFS 擅长的多流传输调度

[2603.17456]。ConServe × HexAGenT × MFS 的三方组合是一个明显的开放空间。

方向 4 — placement 层与 intra-conversation 优化层的联合验证。

生态位分析指出 ConServe 与 Continuum/Sutradhara 正交且可叠加,但没有任何工作实测过叠加收益。

未探索:ConServe 的 placement + Continuum 的 TTL + Sutradhara 的 prompt-split overlap 三层同时

开启,收益是相加、相乘还是相互抵消?例如 ConServe 的"pin 到 least-KV decoder"可能与 Continuum

的"pin KV in TTL window" [2511.02230] 争抢同一块显存预算——两个都想占住 KV 的

机制放一起是否冲突,是一个具体且技术上可做的实验。

方向 5 — 真实大模型 + 紧显存下重测可观测性充分性。

攻击 3 指出 0.6B 设置未检验 memory 约束 binding。一个直接的未探索实验:在 14-70B 模型 + 紧显存

下重跑 ConServe,验证"least-KV-occupancy" 是否仍是充分的 binding 信号,还是需要引入 Sutradhara

式的语义 KV 标签 [2601.12967] 或 Continuum 式的 TTL 驱逐来防止 tail

conversation 撑爆单个 decoder。这将检验 ConServe 的极简策略在真实压力下的边界。