GLM-5-FP8 Disaggregated Pareto Sweep

Experimental Sweeper search for a GLM-5-FP8 Pareto frontier on B200 GPUs

View as Markdown

Experimental. These replay results characterize one software snapshot and workload. Do not treat them as production capacity guidance or a performance commitment. Sweeper’s search behavior and output may change without a standard deprecation period.

This replay-backed sweep targets the InferenceX/SemiAnalysis (SA) GLM-5-FP8 / B200 / Dynamo with SGLang / 1k-1k / disaggregated frontier. It tests whether Sweeper can discover competitive deployment mappings without pinning the parallel shape or replica count.

Setup

modelzai-org/GLM-5-FP8 (MLA, 78 layers, MoE, FP8)
hardwareb200_sxm
backendDynamo with SGLang
deploymentdisaggregated, static, gpu_budget=72
parallel configsenumerated and projected across TP / TEP / DEP / DTP shapes
engine batchingsearched independently for prefill and decode
workloadsynthetic 1k input + 1k output, closed-loop kv_load_ratio=[0,1]
request count10 * derived concurrency
router / plannerround-robin / disabled
objectivemaximize throughput_per_gpu and throughput_per_user

kv_load_ratio=1 means the candidate’s estimated decode KV capacity divided by isl + floor(osl / 2); 0 maps to concurrency 1. This makes traffic pressure comparable across candidates with different decode shapes and replica counts.

Latest replay baseline

The replay baseline uses SA’s per-concurrency deployment mappings with the fixed AI Configurator and Dynamo mocker stack, block size 64, FP8 KV cache, and 10 requests per concurrency unit. It is the correct software baseline for this sweep; the earlier pre-fix replay curve is no longer used.

curvehypervolumerelative to SA
SemiAnalysis measured64,587100%
latest AI Configurator and Dynamo Replay baseline53,82583.3%
Sweeper sweep61,09394.6%

Hypervolume uses reference point (0, 0). Sweeper reaches 113.5% of the latest replay baseline’s hypervolume by finding deployment mappings beyond the fixed SA mapping schedule.

Search encoding

Parallel search uses the default structured projection. Vizier models:

  • total used-GPU ratio;
  • prefill GPU share;
  • prefill and decode GPUs-per-engine targets;
  • per-role attention mode (tp or dp);
  • per-role MoE FFN mode (tp or ep).

Each suggestion is projected onto the nearest backend-compatible, KV-feasible enumerated configuration. Replica counts and concrete TP / DP / MoE-TP / MoE-EP fields are derived from that valid target. parallel_configs: [] requests the full enumerated pool; a user can still provide one config as a strict pin or several configs as a custom projection pool.

Configuration

The reference configuration is aisimulate/examples/sweeper/configs/glm5-disagg-pareto-frontier.yaml:

1search_space:
2 deployment_mode: [disagg]
3 backend: [sglang]
4 parallel_configs: []
5 model_name: zai-org/GLM-5-FP8
6 hardware_sku: b200_sxm
7 gpu_budget: 72
8 context_length: 2048
9workload:
10 isl: 1024
11 osl: 1024
12 kv_load_ratio: [0.0, 1.0]
13 num_request_ratio: 10
14goal:
15 target: pareto
16 pareto_objectives: [throughput_per_gpu, throughput_per_user]
17sweep:
18 max_rounds: 80
19 parallel_evals: 8
20 candidates_per_round: 8
21 max_eval_seconds: 600

Result

The 80-round run completed 640 successful unique samples from 670 attempts in 12:06:56:

  • 22 candidates were rejected by KV-capacity prechecks;
  • 8 replay evaluations exceeded the 600-second limit;
  • 0 replay evaluations crashed;
  • 155 distinct concrete parallel mappings were evaluated.

The highest-throughput point reached 1788.4 output tok/s/GPU at 23.56 tok/s/user:

prefill: 2xDEP8 (tp=1, attention_dp=8, moe_tp=1, moe_ep=8)
decode: 6xDTP8 (tp=1, attention_dp=8, moe_tp=8, moe_ep=1)
total: 64 GPUs
load: kv_load_ratio=0.590, concurrency=11,940, requests=119,400
batch: prefill=(32768 tokens, 256 seqs), decode=(8192 tokens, 1024 seqs)

Representative non-dominated points:

tok/s/usertok/s/GPUGPUsconcurrencyprefill + decode
23.561788.46411,9402xDEP8 + 6xDTP8
30.421045.45614,8031xDEP8 + 6xDTP8
35.04815.47218,3251xDEP8 + 8xDTP8
41.56452.75620,2371xTP8 + 6xDTP8
45.57247.1564,1631xDTP16 + 5xDTP8
50.30115.3647,0381xDEP8 + 7xDEP8
87.793.62411xTEP8 + 2xTP8

GLM-5-FP8 B200 disaggregated Pareto frontier comparing Sweeper, the fixed replay baseline, and measured results

The exact Pareto filter returns 204 points because continuous load values produce many tiny tradeoffs along otherwise flat regions. The representative table and plot retain the useful shape of the frontier without treating those near-duplicates as different deployment choices.

Convergence

roundelapsedfinal hypervolume reached
70:45:4388.8% (already above the latest replay baseline)
405:29:1095.6%
537:28:1298.95% and the final max-throughput point
669:37:4499.67%
7010:13:17effectively 100%
8012:06:56100%

For this workload, 50-55 rounds is the practical quality/runtime point. The final 27 rounds after round 53 consumed about 4 hours 39 minutes for 1.05% additional hypervolume.

Reproduction Status

The packaged dependencies support this configuration’s KV-capacity and candidate-concurrency calculations. Reproducing the historical frontier still depends on AI Configurator performance database coverage for B200/SGLang/GLM-5-FP8 and on Replay behavior in the runtime snapshot.

Reproduce

$python aisimulate/examples/sweeper/tools/run_sweep.py \
> --config aisimulate/examples/sweeper/configs/glm5-disagg-pareto-frontier.yaml

The AI Configurator performance model needs the aic-forward-pass binding. Dynamo’s attention-DP KV-capacity calculation multiplies per-rank capacity by attention DP and replicas before passing engine capacity to Replay.