Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion benchmarks/traces/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,14 @@ Optional fields (zero-filled when absent):

## When to capture a new trace

Three reference traces are included, covering different workload patterns:
Four reference traces are included, covering different workload patterns:

| Trace | Prompt length | Contention | Samples | Covers |
|-------|--------------|------------|---------|--------|
| `sharegpt-h200` | short (median 165) | moderate (median 12) | 3,400 | Real conversations, moderate load |
| `chatbot-synthetic-h200` | long (median 6,497) | extreme (median 93) | 3,060 | Long prompts, stress testing |
| `bimodal-h200` | mixed (median 3,411) | extreme (median 116) | 3,400 | Mixed short+long, stress testing |
| `kermit-pd-topology-h200` | mixed (median 1,942) | high (median 11) | 1,500 | **Only trace with real P/D disaggregation** — `pod_type` and topology field (`topology_distance`) populated; the other three are monolithic-only |

Capture a new trace when testing features that depend on:

Expand Down
46 changes: 46 additions & 0 deletions benchmarks/traces/kermit-pd-topology-h200-spec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
workload:
name: kermit-pd-topology-h200
trace_type: real
data_source: ShareGPT + long synthetic + shared-prefix (combined)
model: Qwen/Qwen3-32B
hardware:
gpu: NVIDIA H200 (141GB)
gpus_per_replica: 1
platform: CoreWeave CKS (Kermit), Kubernetes
topology: single-region (US-EAST-01), uniform InfiniBand fabric
serving:
stack: llm-d-router EPP (topology-extractor, topology-affinity-filter/scorer,
predicted-latency-producer) + vLLM P/D disaggregated (NixlConnector, kv_both)
epp_plugins: topology-extractor, topology-affinity-filter, topology-affinity-scorer,
predicted-latency-producer, prefix-cache-scorer, queue-scorer
max_model_len: 8192
prefix_caching: enabled
load:
generator: inference-perf
profile: ShareGPT + long-synthetic (2k-8k tokens) + shared-prefix
api: completion (streaming)
stages:
- {rate_qps: 1, duration_s: 300}
- {rate_qps: 2, duration_s: 300}
- {rate_qps: 4, duration_s: 600}
topology_finding:
# Evaluated topology_distance as a raw XGBoost feature via
# benchmarks/offline_feature_ab.py (ordinal hop-distance encoding). Result:
# no distinguishable signal — the improvement is within seed noise and the
# tool's self-test cannot separate it from overfitting gain. Only zone and
# region tiers appear here and they transfer at near-identical speed, so
# distance carries little latency signal on this fabric. No A/B artifact is
# shipped; the consuming approach is per-class residual correction, not a raw
# feature (see llm-d-latency-predictor PR #3 and predictor issue #30).
verdict: neutral
seeds: 10
split: 90/10 train/test per seed
known_limitations:
- single-region, uniform InfiniBand fabric — only zone- and region-level
distance observed (no host, rack, or cross-region pairs)
- topology_distance "host" stratum shows 0 samples despite the router's
topology-affinity-scorer always selecting a same-host prefill candidate when
one was available — unresolved observability discrepancy, see llm-d-router PR
- this file is a stratified downsample (1,500 of 16,186 real entries) to stay
under the repo's 1MB trace-file limit; full trace available on request
- prefix_cache_score is near-zero for 99.7% of samples
Loading
Loading