BurstGPT Ordered A/B/C RPS Regimes

This is the renamed version with labels in increasing RPS order:

A / low

B / mid-high

C / high

Each 10-minute window is split into `A1/A2`, `B1/B2`, and `C1/C2`.

How These Windows Were Created

The source data is the BurstGPT request trace stored under traces/burstgpt/data/, specifically the cleaned no-failure CSVs BurstGPT_without_fails_1.csv and BurstGPT_without_fails_2.csv. BurstGPT is a real request-arrival workload trace: each row describes one request with an arrival timestamp, model/application label, input token count, output token count, total token count, and log type. It does not include deployment configuration, hardware, engine settings, or observed request duration.

To create benchmark windows, the trace was treated as a continuous arrival stream and scanned with 10-minute candidate windows. For each candidate, requests were counted to estimate average RPS, and the within-window arrival shape was measured with 10-second buckets. The goal was not to pick the highest bursts, but to find three reasonably stable operating regimes that can be split into optimization and held-out halves.

Candidate windows were ranked using:

half_ratio: similarity between the first 5 minutes and second 5 minutes. Values closer to 1.0 are better.

bucket10_cv: coefficient of variation of 10-second RPS buckets. Lower is steadier.

spike_ratio: peak short-window RPS divided by average RPS. Values closer to 1.0 have fewer spikes.

stability_score: a heuristic combination of the imbalance, 10-second variability, and spike penalties. Lower means more stable.

The final labels are ordered by load: A is the low-RPS window, B is the mid-high window around 2 RPS, and C is the high-RPS window around 10 RPS. Each 10-minute window was split into two 5-minute halves (A1/A2, B1/B2, C1/C2). The AIPerf CSVs in traces/burstgpt/aiperf_windows/ preserve the original within-window arrival timing and token lengths, with timestamps rebased to the start of each selected segment.

Regime Mapping

regimewindowstart_send_srpsuse
lowA10,300,20010,300,8000.218low-load stable traffic
mid-highB5,389,8005,390,4002.002moderate/high traffic around 2 RPS
highC849,000849,60010.340high-load stable traffic

Selected 10-Minute Windows

window_idrpsstability_scorehalf_ratiobucket10_cvspike_ratio
17,1670.2180.6370.9260.3531.832
8,9832.0020.2310.9880.1451.299
1,41510.3400.1390.9540.0661.103

Segment Statistics

segmentstart_send_snrpsinput_meaninput_p50input_p95output_meanoutput_p50output_p95total_tpsrps_10s_cvrps_10s_maxapi_log_pctgpt4_pct
A10,300,20010,300,8001310.218289.321306.000351.5002,571.12,713.03,856.5624.5350.3530.400100.00012.977
A110,300,20010,300,500630.210291.254308.000357.5002,585.72,664.03,928.1604.1630.4020.400100.00012.698
A210,300,50010,300,800680.227287.529306.000347.6502,557.62,721.53,617.6644.9070.3050.400100.00013.235
B5,389,8005,390,4001,2012.002218.207213.000257.00010.1097.0007.000457.0130.1452.60098.2510.083
B15,389,8005,390,1006042.013217.922211.500255.8509.2487.0007.000457.3700.1362.60098.6750.000
B25,390,1005,390,4005971.990218.496214.000257.40010.9807.0007.000456.6570.1552.40097.8220.168
C849,000849,6006,20410.340176.16789.000112.00010.6646.0006.0001,931.80.06611.40099.7420.113
C1849,000849,3003,02910.097176.36490.000110.00010.7516.0006.0001,889.20.07411.40099.7030.066
C2849,300849,6003,17510.583175.98089.000113.00010.5816.0006.0001,974.40.05011.40099.7800.157

Suggested Combinations

ID transfer: `A1 -> A2`, `B1 -> B2`, `C1 -> C2`.

OOD transfer: `A1 -> B2`, `B1 -> C2`, `C1 -> A2`.

Three-regime robustness: optimize on `A1+B1+C1`, test on `A2+B2+C2`.

Plots

stable_abc_full_trace_1h
stable_abc_full_trace_1h
A_B_C_within_window_10s_rps
A_B_C_within_window_10s_rps
A1_A2_B1_B2_C1_C2_rps_bars
A1_A2_B1_B2_C1_C2_rps_bars
A_B_C_token_histograms
A_B_C_token_histograms
A_local_context_1m
A_local_context_1m
B_local_context_1m
B_local_context_1m
C_local_context_1m
C_local_context_1m
candidate_pool_rps_vs_stability_abc
candidate_pool_rps_vs_stability_abc