# TBD

- [x] 如果 vLLM 启动超时（配置失败），直接放弃，而不是继续 trace-replay
- [x] 分析一些 config (-dcp/-pcp) 跑不起来的原因

- [ ] 总结之前工作的 trick，为他们的场景解决了什么问题，从而实现了 0 -> 1, 1 -> 100
- [ ] 开一个 paper repo

# Notes

```
Assertion failed, tensor parallel size 4 must be greater than total num kv heads 4 when enable decode context parallel for GQA/MQA [type=assertion_error, input_value=ArgsKwargs((), {'model_co...timizationLevel.O2: 2>}), input_type=ArgsKwargs]
  

ERROR 01-19 10:00:22 [multiproc_executor.py:231] Worker proc VllmWorker-3 died unexpectedly, shutting down executor.                 10:00:25 [21/1935]
(EngineCore_DP0 pid=3230802) Process EngineCore_DP0:             
(EngineCore_DP0 pid=3230802) Traceback (most recent call last): 
(EngineCore_DP0 pid=3230802)   File "/usr/lib/python3.12/multiprocessing/process.py", line 314, in _bootstrap                                                                
(EngineCore_DP0 pid=3230802)     self.run()                                               
(EngineCore_DP0 pid=3230802)   File "/usr/lib/python3.12/multiprocessing/process.py", line 108, in run                                                                              (EngineCore_DP0 pid=3230802)     self._target(*self._args, **self._kwargs)
(EngineCore_DP0 pid=3230802)   File "/mnt/debugger/wjh/auto-tuner/tuner/.venv/lib/python3.12/site-packages/vllm/v1/engine/core.py", line 940, in run_engine_core
(EngineCore_DP0 pid=3230802)     raise e                                                  
(EngineCore_DP0 pid=3230802)   File "/mnt/debugger/wjh/auto-tuner/tuner/.venv/lib/python3.12/site-packages/vllm/v1/engine/core.py", line 927, in run_engine_core
(EngineCore_DP0 pid=3230802)     engine_core = EngineCoreProc(*args, engine_index=dp_rank, **kwargs)
(EngineCore_DP0 pid=3230802)                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                         
(EngineCore_DP0 pid=3230802)   File "/mnt/debugger/wjh/auto-tuner/tuner/.venv/lib/python3.12/site-packages/vllm/v1/engine/core.py", line 692, in __init__
(EngineCore_DP0 pid=3230802)     super().__init__(                                                                                                                                  
(EngineCore_DP0 pid=3230802)   File "/mnt/debugger/wjh/auto-tuner/tuner/.venv/lib/python3.12/site-packages/vllm/v1/engine/core.py", line 113, in __init__
(EngineCore_DP0 pid=3230802)     num_gpu_blocks, num_cpu_blocks, kv_cache_config = self._initialize_kv_caches(             
(EngineCore_DP0 pid=3230802)                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=3230802)   File "/mnt/debugger/wjh/auto-tuner/tuner/.venv/lib/python3.12/site-packages/vllm/v1/engine/core.py", line 270, in _initialize_kv_caches
(EngineCore_DP0 pid=3230802)     self.model_executor.initialize_from_config(kv_cache_configs)                                
(EngineCore_DP0 pid=3230802)   File "/mnt/debugger/wjh/auto-tuner/tuner/.venv/lib/python3.12/site-packages/vllm/v1/executor/abstract.py", line 115, in initialize_from_config
(EngineCore_DP0 pid=3230802)     self.collective_rpc("initialize_from_config", args=(kv_cache_configs,))
(EngineCore_DP0 pid=3230802)   File "/mnt/debugger/wjh/auto-tuner/tuner/.venv/lib/python3.12/site-packages/vllm/v1/executor/multiproc_executor.py", line 359, in collective_rpc
(EngineCore_DP0 pid=3230802)     return aggregate(get_response())
(EngineCore_DP0 pid=3230802)                      ^^^^^^^^^^^^^^
(EngineCore_DP0 pid=3230802)   File "/mnt/debugger/wjh/auto-tuner/tuner/.venv/lib/python3.12/site-packages/vllm/v1/executor/multiproc_executor.py", line 342, in get_response
(EngineCore_DP0 pid=3230802)     raise RuntimeError(
(EngineCore_DP0 pid=3230802) RuntimeError: Worker failed with error 'PCP requires attention impls' support, but the impl FlashAttentionImpl does not support PCP.', please check the
 stack trace above for the root cause
```


## vLLM `serve` 性能相关 flags 总表（按类别聚合）

| 类别                                            | Flag（聚合）                                                                                                                                                                                                 | 主要影响点（性能/资源）                                                                                       | AITuner 里如何当成 search space                                    |
| --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| **Precision / Quantization / Graph**          | `--dtype`                                                                                                                                                                                                | 权重/激活精度直接决定吞吐与显存（FP16/BF16/FP32 等）。 ([vLLM][1])                                                    | **强推荐**作为离散选择（auto/float16/bfloat16/float32…），与硬件/模型强相关。      |
|                                               | `--quantization/-q`, `--allow-deprecated-quantization`                                                                                                                                                   | 量化方法决定算子实现、带宽/算力瓶颈与精度。 ([vLLM][1])                                                                 | **强推荐**离散选择；需与模型权重格式匹配（AWQ/GPTQ/…）。                           |
|                                               | `--enforce-eager/--no-enforce-eager`                                                                                                                                                                     | True 会禁用 CUDA graph（更灵活但通常更慢）；False 允许混合以取最大性能。 ([vLLM][1])                                        | **强推荐**二值 knob（尤其影响稳定吞吐与尾延迟）。                                 |
|                                               | `--compilation-config/-cc`                                                                                                                                                                               | `torch.compile` + cudagraph capture 细粒度配置（mode、capture sizes、backend 等），影响吞吐/稳定性/启动开销。 ([vLLM][1]) | **推荐**作为结构化 knob（可先只调 `mode` 与 `cudagraph_capture_sizes`）。    |
|                                               | `--optimization-level`                                                                                                                                                                                   | 用启动时间换性能（-O0…-O3，默认 O2）。 ([vLLM][1])                                                               | **推荐**小离散空间（0/1/2/3），尤其对服务长期运行场景。                             |
| **Model length / Attention behavior**         | `--max-model-len`                                                                                                                                                                                        | 直接决定 KV cache 上限与显存占用；过大导致 OOM/吞吐下降。支持 `auto`。 ([vLLM][1])                                         | **强推荐**作为核心连续/离散 knob（可按 workload 分布设上界）。                     |
|                                               | `--disable-sliding-window`                                                                                                                                                                               | 禁用滑窗（对支持滑窗的模型）会改变注意力范围/计算与显存。 ([vLLM][1])                                                          | **可选**二值 knob（依模型/正确性要求）。                                     |
|                                               | `--disable-cascade-attn`                                                                                                                                                                                 | 影响 v1 的 cascade attention 启用策略（通常用于数值问题规避；可能影响性能）。 ([vLLM][1])                                     | **可选**（一般不作为主要调参维度，除非你在做稳定性-性能权衡）。                            |
|                                               | `--attention-backend`                                                                                                                                                                                    | 强制 attention backend（默认自动选择）。 ([vLLM][1])                                                          | **推荐**离散 knob（不同 GPU/驱动/shape 下差异很大）。                         |
| **Parallelism topology**                      | `--tensor-parallel-size/-tp`, `--pipeline-parallel-size/-pp`                                                                                                                                             | TP/PP 改变通信/并行度/显存分片方式，是吞吐与尾延迟的关键结构性 knob。 ([vLLM][1])                                              | **强推荐**核心离散空间（受 GPU 数与模型结构约束）。                                |
|                                               | `--data-parallel-size/-dp`                                                                                                                                                                               | DP 复制模型以提升吞吐（服务侧并发/负载均衡关键）。 ([vLLM][1])                                                            | **强推荐**（常与外部 LB、KV 策略联动）。                                     |
|                                               | `--decode-context-parallel-size/-dcp`, `--prefill-context-parallel-size/-pcp`                                                                                                                            | 在不改变 world size 的前提下复用 TP GPUs 做 DCP/PCP；影响 KV 放置与 decode/prefill 并行。 ([vLLM][1])                  | **推荐**离散空间（需满足 `tp_size` 可整除等约束）。                             |
|                                               | `--cp-kv-cache-interleave-size`, `--dcp-kv-cache-interleave-size`                                                                                                                                        | 控制 DCP/PCP 下 KV cache 的交错存储粒度，影响访问局部性/通信/吞吐。 ([vLLM][1])                                           | **推荐**小离散空间（1 / block_size / 若干倍数），高度依赖 workload。             |
| **Distributed executor / deployment backend** | `--distributed-executor-backend`                                                                                                                                                                         | `mp/ray/uni/external_launcher` 影响多进程/多机执行模式与开销。 ([vLLM][1])                                        | **通常固定**（由部署环境决定）；AITuner 可把它当“环境维度”。                         |
|                                               | 多机参数：`--nnodes/-n`, `--node-rank/-r`, `--master-addr`, `--master-port`                                                                                                                                   | 多机 `mp` 模式的控制面配置。 ([vLLM][1])                                                                      | **不建议调优**（属于集群 wiring）。                                       |
|                                               | DP 组网：`--data-parallel-rank/-dpn`, `--data-parallel-start-rank/-dpr`, `--data-parallel-size-local/-dpl`, `--data-parallel-address/-dpa`, `--data-parallel-rpc-port/-dpp`, `--data-parallel-backend/-dpb` | DP rank/本地副本/通信方式等，影响 LB/扩展方式与开销。 ([vLLM][1])                                                      | **部分可调**：通常只把 `dp`、`dpb`、LB 模式作为空间；其余固定。                      |
|                                               | LB 模式：`--data-parallel-hybrid-lb/-dph`, `--data-parallel-external-lb/-dpe`                                                                                                                               | online serving 的 DP 负载均衡策略，影响吞吐与尾延迟。 ([vLLM][1])                                                   | **推荐**二值空间（尤其多节点/多副本场景）。                                      |
| **MoE / Expert parallel & communication**     | `--enable-expert-parallel/-ep`                                                                                                                                                                           | MoE 层使用 EP 替代 TP（通信/算子形态变化大）。 ([vLLM][1])                                                          | **强推荐**（MoE 模型的关键结构性 knob）。                                   |
|                                               | `--all2all-backend`                                                                                                                                                                                      | MoE all2all 通信后端选择（吞吐/延迟差异显著）。 ([vLLM][1])                                                         | **强推荐**离散空间（按硬件/网络栈筛选）。                                       |
|                                               | `--enable-return-routed-experts`                                                                                                                                                                         | 返回 routed experts（通常增加返回/处理开销）。 ([vLLM][1])                                                        | **一般关闭**；若业务需要可做“开销开关”。                                       |
| **Dual-batch overlap / microbatching**        | `--enable-dbo`, `--ubatch-size`, `--dbo-decode-token-threshold`, `--dbo-prefill-token-threshold`                                                                                                         | DBO 与 microbatch 策略，直接影响流水化程度、吞吐、TTFT/TPOT tradeoff。 ([vLLM][1])                                   | **强推荐**：对“prefill-heavy vs decode-heavy” workload 很敏感。        |
| **KV cache sizing & residency**               | `--block-size`                                                                                                                                                                                           | KV cache block 粒度影响碎片化、prefix cache/调度行为与吞吐。 ([vLLM][1])                                           | **强推荐**小离散空间（常见 8/16/32…）。                                    |
|                                               | `--gpu-memory-utilization`                                                                                                                                                                               | 预留给 KV cache 的显存比例，直接决定可容纳并发与最大上下文。 ([vLLM][1])                                                    | **强推荐**连续空间（例如 0.80–0.98，需 OOM guard）。                        |
|                                               | `--kv-cache-memory-bytes`                                                                                                                                                                                | 直接指定 KV cache bytes（比 utilization 更硬）。 ([vLLM][1])                                                 | **可选**：当你想把 search space 显式化为 bytes。                          |
|                                               | `--num-gpu-blocks-override`                                                                                                                                                                              | 手动覆盖 GPU blocks 数量（影响可用 KV 容量与并发）。 ([vLLM][1])                                                     | **可选**：更“底层”，适合研究型调优。                                         |
| **KV cache dtype / scaling / fast-prefill**   | `--kv-cache-dtype`                                                                                                                                                                                       | KV cache 精度（auto/fp8…）影响带宽与显存。 ([vLLM][1])                                                         | **推荐**离散空间（尤其 FP8 KV 的吞吐潜力/数值风险）。                             |
|                                               | `--calculate-kv-scales`                                                                                                                                                                                  | 计算 KV scales（为 FP8 KV 等服务），会引入额外计算但可能换来更好带宽/容量。 ([vLLM][1])                                        | **可选**：与 KV dtype 强绑定的条件 knob。                                |
|                                               | `--kv-sharing-fast-prefill`                                                                                                                                                                              | fast prefill 的 KV sharing 行为，影响 prefill 吞吐与缓存复用。 ([vLLM][1])                                       | **推荐**二值空间（对长 prompt/复用场景很关键）。                                |
| **Prefix caching**                            | `--enable-prefix-caching`, `--prefix-caching-hash-algo`                                                                                                                                                  | prefix cache 命中可显著降低 prefill；hash 算法影响开销/碰撞/性能。 ([vLLM][1])                                        | **强推荐**（你的 trace-replayer + block-hash 场景尤其关键）。               |
| **KV / CPU swap / offloading**                | `--swap-space`                                                                                                                                                                                           | CPU swap 空间（GiB）用于溢出，影响 OOM vs 延迟退化。 ([vLLM][1])                                                   | **推荐**：作为“容量-延迟退化”权衡 knob。                                    |
|                                               | `--kv-offloading-size`, `--kv-offloading-backend`                                                                                                                                                        | 启用 KV offloading 到 CPU（native 或 lmcache），显著改变延迟/吞吐曲线。 ([vLLM][1])                                  | **推荐**：作为条件结构 knob（offloading 开/关 + backend + size）。          |
| **Batching / scheduling capacity**            | `--max-num-seqs`                                                                                                                                                                                         | 批内最大并发序列数，直接决定吞吐与每步调度开销。 ([vLLM][1])                                                               | **强推荐**核心整数空间（与 KV 容量强耦合）。                                    |
|                                               | `--max-num-batched-tokens`                                                                                                                                                                               | 批内 tokens 上限（吞吐/延迟核心）。 ([vLLM][1])                                                                 | **强推荐**：通常需要和 TTFT/TPOT 的目标函数做权衡。                             |
|                                               | `--max-num-running-requests`, `--max-num-requests`                                                                                                                                                       | 运行中/总请求上限（背压策略），影响尾延迟与拒绝率。 ([vLLM][1])                                                             | **推荐**：更偏服务质量控制；也会影响队列与 p95。                                  |
| **Chunked / partial prefill**                 | `--enable-chunked-prefill`                                                                                                                                                                               | 启用 chunked prefill（改善交互性/TTFT，但影响吞吐与调度复杂度）。 ([vLLM][1])                                            | **强推荐**二值 knob（对长 prompt + 在线场景很关键）。                          |
|                                               | `--max-num-partial-prefills`, `--max-long-partial-prefills`, `--long-prefill-token-threshold`                                                                                                            | partial prefill 的并发与阈值控制，影响 TTFT/吞吐/公平性。 ([vLLM][1])                                               | **推荐**：作为 chunked-prefill 开启后的条件整数空间。                         |
| **Scheduler behavior knobs**                  | `--num-scheduler-steps`                                                                                                                                                                                  | 每次输出 token 的调度步数（可改变调度-算子重叠/吞吐）。 ([vLLM][1])                                                       | **推荐**小整数空间。                                                  |
|                                               | `--scheduler-delay-factor`                                                                                                                                                                               | scheduler 延迟因子（吞吐 vs 延迟）。 ([vLLM][1])                                                              | **可选**连续小范围。                                                  |
|                                               | `--scheduler-cls`                                                                                                                                                                                        | 自定义 scheduler 类（强影响行为）。 ([vLLM][1])                                                                | **通常固定**（更像“选择调度器实现”而非调参）。                                    |
|                                               | `--enable-sleep-mode`                                                                                                                                                                                    | 空闲时 sleep（省电/降温；唤醒开销影响延迟）。 ([vLLM][1])                                                             | **可选**（取决于业务是否追求极致 tail latency）。                             |
| **Speculative decoding / return-size**        | `--disable-logprobs-during-spec-decoding`                                                                                                                                                                | speculative decoding 时禁用 logprobs 以减少开销。 ([vLLM][1])                                               | **可选**（若业务不需要 logprobs，通常应打开该禁用）。                             |
|                                               | `--max-logprobs`, `--logprobs-mode`                                                                                                                                                                      | logprobs 返回规模与内容模式会显著增加计算与输出体积；`-1` 可能 OOM。 ([vLLM][1])                                            | **推荐**作为“开销/功能”维度；对性能目标通常应限制。                                 |
| **Frontend / API process scaling**            | `--api-server-count`                                                                                                                                                                                     | API 进程数；可缓解前端解析/IO/序列化瓶颈（多核机器常见收益）。 ([vLLM][1])                                                    | **推荐**：作为与 CPU/IO 相关的整数空间。                                    |
|                                               | `--disable-frontend-multiprocessing`                                                                                                                                                                     | 禁用前端多进程可能降低并发处理能力。 ([vLLM][1])                                                                     | **一般不建议**作为优化 knob（多数场景保持多进程）。                                |
| **Logging / observability overhead**          | `--disable-log-stats`, `--disable-log-requests`, `--max-log-len`                                                                                                                                         | 统计与请求日志会引入 CPU/IO 开销，尤其高 QPS。 ([vLLM][1])                                                          | **建议**在性能基准时统一关闭或固定，避免噪声。                                     |
|                                               | `--collect-detailed-traces`, `--otlp-traces-endpoint`                                                                                                                                                    | 详细 tracing 可能引入“昂贵或阻塞”操作并影响性能。 ([vLLM][1])                                                         | **不要纳入自动 search**；应作为诊断模式开关。                                  |
|                                               | `--kv-cache-metrics`, `--kv-cache-metrics-sample`, `--cudagraph-metrics`, `--enable-layerwise-nvtx-tracing`, `--enable-mfu-metrics`                                                                      | 指标/trace 会带来额外开销（部分采样降低开销；NVTX 与 cudagraph 互斥）。 ([vLLM][1])                                        | **诊断开关**：建议 AITuner 固定关闭，仅在分析阶段开启。                            |
|                                               | `--profiler-config`                                                                                                                                                                                      | profiler 会显著影响性能（profiling 模式）。 ([vLLM][1])                                                        | **不作为 search**；仅用于测量与归因。                                      |
| **Disaggregated / KV transfer**               | `--tokens-only`                                                                                                                                                                                          | 仅启用 Tokens In<>Out endpoint（面向 Disaggregated Everything）。 ([vLLM][1])                              | **环境/架构维度**（通常不与常规 serving 混在同一空间）。                           |
|                                               | `--speculative-config`                                                                                                                                                                                   | speculative decoding 配置（结构化），强影响吞吐/延迟。 ([vLLM][1])                                                 | **推荐**：结构化 knob（但需要你定义可调子字段集合）。                               |
|                                               | `--kv-transfer-config`                                                                                                                                                                                   | KV 传输配置（结构化），用于分离式架构/跨实例 KV。 ([vLLM][1])                                                           | **推荐（条件）**：只在 disaggregated/多实例 KV 场景调。                       |
|                                               | `--kv-events-config`, `--ec-transfer-config`                                                                                                                                                             | KV 事件发布与 EC cache transfer（结构化）。 ([vLLM][1])                                                       | **条件 knob**：多节点/缓存协同架构才有意义。                                   |
| **Multimodal performance knobs（若跑 MM 模型）**    | `--mm-processor-cache-gb`, `--mm-processor-cache-type`, `--mm-shm-cache-max-object-size-mb`                                                                                                              | MM 预处理缓存大小/类型影响 CPU 开销与内存占用（并随进程数复制）。 ([vLLM][1])                                                  | **推荐（条件）**：高复用图像/视频输入场景会明显受益。                                 |
|                                               | `--mm-encoder-tp-mode`, `--mm-encoder-attn-backend`                                                                                                                                                      | MM encoder 的并行策略与 attention backend，直接影响 encoder 吞吐。 ([vLLM][1])                                   | **推荐（条件）**：作为离散选择。                                            |
|                                               | `--limit-mm-per-prompt`, `--video-pruning-rate`, `--skip-mm-profiling`                                                                                                                                   | 限制输入规模/视频剪枝会改变 token/encoder 负载；skip profiling 主要影响启动。 ([vLLM][1])                                 | **建议**：把 input 规模限制当作 workload/profile 约束；剪枝率可作为质量-性能权衡 knob。 |
| **LoRA performance knobs（若启用 LoRA）**          | `--enable-lora`, `--max-loras`, `--max-lora-rank`, `--max-cpu-loras`                                                                                                                                     | LoRA 会引入额外计算与管理开销；batch 内 LoRA 数/rank 直接影响吞吐。 ([vLLM][1])                                          | **推荐（条件）**：在 LoRA serving 场景纳入空间；否则固定关闭。                      |
|                                               | `--fully-sharded-loras`                                                                                                                                                                                  | 在高 seq_len / 高 rank / 大 TP 下可能更快。 ([vLLM][1])                                                      | **推荐（条件）**二值 knob。                                            |

1. **结构层（Topology / Memory feasibility）**：`tp/pp/dp/dcp/pcp` + `max-model-len` + `gpu-memory-utilization` + `block-size`（先保证可行，不 OOM）。 ([vLLM][1])
2. **吞吐-延迟层（Batching / Scheduling / Overlap）**：`max-num-batched-tokens`, `max-num-seqs`, `chunked-prefill + partial-prefill family`, `enable-dbo + thresholds`。 ([vLLM][1])
3. **内核层（Kernel / Compile / Backend）**：`attention-backend`, `enforce-eager`, `compilation-config`,（MoE 时）`all2all-backend`。 ([vLLM][1])


| 类别                    | Flag                                   | 类型/取值形态          | 作用（与性能相关的核心机制）                                                      | 典型权衡 / 约束关系                                          |
| --------------------- | -------------------------------------- | ---------------- | ------------------------------------------------------------------- | ---------------------------------------------------- |
| Parallelism           | `--tensor-parallel-size/-tp`           | int              | Tensor 并行度；决定 GEMM/Attention 的分片与跨卡通信形态，强影响吞吐、显存、p95。               | 需满足 `tp*pp` 不超过可用 GPU；通信带宽不足会拉低 TP 收益。               |
| Parallelism           | `--pipeline-parallel-size/-pp`         | int              | Pipeline 并行度；通过层切分减少单卡显存压力，但引入流水气泡与跨 stage 同步。                      | 可能降低单请求 latency（气泡/flush）；更适合大模型或显存受限。               |
| Parallelism           | `--data-parallel-size/-dp`             | int              | Data 并行（模型副本数）；提升吞吐/并发能力，配合负载均衡影响尾延迟。                               | 会复制权重占用更多 GPU；与请求路由、cache 复用策略耦合。                    |
| Context Parallel      | `--decode-context-parallel-size/-dcp`  | int              | Decode 阶段的 context parallel；复用 TP GPU 做 decode 并行（改变 KV 放置/通信）。     | 需要与 `tp`、KV cache 组织匹配（通常有整除/拓扑约束）。                  |
| Context Parallel      | `--prefill-context-parallel-size/-pcp` | int              | Prefill 阶段的 context parallel；提升长 prompt prefill 吞吐或降低峰值显存。          | 与 `dcp` 类似受 `tp`/拓扑约束；prefill-heavy workload 更敏感。    |
| MoE / Expert Parallel | `--enable-expert-parallel/-ep`         | bool             | MoE 模型启用 Expert Parallel（用 EP 处理 experts 分布/路由），改变通信与算子结构。          | 仅 MoE 模型适用；常与 all2all 通信后端强耦合。                       |
| MoE / Communication   | `--all2all-backend`                    | enum             | MoE all-to-all 通信后端选择，直接影响路由通信开销与吞吐。                                | 取值依赖编译/环境（如 NCCL 等）；网络/拓扑决定最优。                       |
| Overlap / Dual-batch  | `--enable-dbo`                         | bool             | 启用 Dual-batch overlap；通过将不同阶段/批次重叠执行提高利用率、吞吐。                       | 可能牺牲 TTFT 或引入调度复杂度；与阈值/ubatch 强绑定。                   |
| Overlap / Microbatch  | `--ubatch-size`                        | int              | microbatch（uBatch）大小；控制 DBO 下切分粒度与重叠机会，影响吞吐与调度开销。                   | 太小调度开销大；太大重叠不足、可能增加峰值显存/延迟。                          |
| Overlap / Threshold   | `--dbo-decode-token-threshold`         | int              | Decode token 数阈值；达到阈值才触发/采用 DBO 的相关策略。                              | 对 decode-heavy workload 敏感；阈值过低可能增加干扰，过高则收益不足。       |
| Overlap / Threshold   | `--dbo-prefill-token-threshold`        | int              | Prefill token 数阈值；控制 prefill 场景下 DBO 的启用门槛。                         | 对长 prompt 场景敏感；与 chunked-prefill 可能产生交互。             |
| KV Cache / Memory     | `--block-size`                         | int（常见 8/16/32…） | KV cache 分块粒度；影响碎片、prefix 复用、调度/缓存命中与吞吐。                            | 小 block 碎片少但管理开销增；大 block 管理轻但浪费显存、影响并发。             |
| Batching              | `--max-num-seqs`                       | int              | 单 step/批内最大并发序列数；直接决定并发与调度开销、吞吐上限。                                  | 受 KV 容量、`max-num-batched-tokens` 约束；过大可能恶化尾延迟。       |
| Batching              | `--max-num-batched-tokens`             | int              | 单 step/批内 token 总上限；吞吐-延迟（TTFT/TPOT）核心 knob。                        | 越大吞吐越高但 TTFT/p95 可能升；与 prefill/decode 负载结构强相关。       |
| Prefill Scheduling    | `--enable-chunked-prefill`             | bool             | 启用 chunked prefill；将长 prefill 切块与 decode 交错，提高交互性/TTFT（常见），并改变调度行为。 | 可能降低纯吞吐或增加调度复杂度；与 `max-num-batched-tokens`、DBO 阈值联动。 |
