Compare commits
4 Commits
a0db3cbe77
...
cf812b6264
| Author | SHA1 | Date | |
|---|---|---|---|
| cf812b6264 | |||
| 847f52f03b | |||
| 48ae72467a | |||
| 657cd36f3d |
142
analysis/crossover/d1_i1024_goodput.json
Normal file
142
analysis/crossover/d1_i1024_goodput.json
Normal file
@@ -0,0 +1,142 @@
|
||||
{
|
||||
"baseline": "8C-proxy",
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"name": "8C-proxy",
|
||||
"n_offered": 1167,
|
||||
"n_success": 1167,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.736197,
|
||||
"offered_qps": 3.8934236561358655,
|
||||
"wall_clock_s": 300.1385939740576,
|
||||
"amplification": 1.0013425037685975,
|
||||
"ttft": {
|
||||
"count": 1167,
|
||||
"mean": 0.08144469193556772,
|
||||
"p50": 0.07862715201918036,
|
||||
"p90": 0.08015060934703797,
|
||||
"p99": 0.0875979653932154
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1167,
|
||||
"mean": 0.005001699398049616,
|
||||
"p50": 0.004988961030788246,
|
||||
"p90": 0.005045765990923557,
|
||||
"p99": 0.005062779263327164
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1167,
|
||||
"mean": 0.3968209869372152,
|
||||
"p50": 0.393534954986535,
|
||||
"p90": 0.39730903680901974,
|
||||
"p99": 0.40925762055674536
|
||||
}
|
||||
},
|
||||
"4P+4D": {
|
||||
"name": "4P+4D",
|
||||
"n_offered": 1167,
|
||||
"n_success": 1167,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.736197,
|
||||
"offered_qps": 3.8934236561358655,
|
||||
"wall_clock_s": 300.1604231200181,
|
||||
"amplification": 1.0014153316291596,
|
||||
"ttft": {
|
||||
"count": 1167,
|
||||
"mean": 0.09946277569807849,
|
||||
"p50": 0.09600010397844017,
|
||||
"p90": 0.10452785079833121,
|
||||
"p99": 0.11205230774357905
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1167,
|
||||
"mean": 0.005007447102661814,
|
||||
"p50": 0.004987124730611131,
|
||||
"p90": 0.005003212126977151,
|
||||
"p99": 0.005478902989961502
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1167,
|
||||
"mean": 0.415208436744531,
|
||||
"p50": 0.41056320699863136,
|
||||
"p90": 0.4200975856045261,
|
||||
"p99": 0.44871115096379066
|
||||
}
|
||||
},
|
||||
"6P+2D": {
|
||||
"name": "6P+2D",
|
||||
"n_offered": 1167,
|
||||
"n_success": 1167,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.736197,
|
||||
"offered_qps": 3.8934236561358655,
|
||||
"wall_clock_s": 300.2032543020323,
|
||||
"amplification": 1.0015582278907484,
|
||||
"ttft": {
|
||||
"count": 1167,
|
||||
"mean": 0.10561635944505095,
|
||||
"p50": 0.10468761203810573,
|
||||
"p90": 0.11257308297790587,
|
||||
"p99": 0.12065987563692024
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1167,
|
||||
"mean": 0.005328901365752947,
|
||||
"p50": 0.005144592110318915,
|
||||
"p90": 0.005990574603515958,
|
||||
"p99": 0.006688486758013448
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1167,
|
||||
"mean": 0.4416300980896939,
|
||||
"p50": 0.42991435900330544,
|
||||
"p90": 0.4854830394731835,
|
||||
"p99": 0.5404117306252005
|
||||
}
|
||||
}
|
||||
},
|
||||
"slo_grid": [
|
||||
{
|
||||
"ttft_slo_s": 2.0,
|
||||
"tpot_slo_s": 0.05,
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
},
|
||||
"4P+4D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
},
|
||||
"6P+2D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"ttft_slo_s": 5.0,
|
||||
"tpot_slo_s": 0.05,
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
},
|
||||
"4P+4D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
},
|
||||
"6P+2D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
142
analysis/crossover/d1_i16384_goodput.json
Normal file
142
analysis/crossover/d1_i16384_goodput.json
Normal file
@@ -0,0 +1,142 @@
|
||||
{
|
||||
"baseline": "8C-proxy",
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"name": "8C-proxy",
|
||||
"n_offered": 1167,
|
||||
"n_success": 1167,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.736197,
|
||||
"offered_qps": 3.8934236561358655,
|
||||
"wall_clock_s": 303.05708941399644,
|
||||
"amplification": 1.0110793839624128,
|
||||
"ttft": {
|
||||
"count": 1167,
|
||||
"mean": 1.674437926279444,
|
||||
"p50": 1.5353219069947954,
|
||||
"p90": 2.0787689138029237,
|
||||
"p99": 3.039117059087727
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1167,
|
||||
"mean": 0.035498316425319934,
|
||||
"p50": 0.02951206674587743,
|
||||
"p90": 0.085249871320677,
|
||||
"p99": 0.15422643764865662
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1167,
|
||||
"mean": 3.9111985703531236,
|
||||
"p50": 3.392241114997887,
|
||||
"p90": 7.760864628604043,
|
||||
"p99": 11.30427318874542
|
||||
}
|
||||
},
|
||||
"4P+4D": {
|
||||
"name": "4P+4D",
|
||||
"n_offered": 1167,
|
||||
"n_success": 1136,
|
||||
"completion_rate": 0.9734361610968295,
|
||||
"offered_window_s": 299.736197,
|
||||
"offered_qps": 3.8934236561358655,
|
||||
"wall_clock_s": 866.9596620649972,
|
||||
"amplification": 2.8924089607535697,
|
||||
"ttft": {
|
||||
"count": 1136,
|
||||
"mean": 65.09021699308856,
|
||||
"p50": 66.22900710900285,
|
||||
"p90": 112.5535424454938,
|
||||
"p99": 124.55262411334482
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1136,
|
||||
"mean": 0.005710658520121912,
|
||||
"p50": 0.005725543936557461,
|
||||
"p90": 0.005750613698356098,
|
||||
"p99": 0.0058447879207267845
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1136,
|
||||
"mean": 65.4504681098121,
|
||||
"p50": 66.59053339700768,
|
||||
"p90": 112.9150809329949,
|
||||
"p99": 124.91415351489852
|
||||
}
|
||||
},
|
||||
"6P+2D": {
|
||||
"name": "6P+2D",
|
||||
"n_offered": 1167,
|
||||
"n_success": 1167,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.736197,
|
||||
"offered_qps": 3.8934236561358655,
|
||||
"wall_clock_s": 307.42712411200046,
|
||||
"amplification": 1.0256589867656205,
|
||||
"ttft": {
|
||||
"count": 1167,
|
||||
"mean": 3.6233640342625417,
|
||||
"p50": 3.255483777000336,
|
||||
"p90": 6.0935156565916255,
|
||||
"p99": 7.349482456580735
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1167,
|
||||
"mean": 0.006360297526341433,
|
||||
"p50": 0.006324973206372104,
|
||||
"p90": 0.007198417158741947,
|
||||
"p99": 0.007942749238420567
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1167,
|
||||
"mean": 4.024414356593621,
|
||||
"p50": 3.6796783979953034,
|
||||
"p90": 6.510242249601289,
|
||||
"p99": 7.7530036393977895
|
||||
}
|
||||
}
|
||||
},
|
||||
"slo_grid": [
|
||||
{
|
||||
"ttft_slo_s": 2.0,
|
||||
"tpot_slo_s": 0.05,
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"attainment": 0.6563838903170522,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 766
|
||||
},
|
||||
"4P+4D": {
|
||||
"attainment": 0.0,
|
||||
"pd_advantage": 0.0,
|
||||
"n_slo": 0
|
||||
},
|
||||
"6P+2D": {
|
||||
"attainment": 0.20565552699228792,
|
||||
"pd_advantage": 0.3133159268929504,
|
||||
"n_slo": 240
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"ttft_slo_s": 5.0,
|
||||
"tpot_slo_s": 0.05,
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"attainment": 0.7095115681233933,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 828
|
||||
},
|
||||
"4P+4D": {
|
||||
"attainment": 0.012853470437017995,
|
||||
"pd_advantage": 0.018115942028985508,
|
||||
"n_slo": 15
|
||||
},
|
||||
"6P+2D": {
|
||||
"attainment": 0.7746358183376179,
|
||||
"pd_advantage": 1.0917874396135265,
|
||||
"n_slo": 904
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
142
analysis/crossover/d1_i2048_goodput.json
Normal file
142
analysis/crossover/d1_i2048_goodput.json
Normal file
@@ -0,0 +1,142 @@
|
||||
{
|
||||
"baseline": "8C-proxy",
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"name": "8C-proxy",
|
||||
"n_offered": 1167,
|
||||
"n_success": 1167,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.736197,
|
||||
"offered_qps": 3.8934236561358655,
|
||||
"wall_clock_s": 300.1927249849541,
|
||||
"amplification": 1.0015230992770423,
|
||||
"ttft": {
|
||||
"count": 1167,
|
||||
"mean": 0.1367582682356152,
|
||||
"p50": 0.1337889520218596,
|
||||
"p90": 0.13568343156948687,
|
||||
"p99": 0.1417779766954481
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1167,
|
||||
"mean": 0.005039774583944486,
|
||||
"p50": 0.005025791809968059,
|
||||
"p90": 0.005088228446667984,
|
||||
"p99": 0.0051380019550329985
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1167,
|
||||
"mean": 0.45452996390628697,
|
||||
"p50": 0.45110413199290633,
|
||||
"p90": 0.4555703255813569,
|
||||
"p99": 0.4688122991356063
|
||||
}
|
||||
},
|
||||
"4P+4D": {
|
||||
"name": "4P+4D",
|
||||
"n_offered": 1167,
|
||||
"n_success": 1167,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.736197,
|
||||
"offered_qps": 3.8934236561358655,
|
||||
"wall_clock_s": 300.2166367470054,
|
||||
"amplification": 1.0016028753010615,
|
||||
"ttft": {
|
||||
"count": 1167,
|
||||
"mean": 0.1660798433322169,
|
||||
"p50": 0.16653224604669958,
|
||||
"p90": 0.17306958099361508,
|
||||
"p99": 0.1832630861806683
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1167,
|
||||
"mean": 0.005046875948133808,
|
||||
"p50": 0.0050270736812510425,
|
||||
"p90": 0.0050664691831029595,
|
||||
"p99": 0.005532995437730161
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1167,
|
||||
"mean": 0.48433690918382055,
|
||||
"p50": 0.4845748710213229,
|
||||
"p90": 0.4916891472181305,
|
||||
"p99": 0.5235905526624989
|
||||
}
|
||||
},
|
||||
"6P+2D": {
|
||||
"name": "6P+2D",
|
||||
"n_offered": 1167,
|
||||
"n_success": 1167,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.736197,
|
||||
"offered_qps": 3.8934236561358655,
|
||||
"wall_clock_s": 300.2855537990108,
|
||||
"amplification": 1.001832800991369,
|
||||
"ttft": {
|
||||
"count": 1167,
|
||||
"mean": 0.17076528707394278,
|
||||
"p50": 0.16959826194215566,
|
||||
"p90": 0.17923957279417663,
|
||||
"p99": 0.18792458378709853
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1167,
|
||||
"mean": 0.005377765550956012,
|
||||
"p50": 0.005177637602808693,
|
||||
"p90": 0.006078562941697855,
|
||||
"p99": 0.007001848420689976
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1167,
|
||||
"mean": 0.5098518045703324,
|
||||
"p50": 0.4961305959150195,
|
||||
"p90": 0.5569328068522736,
|
||||
"p99": 0.6314893902023319
|
||||
}
|
||||
}
|
||||
},
|
||||
"slo_grid": [
|
||||
{
|
||||
"ttft_slo_s": 2.0,
|
||||
"tpot_slo_s": 0.05,
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
},
|
||||
"4P+4D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
},
|
||||
"6P+2D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"ttft_slo_s": 5.0,
|
||||
"tpot_slo_s": 0.05,
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
},
|
||||
"4P+4D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
},
|
||||
"6P+2D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
142
analysis/crossover/d1_i32768_goodput.json
Normal file
142
analysis/crossover/d1_i32768_goodput.json
Normal file
@@ -0,0 +1,142 @@
|
||||
{
|
||||
"baseline": "8C-proxy",
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"name": "8C-proxy",
|
||||
"n_offered": 1167,
|
||||
"n_success": 951,
|
||||
"completion_rate": 0.8149100257069408,
|
||||
"offered_window_s": 299.736197,
|
||||
"offered_qps": 3.8934236561358655,
|
||||
"wall_clock_s": 567.1572082909988,
|
||||
"amplification": 1.8921879104611408,
|
||||
"ttft": {
|
||||
"count": 951,
|
||||
"mean": 156.08624654169503,
|
||||
"p50": 159.80228465000982,
|
||||
"p90": 263.44082942500245,
|
||||
"p99": 267.3189407904938
|
||||
},
|
||||
"tpot": {
|
||||
"count": 951,
|
||||
"mean": 0.5120599246480225,
|
||||
"p50": 0.5265210192539223,
|
||||
"p90": 0.5403215261268621,
|
||||
"p99": 0.5436686666190138
|
||||
},
|
||||
"e2e": {
|
||||
"count": 951,
|
||||
"mean": 188.3470215559188,
|
||||
"p50": 192.9057134770119,
|
||||
"p90": 294.68771972299146,
|
||||
"p99": 300.2205298934932
|
||||
}
|
||||
},
|
||||
"4P+4D": {
|
||||
"name": "4P+4D",
|
||||
"n_offered": 1167,
|
||||
"n_success": 596,
|
||||
"completion_rate": 0.5107112253641817,
|
||||
"offered_window_s": 299.736197,
|
||||
"offered_qps": 3.8934236561358655,
|
||||
"wall_clock_s": 789.8321366070013,
|
||||
"amplification": 2.63509093833936,
|
||||
"ttft": {
|
||||
"count": 596,
|
||||
"mean": 240.99040966441748,
|
||||
"p50": 259.1066791820049,
|
||||
"p90": 379.7789027979961,
|
||||
"p99": 381.22047349565617
|
||||
},
|
||||
"tpot": {
|
||||
"count": 596,
|
||||
"mean": 0.006412497327210905,
|
||||
"p50": 0.006444117785865692,
|
||||
"p90": 0.0064974606745333095,
|
||||
"p99": 0.006660929446938789
|
||||
},
|
||||
"e2e": {
|
||||
"count": 596,
|
||||
"mean": 241.39516468475196,
|
||||
"p50": 259.5132920899996,
|
||||
"p90": 380.1822811405,
|
||||
"p99": 381.620277955458
|
||||
}
|
||||
},
|
||||
"6P+2D": {
|
||||
"name": "6P+2D",
|
||||
"n_offered": 1167,
|
||||
"n_success": 712,
|
||||
"completion_rate": 0.6101113967437874,
|
||||
"offered_window_s": 299.736197,
|
||||
"offered_qps": 3.8934236561358655,
|
||||
"wall_clock_s": 880.7267912379903,
|
||||
"amplification": 2.938339780290167,
|
||||
"ttft": {
|
||||
"count": 712,
|
||||
"mean": 175.69983718378106,
|
||||
"p50": 172.43730882649834,
|
||||
"p90": 250.6456608123961,
|
||||
"p99": 594.014642834873
|
||||
},
|
||||
"tpot": {
|
||||
"count": 712,
|
||||
"mean": 0.007946936024875445,
|
||||
"p50": 0.007568808706382119,
|
||||
"p90": 0.010293392149296345,
|
||||
"p99": 0.011275891952114068
|
||||
},
|
||||
"e2e": {
|
||||
"count": 712,
|
||||
"mean": 176.20114515147316,
|
||||
"p50": 172.91078094949626,
|
||||
"p90": 251.09661155799986,
|
||||
"p99": 594.4257701966026
|
||||
}
|
||||
}
|
||||
},
|
||||
"slo_grid": [
|
||||
{
|
||||
"ttft_slo_s": 2.0,
|
||||
"tpot_slo_s": 0.05,
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"attainment": 0.0,
|
||||
"pd_advantage": NaN,
|
||||
"n_slo": 0
|
||||
},
|
||||
"4P+4D": {
|
||||
"attainment": 0.0,
|
||||
"pd_advantage": NaN,
|
||||
"n_slo": 0
|
||||
},
|
||||
"6P+2D": {
|
||||
"attainment": 0.0,
|
||||
"pd_advantage": NaN,
|
||||
"n_slo": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"ttft_slo_s": 5.0,
|
||||
"tpot_slo_s": 0.05,
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"attainment": 0.0,
|
||||
"pd_advantage": NaN,
|
||||
"n_slo": 0
|
||||
},
|
||||
"4P+4D": {
|
||||
"attainment": 0.0,
|
||||
"pd_advantage": NaN,
|
||||
"n_slo": 0
|
||||
},
|
||||
"6P+2D": {
|
||||
"attainment": 0.0,
|
||||
"pd_advantage": NaN,
|
||||
"n_slo": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
142
analysis/crossover/d1_i4096_goodput.json
Normal file
142
analysis/crossover/d1_i4096_goodput.json
Normal file
@@ -0,0 +1,142 @@
|
||||
{
|
||||
"baseline": "8C-proxy",
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"name": "8C-proxy",
|
||||
"n_offered": 1167,
|
||||
"n_success": 1167,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.736197,
|
||||
"offered_qps": 3.8934236561358655,
|
||||
"wall_clock_s": 300.32634208898526,
|
||||
"amplification": 1.0019688816195438,
|
||||
"ttft": {
|
||||
"count": 1167,
|
||||
"mean": 0.2628433253752162,
|
||||
"p50": 0.2604120689211413,
|
||||
"p90": 0.2637787788407877,
|
||||
"p99": 0.2976114549371393
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1167,
|
||||
"mean": 0.005143964614959416,
|
||||
"p50": 0.005124552334318795,
|
||||
"p90": 0.005180289564166395,
|
||||
"p99": 0.0052467077378080115
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1167,
|
||||
"mean": 0.5871811069348818,
|
||||
"p50": 0.5839827890740708,
|
||||
"p90": 0.5883447280153632,
|
||||
"p99": 0.6408826243295329
|
||||
}
|
||||
},
|
||||
"4P+4D": {
|
||||
"name": "4P+4D",
|
||||
"n_offered": 1167,
|
||||
"n_success": 1167,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.736197,
|
||||
"offered_qps": 3.8934236561358655,
|
||||
"wall_clock_s": 300.3759389320621,
|
||||
"amplification": 1.0021343499332585,
|
||||
"ttft": {
|
||||
"count": 1167,
|
||||
"mean": 0.30861241175426407,
|
||||
"p50": 0.3091614870354533,
|
||||
"p90": 0.3227507559815422,
|
||||
"p99": 0.3547600568598136
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1167,
|
||||
"mean": 0.005148936446188915,
|
||||
"p50": 0.0051316127147791645,
|
||||
"p90": 0.005184003428393413,
|
||||
"p99": 0.00547781713853871
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1167,
|
||||
"mean": 0.6332931331915089,
|
||||
"p50": 0.6365591660141945,
|
||||
"p90": 0.6472898541716858,
|
||||
"p99": 0.7053035433730102
|
||||
}
|
||||
},
|
||||
"6P+2D": {
|
||||
"name": "6P+2D",
|
||||
"n_offered": 1167,
|
||||
"n_success": 1167,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.736197,
|
||||
"offered_qps": 3.8934236561358655,
|
||||
"wall_clock_s": 300.4041277950164,
|
||||
"amplification": 1.0022283955081221,
|
||||
"ttft": {
|
||||
"count": 1167,
|
||||
"mean": 0.31527804771431056,
|
||||
"p50": 0.31678270106203854,
|
||||
"p90": 0.3284846659982577,
|
||||
"p99": 0.3402980738645419
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1167,
|
||||
"mean": 0.0055213440500518985,
|
||||
"p50": 0.005325577683776381,
|
||||
"p90": 0.006278165857056304,
|
||||
"p99": 0.0070092806818761975
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1167,
|
||||
"mean": 0.6634175265073216,
|
||||
"p50": 0.6494167000055313,
|
||||
"p90": 0.7135140666039661,
|
||||
"p99": 0.7741130576422437
|
||||
}
|
||||
}
|
||||
},
|
||||
"slo_grid": [
|
||||
{
|
||||
"ttft_slo_s": 2.0,
|
||||
"tpot_slo_s": 0.05,
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
},
|
||||
"4P+4D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
},
|
||||
"6P+2D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"ttft_slo_s": 5.0,
|
||||
"tpot_slo_s": 0.05,
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
},
|
||||
"4P+4D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
},
|
||||
"6P+2D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
142
analysis/crossover/d1_i8192_goodput.json
Normal file
142
analysis/crossover/d1_i8192_goodput.json
Normal file
@@ -0,0 +1,142 @@
|
||||
{
|
||||
"baseline": "8C-proxy",
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"name": "8C-proxy",
|
||||
"n_offered": 1167,
|
||||
"n_success": 1167,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.736197,
|
||||
"offered_qps": 3.8934236561358655,
|
||||
"wall_clock_s": 300.66455180699995,
|
||||
"amplification": 1.0030972395602922,
|
||||
"ttft": {
|
||||
"count": 1167,
|
||||
"mean": 0.584800394000121,
|
||||
"p50": 0.5817365200055065,
|
||||
"p90": 0.5870239008043427,
|
||||
"p99": 0.6088061455392736
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1167,
|
||||
"mean": 0.005585180932058873,
|
||||
"p50": 0.005308644777941813,
|
||||
"p90": 0.005355837698406836,
|
||||
"p99": 0.014590345752427337
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1167,
|
||||
"mean": 0.9369382756572071,
|
||||
"p50": 0.9158835929993074,
|
||||
"p90": 0.9229304600012256,
|
||||
"p99": 1.5052119748995754
|
||||
}
|
||||
},
|
||||
"4P+4D": {
|
||||
"name": "4P+4D",
|
||||
"n_offered": 1167,
|
||||
"n_success": 1167,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.736197,
|
||||
"offered_qps": 3.8934236561358655,
|
||||
"wall_clock_s": 300.7607197400066,
|
||||
"amplification": 1.003418081467173,
|
||||
"ttft": {
|
||||
"count": 1167,
|
||||
"mean": 0.7293765576349805,
|
||||
"p50": 0.6887177099997643,
|
||||
"p90": 0.8911576298065484,
|
||||
"p99": 1.1879012519156076
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1167,
|
||||
"mean": 0.005308951736224922,
|
||||
"p50": 0.0053098901269203495,
|
||||
"p90": 0.005347346425488857,
|
||||
"p99": 0.005420954272433716
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1167,
|
||||
"mean": 1.064155324243521,
|
||||
"p50": 1.0238807429996086,
|
||||
"p90": 1.22566919879755,
|
||||
"p99": 1.521622942700049
|
||||
}
|
||||
},
|
||||
"6P+2D": {
|
||||
"name": "6P+2D",
|
||||
"n_offered": 1167,
|
||||
"n_success": 1167,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.736197,
|
||||
"offered_qps": 3.8934236561358655,
|
||||
"wall_clock_s": 300.8507765819959,
|
||||
"amplification": 1.003718535142407,
|
||||
"ttft": {
|
||||
"count": 1167,
|
||||
"mean": 0.7028102769056583,
|
||||
"p50": 0.6950660040020011,
|
||||
"p90": 0.7394948218076024,
|
||||
"p99": 0.8658222487580485
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1167,
|
||||
"mean": 0.005782890183689697,
|
||||
"p50": 0.00558671395230617,
|
||||
"p90": 0.006629064533303286,
|
||||
"p99": 0.007366264003757681
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1167,
|
||||
"mean": 1.0674261210719522,
|
||||
"p50": 1.0612060459970962,
|
||||
"p90": 1.1425091800017981,
|
||||
"p99": 1.3045775910036173
|
||||
}
|
||||
}
|
||||
},
|
||||
"slo_grid": [
|
||||
{
|
||||
"ttft_slo_s": 2.0,
|
||||
"tpot_slo_s": 0.05,
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
},
|
||||
"4P+4D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
},
|
||||
"6P+2D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"ttft_slo_s": 5.0,
|
||||
"tpot_slo_s": 0.05,
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
},
|
||||
"4P+4D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
},
|
||||
"6P+2D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 1167
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
121
analysis/crossover/d2_o1024_goodput.json
Normal file
121
analysis/crossover/d2_o1024_goodput.json
Normal file
@@ -0,0 +1,121 @@
|
||||
{
|
||||
"baseline": "8C-proxy",
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"name": "8C-proxy",
|
||||
"n_offered": 3552,
|
||||
"n_success": 1950,
|
||||
"completion_rate": 0.5489864864864865,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 348.4953830049999,
|
||||
"amplification": 1.1626534102882857,
|
||||
"ttft": {
|
||||
"count": 1950,
|
||||
"mean": 0.8245253885559363,
|
||||
"p50": 0.7988759850013594,
|
||||
"p90": 1.5384256363991882,
|
||||
"p99": 2.125257717882705
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1950,
|
||||
"mean": 0.07444567704430907,
|
||||
"p50": 0.08914986800879843,
|
||||
"p90": 0.09127071481447005,
|
||||
"p99": 0.09233926755616054
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1950,
|
||||
"mean": 77.04034660455785,
|
||||
"p50": 92.29079191399796,
|
||||
"p90": 94.47993849659906,
|
||||
"p99": 95.72745552870882
|
||||
}
|
||||
},
|
||||
"4P+4D": {
|
||||
"name": "4P+4D",
|
||||
"n_offered": 3552,
|
||||
"n_success": 2754,
|
||||
"completion_rate": 0.7753378378378378,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 744.3694221920014,
|
||||
"amplification": 2.4833719166185753,
|
||||
"ttft": {
|
||||
"count": 2754,
|
||||
"mean": 4.5006646864741695,
|
||||
"p50": 2.329877773499902,
|
||||
"p90": 10.863291689799375,
|
||||
"p99": 21.572781211729307
|
||||
},
|
||||
"tpot": {
|
||||
"count": 2754,
|
||||
"mean": 0.046089308743682535,
|
||||
"p50": 0.04704797274047173,
|
||||
"p90": 0.04792202048768524,
|
||||
"p99": 0.059544689888886115
|
||||
},
|
||||
"e2e": {
|
||||
"count": 2754,
|
||||
"mean": 51.68415100813728,
|
||||
"p50": 50.91020956099965,
|
||||
"p90": 59.22212425199977,
|
||||
"p99": 68.42946432940865
|
||||
}
|
||||
},
|
||||
"6P+2D": {
|
||||
"name": "6P+2D",
|
||||
"n_offered": 3552,
|
||||
"n_success": 1928,
|
||||
"completion_rate": 0.5427927927927928,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 821.7403777359868,
|
||||
"amplification": 2.7414975897474716,
|
||||
"ttft": {
|
||||
"count": 1928,
|
||||
"mean": 39.07585104131927,
|
||||
"p50": 42.6814165695032,
|
||||
"p90": 63.28579387369681,
|
||||
"p99": 73.84470144698193
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1928,
|
||||
"mean": 0.04064862157373329,
|
||||
"p50": 0.0398688508558163,
|
||||
"p90": 0.04277554483881431,
|
||||
"p99": 0.0695667276081441
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1928,
|
||||
"mean": 80.66499786808757,
|
||||
"p50": 84.05398454950046,
|
||||
"p90": 105.42814423799427,
|
||||
"p99": 113.52591980495636
|
||||
}
|
||||
}
|
||||
},
|
||||
"slo_grid": [
|
||||
{
|
||||
"ttft_slo_s": 2.0,
|
||||
"tpot_slo_s": 0.05,
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"attainment": 0.10191441441441441,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 362
|
||||
},
|
||||
"4P+4D": {
|
||||
"attainment": 0.3502252252252252,
|
||||
"pd_advantage": 3.43646408839779,
|
||||
"n_slo": 1244
|
||||
},
|
||||
"6P+2D": {
|
||||
"attainment": 0.06447072072072071,
|
||||
"pd_advantage": 0.6325966850828729,
|
||||
"n_slo": 229
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
121
analysis/crossover/d2_o128_goodput.json
Normal file
121
analysis/crossover/d2_o128_goodput.json
Normal file
@@ -0,0 +1,121 @@
|
||||
{
|
||||
"baseline": "8C-proxy",
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"name": "8C-proxy",
|
||||
"n_offered": 3552,
|
||||
"n_success": 3552,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 300.61600343801547,
|
||||
"amplification": 1.0029177964157683,
|
||||
"ttft": {
|
||||
"count": 3552,
|
||||
"mean": 0.139721406387908,
|
||||
"p50": 0.13759525847854093,
|
||||
"p90": 0.14188919204752892,
|
||||
"p99": 0.17052793529117438
|
||||
},
|
||||
"tpot": {
|
||||
"count": 3552,
|
||||
"mean": 0.006496044329480822,
|
||||
"p50": 0.006430442302898453,
|
||||
"p90": 0.007889476366154117,
|
||||
"p99": 0.009282101713493095
|
||||
},
|
||||
"e2e": {
|
||||
"count": 3552,
|
||||
"mean": 0.9651016481538636,
|
||||
"p50": 0.9548319909954444,
|
||||
"p90": 1.1440699087572284,
|
||||
"p99": 1.3324073514551853
|
||||
}
|
||||
},
|
||||
"4P+4D": {
|
||||
"name": "4P+4D",
|
||||
"n_offered": 3552,
|
||||
"n_success": 3552,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 300.7410873459885,
|
||||
"amplification": 1.0033351024670651,
|
||||
"ttft": {
|
||||
"count": 3552,
|
||||
"mean": 0.18467717330343286,
|
||||
"p50": 0.1806962049449794,
|
||||
"p90": 0.1929074571467936,
|
||||
"p99": 0.2592483600333798
|
||||
},
|
||||
"tpot": {
|
||||
"count": 3552,
|
||||
"mean": 0.006980159784640828,
|
||||
"p50": 0.006945047342387123,
|
||||
"p90": 0.008164690015837552,
|
||||
"p99": 0.009163911323187739
|
||||
},
|
||||
"e2e": {
|
||||
"count": 3552,
|
||||
"mean": 1.0715517728354285,
|
||||
"p50": 1.063076548918616,
|
||||
"p90": 1.2275727374362762,
|
||||
"p99": 1.4021264237130526
|
||||
}
|
||||
},
|
||||
"6P+2D": {
|
||||
"name": "6P+2D",
|
||||
"n_offered": 3552,
|
||||
"n_success": 3552,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 301.1243950970238,
|
||||
"amplification": 1.004613897210595,
|
||||
"ttft": {
|
||||
"count": 3552,
|
||||
"mean": 0.20078434001432569,
|
||||
"p50": 0.19958186394069344,
|
||||
"p90": 0.213167638995219,
|
||||
"p99": 0.23225504373782313
|
||||
},
|
||||
"tpot": {
|
||||
"count": 3552,
|
||||
"mean": 0.010393430778126047,
|
||||
"p50": 0.010396533917478015,
|
||||
"p90": 0.012065167099743436,
|
||||
"p99": 0.01323438493101344
|
||||
},
|
||||
"e2e": {
|
||||
"count": 3552,
|
||||
"mean": 1.5212831554822883,
|
||||
"p50": 1.5218885459471494,
|
||||
"p90": 1.7440477049094625,
|
||||
"p99": 1.9191367691196497
|
||||
}
|
||||
}
|
||||
},
|
||||
"slo_grid": [
|
||||
{
|
||||
"ttft_slo_s": 2.0,
|
||||
"tpot_slo_s": 0.05,
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 3552
|
||||
},
|
||||
"4P+4D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 3552
|
||||
},
|
||||
"6P+2D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 3552
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
121
analysis/crossover/d2_o2048_goodput.json
Normal file
121
analysis/crossover/d2_o2048_goodput.json
Normal file
@@ -0,0 +1,121 @@
|
||||
{
|
||||
"baseline": "8C-proxy",
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"name": "8C-proxy",
|
||||
"n_offered": 3552,
|
||||
"n_success": 1050,
|
||||
"completion_rate": 0.2956081081081081,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 414.92026689198974,
|
||||
"amplification": 1.3842607013613617,
|
||||
"ttft": {
|
||||
"count": 1050,
|
||||
"mean": 0.8393797435154972,
|
||||
"p50": 0.8442945880015031,
|
||||
"p90": 1.4299255040969001,
|
||||
"p99": 2.1686189359705894
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1050,
|
||||
"mean": 0.08418485046407832,
|
||||
"p50": 0.08937374470713316,
|
||||
"p90": 0.09085719287396188,
|
||||
"p99": 0.09190563933350096
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1050,
|
||||
"mean": 173.22149556513375,
|
||||
"p50": 183.9983977669981,
|
||||
"p90": 187.03014375649946,
|
||||
"p99": 189.36978534828302
|
||||
}
|
||||
},
|
||||
"4P+4D": {
|
||||
"name": "4P+4D",
|
||||
"n_offered": 3552,
|
||||
"n_success": 1320,
|
||||
"completion_rate": 0.3716216216216216,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 802.1317602040072,
|
||||
"amplification": 2.6760791447511205,
|
||||
"ttft": {
|
||||
"count": 1320,
|
||||
"mean": 19.92388417242484,
|
||||
"p50": 8.059029546493548,
|
||||
"p90": 64.71132232169766,
|
||||
"p99": 87.07121913193099
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1320,
|
||||
"mean": 0.05007250707090057,
|
||||
"p50": 0.0492711045202749,
|
||||
"p90": 0.07142825628519621,
|
||||
"p99": 0.08267229383702501
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1320,
|
||||
"mean": 122.44309290737698,
|
||||
"p50": 118.35192646600626,
|
||||
"p90": 167.89536100080443,
|
||||
"p99": 187.19021692074878
|
||||
}
|
||||
},
|
||||
"6P+2D": {
|
||||
"name": "6P+2D",
|
||||
"n_offered": 3552,
|
||||
"n_success": 1041,
|
||||
"completion_rate": 0.29307432432432434,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 879.8981197069952,
|
||||
"amplification": 2.935523968100636,
|
||||
"ttft": {
|
||||
"count": 1041,
|
||||
"mean": 86.06142147925078,
|
||||
"p50": 92.45557322700915,
|
||||
"p90": 153.47880471601093,
|
||||
"p99": 159.16995789420034
|
||||
},
|
||||
"tpot": {
|
||||
"count": 1041,
|
||||
"mean": 0.04275836784091199,
|
||||
"p50": 0.038143618996089604,
|
||||
"p90": 0.06297858072350163,
|
||||
"p99": 0.07100282797010407
|
||||
},
|
||||
"e2e": {
|
||||
"count": 1041,
|
||||
"mean": 173.5925440399473,
|
||||
"p50": 199.81516771799943,
|
||||
"p90": 230.71809448600106,
|
||||
"p99": 234.9438766648003
|
||||
}
|
||||
}
|
||||
},
|
||||
"slo_grid": [
|
||||
{
|
||||
"ttft_slo_s": 2.0,
|
||||
"tpot_slo_s": 0.05,
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"attainment": 0.009009009009009009,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 32
|
||||
},
|
||||
"4P+4D": {
|
||||
"attainment": 0.11486486486486487,
|
||||
"pd_advantage": 12.75,
|
||||
"n_slo": 408
|
||||
},
|
||||
"6P+2D": {
|
||||
"attainment": 0.04954954954954955,
|
||||
"pd_advantage": 5.5,
|
||||
"n_slo": 176
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
121
analysis/crossover/d2_o256_goodput.json
Normal file
121
analysis/crossover/d2_o256_goodput.json
Normal file
@@ -0,0 +1,121 @@
|
||||
{
|
||||
"baseline": "8C-proxy",
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"name": "8C-proxy",
|
||||
"n_offered": 3552,
|
||||
"n_success": 3552,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 301.78380814404227,
|
||||
"amplification": 1.0068138369093473,
|
||||
"ttft": {
|
||||
"count": 3552,
|
||||
"mean": 0.14506312318632342,
|
||||
"p50": 0.14291562204016373,
|
||||
"p90": 0.1491016250802204,
|
||||
"p99": 0.1832571337954128
|
||||
},
|
||||
"tpot": {
|
||||
"count": 3552,
|
||||
"mean": 0.0089611879488046,
|
||||
"p50": 0.008925844482420122,
|
||||
"p90": 0.010698060123752072,
|
||||
"p99": 0.011754058378410762
|
||||
},
|
||||
"e2e": {
|
||||
"count": 3552,
|
||||
"mean": 2.430673889741114,
|
||||
"p50": 2.419925262918696,
|
||||
"p90": 2.874893436266575,
|
||||
"p99": 3.1480205075151746
|
||||
}
|
||||
},
|
||||
"4P+4D": {
|
||||
"name": "4P+4D",
|
||||
"n_offered": 3552,
|
||||
"n_success": 3551,
|
||||
"completion_rate": 0.9997184684684685,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 744.8868488909211,
|
||||
"amplification": 2.4850981601942745,
|
||||
"ttft": {
|
||||
"count": 3551,
|
||||
"mean": 0.20500909556101396,
|
||||
"p50": 0.20017725799698383,
|
||||
"p90": 0.21613375598099083,
|
||||
"p99": 0.29023518750909716
|
||||
},
|
||||
"tpot": {
|
||||
"count": 3551,
|
||||
"mean": 0.010307210080394247,
|
||||
"p50": 0.010299421709450874,
|
||||
"p90": 0.011793581666607482,
|
||||
"p99": 0.012639003840969035
|
||||
},
|
||||
"e2e": {
|
||||
"count": 3551,
|
||||
"mean": 2.8339171693501317,
|
||||
"p50": 2.8360355379991233,
|
||||
"p90": 3.2198793930001557,
|
||||
"p99": 3.438588996999897
|
||||
}
|
||||
},
|
||||
"6P+2D": {
|
||||
"name": "6P+2D",
|
||||
"n_offered": 3552,
|
||||
"n_success": 3552,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 303.4300506779691,
|
||||
"amplification": 1.0123060459587976,
|
||||
"ttft": {
|
||||
"count": 3552,
|
||||
"mean": 0.2333820717117756,
|
||||
"p50": 0.23283391550648957,
|
||||
"p90": 0.24394672318594532,
|
||||
"p99": 0.2734717815916518
|
||||
},
|
||||
"tpot": {
|
||||
"count": 3552,
|
||||
"mean": 0.016453822599812207,
|
||||
"p50": 0.016576926972415737,
|
||||
"p90": 0.017214638463623238,
|
||||
"p99": 0.01769411424845092
|
||||
},
|
||||
"e2e": {
|
||||
"count": 3552,
|
||||
"mean": 4.430368151474328,
|
||||
"p50": 4.463736370031256,
|
||||
"p90": 4.628522685484495,
|
||||
"p99": 4.75812664218829
|
||||
}
|
||||
}
|
||||
},
|
||||
"slo_grid": [
|
||||
{
|
||||
"ttft_slo_s": 2.0,
|
||||
"tpot_slo_s": 0.05,
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 3552
|
||||
},
|
||||
"4P+4D": {
|
||||
"attainment": 0.9997184684684685,
|
||||
"pd_advantage": 0.9997184684684685,
|
||||
"n_slo": 3551
|
||||
},
|
||||
"6P+2D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 3552
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
121
analysis/crossover/d2_o4096_goodput.json
Normal file
121
analysis/crossover/d2_o4096_goodput.json
Normal file
@@ -0,0 +1,121 @@
|
||||
{
|
||||
"baseline": "8C-proxy",
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"name": "8C-proxy",
|
||||
"n_offered": 3552,
|
||||
"n_success": 545,
|
||||
"completion_rate": 0.15343468468468469,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 505.4139580530027,
|
||||
"amplification": 1.6861665622961597,
|
||||
"ttft": {
|
||||
"count": 545,
|
||||
"mean": 4.137136383750316,
|
||||
"p50": 0.5702517530007754,
|
||||
"p90": 1.6976309113961179,
|
||||
"p99": 56.1814190310361
|
||||
},
|
||||
"tpot": {
|
||||
"count": 545,
|
||||
"mean": 0.08390926873267023,
|
||||
"p50": 0.08933810225128375,
|
||||
"p90": 0.09449654152820693,
|
||||
"p99": 0.10591519025133134
|
||||
},
|
||||
"e2e": {
|
||||
"count": 545,
|
||||
"mean": 347.7765141811284,
|
||||
"p50": 366.3568219640001,
|
||||
"p90": 388.1241692415934,
|
||||
"p99": 435.2848098113155
|
||||
}
|
||||
},
|
||||
"4P+4D": {
|
||||
"name": "4P+4D",
|
||||
"n_offered": 3552,
|
||||
"n_success": 771,
|
||||
"completion_rate": 0.2170608108108108,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 850.1328976760124,
|
||||
"amplification": 2.8362209684341706,
|
||||
"ttft": {
|
||||
"count": 771,
|
||||
"mean": 63.210636654403324,
|
||||
"p50": 1.1097561890055658,
|
||||
"p90": 179.64081536799495,
|
||||
"p99": 186.67013871119852
|
||||
},
|
||||
"tpot": {
|
||||
"count": 771,
|
||||
"mean": 0.05484690890217986,
|
||||
"p50": 0.04795774376874187,
|
||||
"p90": 0.08067800507863548,
|
||||
"p99": 0.09099416300415113
|
||||
},
|
||||
"e2e": {
|
||||
"count": 771,
|
||||
"mean": 287.81779562259663,
|
||||
"p50": 312.2160719559906,
|
||||
"p90": 372.0004520520015,
|
||||
"p99": 379.3279856524052
|
||||
}
|
||||
},
|
||||
"6P+2D": {
|
||||
"name": "6P+2D",
|
||||
"n_offered": 3552,
|
||||
"n_success": 627,
|
||||
"completion_rate": 0.17652027027027026,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 867.8833550199925,
|
||||
"amplification": 2.8954402028102515,
|
||||
"ttft": {
|
||||
"count": 627,
|
||||
"mean": 179.58769048342904,
|
||||
"p50": 238.1998468660022,
|
||||
"p90": 378.29023678940143,
|
||||
"p99": 385.40577973942356
|
||||
},
|
||||
"tpot": {
|
||||
"count": 627,
|
||||
"mean": 0.04188420961205498,
|
||||
"p50": 0.03654626756630041,
|
||||
"p90": 0.06031132874202571,
|
||||
"p99": 0.06738955674930582
|
||||
},
|
||||
"e2e": {
|
||||
"count": 627,
|
||||
"mean": 351.1066520824709,
|
||||
"p50": 387.2650127700035,
|
||||
"p90": 507.9008203571953,
|
||||
"p99": 570.6463984230224
|
||||
}
|
||||
}
|
||||
},
|
||||
"slo_grid": [
|
||||
{
|
||||
"ttft_slo_s": 2.0,
|
||||
"tpot_slo_s": 0.05,
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"attainment": 0.0,
|
||||
"pd_advantage": NaN,
|
||||
"n_slo": 0
|
||||
},
|
||||
"4P+4D": {
|
||||
"attainment": 0.05855855855855856,
|
||||
"pd_advantage": NaN,
|
||||
"n_slo": 208
|
||||
},
|
||||
"6P+2D": {
|
||||
"attainment": 0.036036036036036036,
|
||||
"pd_advantage": NaN,
|
||||
"n_slo": 128
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
121
analysis/crossover/d2_o512_goodput.json
Normal file
121
analysis/crossover/d2_o512_goodput.json
Normal file
@@ -0,0 +1,121 @@
|
||||
{
|
||||
"baseline": "8C-proxy",
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"name": "8C-proxy",
|
||||
"n_offered": 3552,
|
||||
"n_success": 3552,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 304.97662343096454,
|
||||
"amplification": 1.0174657357946404,
|
||||
"ttft": {
|
||||
"count": 3552,
|
||||
"mean": 0.16242270423816507,
|
||||
"p50": 0.15836620499612764,
|
||||
"p90": 0.17363918052287775,
|
||||
"p99": 0.24847999344696287
|
||||
},
|
||||
"tpot": {
|
||||
"count": 3552,
|
||||
"mean": 0.013691483182659388,
|
||||
"p50": 0.013865661168213087,
|
||||
"p90": 0.015242900696529327,
|
||||
"p99": 0.01626683903372128
|
||||
},
|
||||
"e2e": {
|
||||
"count": 3552,
|
||||
"mean": 7.160272567887971,
|
||||
"p50": 7.247483663493767,
|
||||
"p90": 7.962273431208451,
|
||||
"p99": 8.480892732607899
|
||||
}
|
||||
},
|
||||
"4P+4D": {
|
||||
"name": "4P+4D",
|
||||
"n_offered": 3552,
|
||||
"n_success": 3551,
|
||||
"completion_rate": 0.9997184684684685,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 744.9637431279989,
|
||||
"amplification": 2.4853546954349977,
|
||||
"ttft": {
|
||||
"count": 3551,
|
||||
"mean": 0.2446379999283825,
|
||||
"p50": 0.24067969399038702,
|
||||
"p90": 0.2630795220611617,
|
||||
"p99": 0.3426029055262916
|
||||
},
|
||||
"tpot": {
|
||||
"count": 3551,
|
||||
"mean": 0.016916919575073883,
|
||||
"p50": 0.016998299133030737,
|
||||
"p90": 0.01775875886689886,
|
||||
"p99": 0.018166751548973206
|
||||
},
|
||||
"e2e": {
|
||||
"count": 3551,
|
||||
"mean": 8.89104466149889,
|
||||
"p50": 8.933106195996515,
|
||||
"p90": 9.333998591057025,
|
||||
"p99": 9.536390463996213
|
||||
}
|
||||
},
|
||||
"6P+2D": {
|
||||
"name": "6P+2D",
|
||||
"n_offered": 3552,
|
||||
"n_success": 3551,
|
||||
"completion_rate": 0.9997184684684685,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 312.45468625507783,
|
||||
"amplification": 1.0424141157985172,
|
||||
"ttft": {
|
||||
"count": 3551,
|
||||
"mean": 0.36231219612768273,
|
||||
"p50": 0.3462264990666881,
|
||||
"p90": 0.4059687410481274,
|
||||
"p99": 0.9837204645154998
|
||||
},
|
||||
"tpot": {
|
||||
"count": 3551,
|
||||
"mean": 0.03268022218101953,
|
||||
"p50": 0.03333031399418835,
|
||||
"p90": 0.03557429400772957,
|
||||
"p99": 0.038558618127279086
|
||||
},
|
||||
"e2e": {
|
||||
"count": 3551,
|
||||
"mean": 17.068018403084057,
|
||||
"p50": 17.392655145958997,
|
||||
"p90": 18.56302695896011,
|
||||
"p99": 20.159411454980727
|
||||
}
|
||||
}
|
||||
},
|
||||
"slo_grid": [
|
||||
{
|
||||
"ttft_slo_s": 2.0,
|
||||
"tpot_slo_s": 0.05,
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 3552
|
||||
},
|
||||
"4P+4D": {
|
||||
"attainment": 0.9997184684684685,
|
||||
"pd_advantage": 0.9997184684684685,
|
||||
"n_slo": 3551
|
||||
},
|
||||
"6P+2D": {
|
||||
"attainment": 0.9997184684684685,
|
||||
"pd_advantage": 0.9997184684684685,
|
||||
"n_slo": 3551
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
121
analysis/crossover/d2_o64_goodput.json
Normal file
121
analysis/crossover/d2_o64_goodput.json
Normal file
@@ -0,0 +1,121 @@
|
||||
{
|
||||
"baseline": "8C-proxy",
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"name": "8C-proxy",
|
||||
"n_offered": 3552,
|
||||
"n_success": 3552,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 300.21845804993063,
|
||||
"amplification": 1.001591501940313,
|
||||
"ttft": {
|
||||
"count": 3552,
|
||||
"mean": 0.1369056966029782,
|
||||
"p50": 0.13516780693316832,
|
||||
"p90": 0.13835511771030723,
|
||||
"p99": 0.15317223175661632
|
||||
},
|
||||
"tpot": {
|
||||
"count": 3552,
|
||||
"mean": 0.005430781936309906,
|
||||
"p50": 0.005039893150780468,
|
||||
"p90": 0.007063257358303028,
|
||||
"p99": 0.0077793481296283135
|
||||
},
|
||||
"e2e": {
|
||||
"count": 3552,
|
||||
"mean": 0.4793568905444592,
|
||||
"p50": 0.45412574551301077,
|
||||
"p90": 0.5810393166844734,
|
||||
"p99": 0.6301419002050533
|
||||
}
|
||||
},
|
||||
"4P+4D": {
|
||||
"name": "4P+4D",
|
||||
"n_offered": 3552,
|
||||
"n_success": 3551,
|
||||
"completion_rate": 0.9997184684684685,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 735.1059510430787,
|
||||
"amplification": 2.452467041410379,
|
||||
"ttft": {
|
||||
"count": 3551,
|
||||
"mean": 0.17374673821534295,
|
||||
"p50": 0.17102365801110864,
|
||||
"p90": 0.18273873499128968,
|
||||
"p99": 0.24688138795318082
|
||||
},
|
||||
"tpot": {
|
||||
"count": 3551,
|
||||
"mean": 0.005485491774206834,
|
||||
"p50": 0.0053864502226046865,
|
||||
"p90": 0.006091995366168992,
|
||||
"p99": 0.007109403222178419
|
||||
},
|
||||
"e2e": {
|
||||
"count": 3551,
|
||||
"mean": 0.5196563635758822,
|
||||
"p50": 0.5100997349945828,
|
||||
"p90": 0.5655082209268585,
|
||||
"p99": 0.6639982180204242
|
||||
}
|
||||
},
|
||||
"6P+2D": {
|
||||
"name": "6P+2D",
|
||||
"n_offered": 3552,
|
||||
"n_success": 3552,
|
||||
"completion_rate": 1.0,
|
||||
"offered_window_s": 299.74141899999995,
|
||||
"offered_qps": 11.850214134070008,
|
||||
"wall_clock_s": 300.38101644301787,
|
||||
"amplification": 1.0021338307036503,
|
||||
"ttft": {
|
||||
"count": 3552,
|
||||
"mean": 0.18293367427152893,
|
||||
"p50": 0.1822461549891159,
|
||||
"p90": 0.1938482352765277,
|
||||
"p99": 0.21272844232735222
|
||||
},
|
||||
"tpot": {
|
||||
"count": 3552,
|
||||
"mean": 0.007192309629699456,
|
||||
"p50": 0.007143509595484902,
|
||||
"p90": 0.008732455453672816,
|
||||
"p99": 0.009842920153335268
|
||||
},
|
||||
"e2e": {
|
||||
"count": 3552,
|
||||
"mean": 0.636424056327808,
|
||||
"p50": 0.6324848984950222,
|
||||
"p90": 0.7393875011475757,
|
||||
"p99": 0.8261980937235056
|
||||
}
|
||||
}
|
||||
},
|
||||
"slo_grid": [
|
||||
{
|
||||
"ttft_slo_s": 2.0,
|
||||
"tpot_slo_s": 0.05,
|
||||
"arms": {
|
||||
"8C-proxy": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 3552
|
||||
},
|
||||
"4P+4D": {
|
||||
"attainment": 0.9997184684684685,
|
||||
"pd_advantage": 0.9997184684684685,
|
||||
"n_slo": 3551
|
||||
},
|
||||
"6P+2D": {
|
||||
"attainment": 1.0,
|
||||
"pd_advantage": 1.0,
|
||||
"n_slo": 3552
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
81
analysis/workload_chars/README.md
Normal file
81
analysis/workload_chars/README.md
Normal file
@@ -0,0 +1,81 @@
|
||||
# Agentic workload characterization C1–C3 (full 051315 production trace)
|
||||
|
||||
Date 2026-05-29. Source: `trace-glm5.1-formatted/051315-051317.jsonl` on dash1
|
||||
(release file, 2,114,220 requests / 1,307,276 sessions / 2h, type=100% `coder`).
|
||||
This release file **is the full cluster-level production trace** — session skew
|
||||
reproduces 46.5/66.5/74.6/87.5/96.0 exactly. Compute: `compute_chars.py`
|
||||
(2-pass, ~65s, `~/ali-trace/.venv` python). Numbers: `chars.json`.
|
||||
|
||||
> ⚠️ **Cluster-level, not per-instance.** This is one cluster's aggregate stream.
|
||||
> Concurrent-session counts have NO denominator of "8 instances" — do not compare
|
||||
> them to a single deployment's instance count.
|
||||
|
||||
These three are NOT in the existing 13 analyzer figures (which are single-variable
|
||||
marginals on the older 041x traces). C1–C3 are joint/temporal and argument-bearing.
|
||||
|
||||
## C1 — the workload is a MIXTURE, not "multi-turn agentic" (`c1_session_mixture.png`)
|
||||
|
||||
- **90.3%** of sessions are single-turn; mean 1.62 turns, p99=18, max=3091.
|
||||
- But multi-turn sessions (9.7%) = **44.2% of requests** and **66.9% of input
|
||||
(prefill) mass**. Single-turn = **60.2% of output (decode) mass**.
|
||||
- Continuation hazard P(reach k+1 | reached k): turn1→2 only **10.2%**, but
|
||||
turn2→3 50.6%, turn5→6 87%, turn12→13 **94.3%** (Lindy / Pareto).
|
||||
- Predictability of heaviness at cold-start is near-zero:
|
||||
corr(turn1_input, session_mass)=0.15, corr(turn1_input, n_turns)=**0.04**.
|
||||
|
||||
**Routing:** heaviness is unpredictable at session start → proactive placement
|
||||
cannot pre-empt hot-pin → a REACTIVE mechanism (observable-load routing /
|
||||
migration) is required. But once a session has shown depth, it almost surely
|
||||
continues → "observed accumulated load" is the signal that works (not turn-1
|
||||
features, not cost-model prediction). The single/multi optimal strategies are
|
||||
opposite (load-balance the 90% one-shot sea vs affinity-pin the deep tail) and
|
||||
you can't tell them apart at turn 1 → the only viable policy starts everyone
|
||||
load-balanced and becomes sticky as turns accrue. This is exactly LPWL's
|
||||
emergent behavior (`new_uncached≈input`→by-load; `new_uncached≈0`→sticks), so
|
||||
C1 explains *why* a cache-aware-load score is the right shape — it auto-segments
|
||||
the mixture with no classifier.
|
||||
|
||||
## C2 — marginal work collapses while resident state explodes (`c2_work_amortization.png`)
|
||||
|
||||
Per turn: resident context grows 11k→56k+ tokens while new prefill collapses
|
||||
2.7k→~200 tokens; per-turn reuse climbs 83%→**99.6%**; resident/new ratio
|
||||
("the PD tax") grows to ~250× by turn 12, ~450× by turn 30.
|
||||
|
||||
**PD-colocation:** the dominant cost is keeping ~50k+ resident KV available for
|
||||
the next turn's tiny delta. Disaggregation physically splits a turn's prefill-KV
|
||||
(P) and decode-KV (D), and the next turn's prefix = [prevPrompt + prevAnswer]
|
||||
spans both → must be gathered/transferred; colocation keeps it local for free.
|
||||
**Routing:** route on delta (`input − cache_hit`), never total input — C2 is the
|
||||
trace-level justification for LPWL's score function.
|
||||
|
||||
## C3 — prefill/decode BALANCE (honest reframe) (`c3_prefill_decode_balance.png`)
|
||||
|
||||
- Token mass: 98.7% input / **1.3% output**; of input, 60% reused-prefix, 40%
|
||||
new-prefill (28.6B new-prefill tokens vs 0.94B decode tokens).
|
||||
- **But tokens ≠ time.** Under a per-request latency model (prefill@7k tok/s,
|
||||
TPOT 10ms), aggregate decode-time share ≈ **70% (robust 68–71% across
|
||||
constants)** — each decode token costs ~70–140× a prefill token. So this is
|
||||
NOT a "decode is negligible" workload.
|
||||
- Per-request the bottleneck FLIPS within a session: turn-1 (and the 90%
|
||||
single-turn) is prefill-bound; turns ≥3 are strongly decode-bound.
|
||||
|
||||
**PD-colocation (correct argument):** the workload has *substantial* work on both
|
||||
sides of the roofline — compute-bound prefill (~30% of time) and memory-bound
|
||||
decode (~70%). Colocation interleaves them on one GPU (chunked prefill +
|
||||
continuous batching) so compute and HBM bandwidth are both used; static
|
||||
disaggregation strands P-instances bandwidth-idle and D-instances compute-idle.
|
||||
The earlier "decode is 1.3% so nothing to isolate" instinct was WRONG (token vs
|
||||
time confusion) — C3b is the correction.
|
||||
|
||||
**Caveat:** C3b's 70% is a per-request-latency-weighted estimate; batched decode
|
||||
throughput will shift it. Ground-truth needs `-raw.jsonl` (`usage.cached_tokens`
|
||||
for exact reuse; `backend_first_response_time_ms` / `total_cost_time_ms` for real
|
||||
prefill vs decode wall time). Sampling that 522GB file is the next step.
|
||||
|
||||
## Goal mapping
|
||||
|
||||
| | argue PD-colocation | guide routing |
|
||||
|---|---|---|
|
||||
| C1 mixture + hazard | both segments favor colo (diff reasons) | reactive + auto-segment ⇒ LPWL shape |
|
||||
| C2 resident/delta | the PD tax (transfer/split resident KV) | route on delta, not total |
|
||||
| C3 prefill/decode | roofline complementarity (interleave) | per-req bottleneck flips within session |
|
||||
964
analysis/workload_chars/chars.json
Normal file
964
analysis/workload_chars/chars.json
Normal file
@@ -0,0 +1,964 @@
|
||||
{
|
||||
"mixture": {
|
||||
"single_sessions": 1179990,
|
||||
"multi_sessions": 127286,
|
||||
"req_single_pct": 55.81207253738968,
|
||||
"req_multi_pct": 44.187927462610325,
|
||||
"in_single_pct": 33.12487590117447,
|
||||
"in_multi_pct": 66.87512409882554,
|
||||
"out_single_pct": 60.24502960903973,
|
||||
"out_multi_pct": 39.75497039096027
|
||||
},
|
||||
"turns": {
|
||||
"mean": 1.6172713336739908,
|
||||
"p99": 18.0,
|
||||
"max": 3091,
|
||||
"single_turn_pct": 90.26326498765371
|
||||
},
|
||||
"hazard": {
|
||||
"1": 0.102101621998721,
|
||||
"2": 0.5062146469376287,
|
||||
"3": 0.7351961756478754,
|
||||
"4": 0.8113739305485657,
|
||||
"5": 0.8723731546954472,
|
||||
"6": 0.8669264241631353,
|
||||
"7": 0.9093235352011023,
|
||||
"8": 0.9240204920989971,
|
||||
"9": 0.901725753553022,
|
||||
"10": 0.9346178826585841,
|
||||
"11": 0.9260597637248089,
|
||||
"12": 0.9427685226874781,
|
||||
"13": 0.91950119395065,
|
||||
"14": 0.936865189289012,
|
||||
"15": 0.9382160896883085,
|
||||
"16": 0.9308646838684262,
|
||||
"17": 0.9371561574269995,
|
||||
"18": 0.9312862196131557,
|
||||
"19": 0.9333279456925813,
|
||||
"20": 0.9351459000779289,
|
||||
"21": 0.9399074074074074,
|
||||
"22": 0.9404984730568416,
|
||||
"23": 0.9473132921336546,
|
||||
"24": 0.9193940734188413,
|
||||
"25": 0.9497294046903187,
|
||||
"26": 0.9323793845764214,
|
||||
"27": 0.9483906016569333,
|
||||
"28": 0.9368466275239868,
|
||||
"29": 0.9472638336900031
|
||||
},
|
||||
"token_mass": {
|
||||
"total_input": 71116829368,
|
||||
"total_output": 940765734,
|
||||
"out_in_ratio_pct": 1.3228454394837104,
|
||||
"new_prefill": 28616906067,
|
||||
"reused_prefix": 42499923301,
|
||||
"new_prefill_pct_of_input": 40.23928839532401
|
||||
},
|
||||
"decode_time_fraction": {
|
||||
"optimistic_for_prefill": 0.6812079219496285,
|
||||
"mid": 0.6970810590484581,
|
||||
"pessimistic": 0.711448473592609
|
||||
},
|
||||
"per_turn": {
|
||||
"turn": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12,
|
||||
13,
|
||||
14,
|
||||
15,
|
||||
16,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
24,
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28,
|
||||
29,
|
||||
30,
|
||||
31,
|
||||
32,
|
||||
33,
|
||||
34,
|
||||
35,
|
||||
36,
|
||||
37,
|
||||
38,
|
||||
39,
|
||||
40,
|
||||
41,
|
||||
42,
|
||||
43,
|
||||
44,
|
||||
45,
|
||||
46,
|
||||
47,
|
||||
48,
|
||||
49,
|
||||
50,
|
||||
51,
|
||||
52,
|
||||
53,
|
||||
54,
|
||||
55,
|
||||
56,
|
||||
57,
|
||||
58,
|
||||
59,
|
||||
60,
|
||||
61,
|
||||
62,
|
||||
63,
|
||||
64,
|
||||
65,
|
||||
66,
|
||||
67,
|
||||
68,
|
||||
69,
|
||||
70,
|
||||
71,
|
||||
72,
|
||||
73,
|
||||
74,
|
||||
75,
|
||||
76,
|
||||
77,
|
||||
78,
|
||||
79,
|
||||
80,
|
||||
81,
|
||||
82,
|
||||
83,
|
||||
84,
|
||||
85,
|
||||
86,
|
||||
87,
|
||||
88,
|
||||
89,
|
||||
90,
|
||||
91,
|
||||
92,
|
||||
93,
|
||||
94,
|
||||
95,
|
||||
96,
|
||||
97,
|
||||
98,
|
||||
99,
|
||||
100,
|
||||
101,
|
||||
102,
|
||||
103,
|
||||
104,
|
||||
105,
|
||||
106,
|
||||
107,
|
||||
108,
|
||||
109,
|
||||
110,
|
||||
111,
|
||||
112,
|
||||
113,
|
||||
114,
|
||||
115,
|
||||
116,
|
||||
117,
|
||||
118,
|
||||
119,
|
||||
120,
|
||||
121,
|
||||
122,
|
||||
123,
|
||||
124,
|
||||
125,
|
||||
126,
|
||||
127,
|
||||
128,
|
||||
129,
|
||||
130,
|
||||
131,
|
||||
132,
|
||||
133,
|
||||
134,
|
||||
135,
|
||||
136,
|
||||
137,
|
||||
138,
|
||||
139,
|
||||
140,
|
||||
141,
|
||||
142,
|
||||
143,
|
||||
144,
|
||||
145,
|
||||
146,
|
||||
147,
|
||||
148
|
||||
],
|
||||
"med_resident_input": [
|
||||
11035.0,
|
||||
19505.0,
|
||||
28059.0,
|
||||
35089.0,
|
||||
41215.0,
|
||||
44750.0,
|
||||
47419.5,
|
||||
49874.0,
|
||||
51905.0,
|
||||
53068.0,
|
||||
54782.0,
|
||||
56414.0,
|
||||
58229.0,
|
||||
59123.5,
|
||||
60434.5,
|
||||
61320.0,
|
||||
62243.0,
|
||||
63411.0,
|
||||
64510.5,
|
||||
65423.0,
|
||||
66942.5,
|
||||
67965.0,
|
||||
68826.0,
|
||||
70165.5,
|
||||
70052.0,
|
||||
70936.0,
|
||||
71547.0,
|
||||
72648.0,
|
||||
73406.0,
|
||||
73844.0,
|
||||
73604.0,
|
||||
74937.5,
|
||||
74778.0,
|
||||
75460.0,
|
||||
75029.0,
|
||||
74978.0,
|
||||
75933.0,
|
||||
76590.0,
|
||||
74695.0,
|
||||
76813.0,
|
||||
77079.5,
|
||||
78310.0,
|
||||
77848.0,
|
||||
77549.0,
|
||||
78203.0,
|
||||
79102.0,
|
||||
79202.0,
|
||||
78821.0,
|
||||
79868.0,
|
||||
80229.5,
|
||||
80912.0,
|
||||
81620.0,
|
||||
81612.5,
|
||||
81836.5,
|
||||
82506.0,
|
||||
82948.0,
|
||||
82633.0,
|
||||
84107.5,
|
||||
84176.0,
|
||||
84441.0,
|
||||
84101.0,
|
||||
85192.0,
|
||||
84127.0,
|
||||
84783.5,
|
||||
85087.0,
|
||||
85771.5,
|
||||
86110.0,
|
||||
85374.5,
|
||||
87137.0,
|
||||
87677.0,
|
||||
88587.0,
|
||||
88656.0,
|
||||
88882.0,
|
||||
89284.0,
|
||||
91512.0,
|
||||
89850.0,
|
||||
90596.0,
|
||||
91244.0,
|
||||
92102.0,
|
||||
93431.0,
|
||||
92333.5,
|
||||
96682.0,
|
||||
94999.0,
|
||||
95226.5,
|
||||
95173.0,
|
||||
95910.0,
|
||||
96528.0,
|
||||
96508.0,
|
||||
97270.0,
|
||||
97301.0,
|
||||
97076.5,
|
||||
97105.0,
|
||||
98032.0,
|
||||
97962.5,
|
||||
97968.5,
|
||||
98310.0,
|
||||
97061.0,
|
||||
97631.0,
|
||||
100126.0,
|
||||
97765.0,
|
||||
101076.0,
|
||||
98198.5,
|
||||
98678.0,
|
||||
98307.0,
|
||||
99174.0,
|
||||
99882.0,
|
||||
99974.0,
|
||||
99757.0,
|
||||
100065.5,
|
||||
99943.0,
|
||||
100612.0,
|
||||
101138.0,
|
||||
106738.0,
|
||||
99621.0,
|
||||
101980.0,
|
||||
102252.0,
|
||||
103018.0,
|
||||
101238.0,
|
||||
102005.0,
|
||||
101897.0,
|
||||
103576.0,
|
||||
102159.5,
|
||||
102695.5,
|
||||
100590.5,
|
||||
103236.0,
|
||||
101812.0,
|
||||
103074.0,
|
||||
99966.0,
|
||||
102183.5,
|
||||
101882.0,
|
||||
102572.5,
|
||||
105622.5,
|
||||
106066.0,
|
||||
103974.0,
|
||||
105443.5,
|
||||
104716.0,
|
||||
105041.0,
|
||||
106628.0,
|
||||
108320.0,
|
||||
108022.5,
|
||||
107621.5,
|
||||
107664.0,
|
||||
107913.0,
|
||||
108630.0,
|
||||
108382.0,
|
||||
107216.5,
|
||||
105731.0,
|
||||
103986.0
|
||||
],
|
||||
"med_new_prefill": [
|
||||
11035.0,
|
||||
2920.0,
|
||||
1249.0,
|
||||
767.0,
|
||||
628.0,
|
||||
485.0,
|
||||
400.0,
|
||||
359.0,
|
||||
314.0,
|
||||
274.0,
|
||||
263.0,
|
||||
258.0,
|
||||
244.0,
|
||||
231.0,
|
||||
227.0,
|
||||
222.0,
|
||||
201.0,
|
||||
200.0,
|
||||
198.0,
|
||||
189.0,
|
||||
182.5,
|
||||
184.0,
|
||||
179.0,
|
||||
188.0,
|
||||
173.0,
|
||||
180.0,
|
||||
164.0,
|
||||
167.0,
|
||||
159.5,
|
||||
168.0,
|
||||
156.0,
|
||||
174.0,
|
||||
156.0,
|
||||
159.0,
|
||||
166.0,
|
||||
165.0,
|
||||
153.0,
|
||||
158.0,
|
||||
182.0,
|
||||
149.0,
|
||||
184.0,
|
||||
172.0,
|
||||
149.0,
|
||||
167.0,
|
||||
163.0,
|
||||
152.0,
|
||||
153.0,
|
||||
171.0,
|
||||
151.0,
|
||||
146.0,
|
||||
162.0,
|
||||
153.0,
|
||||
156.0,
|
||||
164.0,
|
||||
148.0,
|
||||
143.0,
|
||||
143.0,
|
||||
149.0,
|
||||
170.5,
|
||||
159.0,
|
||||
144.0,
|
||||
168.0,
|
||||
148.0,
|
||||
144.5,
|
||||
142.5,
|
||||
146.5,
|
||||
147.0,
|
||||
157.0,
|
||||
168.0,
|
||||
153.0,
|
||||
155.0,
|
||||
127.5,
|
||||
145.0,
|
||||
143.0,
|
||||
146.0,
|
||||
123.0,
|
||||
139.0,
|
||||
137.0,
|
||||
115.0,
|
||||
139.5,
|
||||
117.0,
|
||||
154.0,
|
||||
111.0,
|
||||
124.0,
|
||||
118.0,
|
||||
90.0,
|
||||
104.0,
|
||||
116.0,
|
||||
112.0,
|
||||
76.5,
|
||||
110.0,
|
||||
101.0,
|
||||
123.0,
|
||||
114.0,
|
||||
86.0,
|
||||
92.0,
|
||||
108.0,
|
||||
85.0,
|
||||
146.0,
|
||||
77.5,
|
||||
101.0,
|
||||
102.0,
|
||||
85.0,
|
||||
77.0,
|
||||
114.0,
|
||||
66.0,
|
||||
105.0,
|
||||
90.0,
|
||||
89.0,
|
||||
100.0,
|
||||
108.5,
|
||||
100.0,
|
||||
169.0,
|
||||
89.0,
|
||||
106.5,
|
||||
78.0,
|
||||
75.0,
|
||||
90.0,
|
||||
77.0,
|
||||
88.0,
|
||||
102.0,
|
||||
83.5,
|
||||
123.5,
|
||||
116.5,
|
||||
108.0,
|
||||
119.0,
|
||||
82.0,
|
||||
80.0,
|
||||
105.0,
|
||||
90.0,
|
||||
91.0,
|
||||
113.0,
|
||||
122.0,
|
||||
102.0,
|
||||
101.5,
|
||||
64.0,
|
||||
78.0,
|
||||
52.5,
|
||||
98.5,
|
||||
72.0,
|
||||
87.0,
|
||||
102.0,
|
||||
97.0,
|
||||
123.0,
|
||||
80.0,
|
||||
132.5,
|
||||
86.5,
|
||||
111.0
|
||||
],
|
||||
"med_output": [
|
||||
63.0,
|
||||
67.0,
|
||||
111.0,
|
||||
142.0,
|
||||
158.0,
|
||||
162.0,
|
||||
164.0,
|
||||
164.0,
|
||||
159.0,
|
||||
160.0,
|
||||
159.0,
|
||||
161.0,
|
||||
160.0,
|
||||
158.0,
|
||||
154.0,
|
||||
154.0,
|
||||
154.0,
|
||||
149.0,
|
||||
146.0,
|
||||
147.0,
|
||||
142.0,
|
||||
144.0,
|
||||
143.0,
|
||||
142.0,
|
||||
140.0,
|
||||
136.0,
|
||||
137.0,
|
||||
139.0,
|
||||
136.0,
|
||||
133.0,
|
||||
130.0,
|
||||
131.0,
|
||||
125.0,
|
||||
123.0,
|
||||
122.0,
|
||||
122.0,
|
||||
118.0,
|
||||
122.0,
|
||||
114.0,
|
||||
112.0,
|
||||
115.0,
|
||||
111.0,
|
||||
109.0,
|
||||
112.0,
|
||||
109.0,
|
||||
107.0,
|
||||
111.0,
|
||||
105.0,
|
||||
108.0,
|
||||
107.0,
|
||||
100.0,
|
||||
100.0,
|
||||
95.0,
|
||||
105.0,
|
||||
103.0,
|
||||
102.0,
|
||||
100.0,
|
||||
100.0,
|
||||
98.0,
|
||||
98.0,
|
||||
101.0,
|
||||
99.0,
|
||||
101.0,
|
||||
102.0,
|
||||
97.0,
|
||||
91.0,
|
||||
100.0,
|
||||
97.0,
|
||||
94.0,
|
||||
98.5,
|
||||
92.5,
|
||||
97.0,
|
||||
102.0,
|
||||
92.0,
|
||||
95.0,
|
||||
91.0,
|
||||
91.0,
|
||||
92.0,
|
||||
85.0,
|
||||
98.0,
|
||||
96.0,
|
||||
99.0,
|
||||
94.0,
|
||||
96.0,
|
||||
90.0,
|
||||
85.0,
|
||||
99.0,
|
||||
86.0,
|
||||
99.0,
|
||||
93.0,
|
||||
92.0,
|
||||
93.0,
|
||||
87.0,
|
||||
83.0,
|
||||
87.5,
|
||||
82.0,
|
||||
80.0,
|
||||
90.0,
|
||||
92.0,
|
||||
80.0,
|
||||
77.0,
|
||||
82.0,
|
||||
87.0,
|
||||
74.0,
|
||||
83.0,
|
||||
79.0,
|
||||
84.0,
|
||||
80.5,
|
||||
79.0,
|
||||
76.0,
|
||||
78.5,
|
||||
71.5,
|
||||
81.0,
|
||||
87.0,
|
||||
82.0,
|
||||
85.0,
|
||||
87.0,
|
||||
75.0,
|
||||
75.0,
|
||||
82.0,
|
||||
86.0,
|
||||
76.5,
|
||||
77.5,
|
||||
70.0,
|
||||
78.0,
|
||||
85.0,
|
||||
77.0,
|
||||
67.0,
|
||||
76.5,
|
||||
107.0,
|
||||
92.0,
|
||||
80.5,
|
||||
85.0,
|
||||
83.0,
|
||||
77.0,
|
||||
70.0,
|
||||
84.0,
|
||||
69.0,
|
||||
97.0,
|
||||
72.0,
|
||||
81.0,
|
||||
87.0,
|
||||
89.0,
|
||||
102.0,
|
||||
83.0,
|
||||
82.5,
|
||||
91.0,
|
||||
79.5
|
||||
],
|
||||
"resident_over_new": [
|
||||
1.0,
|
||||
6.679794520547945,
|
||||
22.46517213771017,
|
||||
45.748370273794,
|
||||
65.62898089171975,
|
||||
92.26804123711341,
|
||||
118.54875,
|
||||
138.92479108635098,
|
||||
165.30254777070064,
|
||||
193.67883211678833,
|
||||
208.29657794676805,
|
||||
218.65891472868216,
|
||||
238.64344262295083,
|
||||
255.94588744588745,
|
||||
266.23127753303964,
|
||||
276.2162162162162,
|
||||
309.6666666666667,
|
||||
317.055,
|
||||
325.81060606060606,
|
||||
346.15343915343914,
|
||||
366.8082191780822,
|
||||
369.375,
|
||||
384.5027932960894,
|
||||
373.22074468085106,
|
||||
404.9248554913295,
|
||||
394.0888888888889,
|
||||
436.2621951219512,
|
||||
435.0179640718563,
|
||||
460.2257053291536,
|
||||
439.54761904761904,
|
||||
471.8205128205128,
|
||||
430.67528735632186,
|
||||
479.34615384615387,
|
||||
474.59119496855345,
|
||||
451.98192771084337,
|
||||
454.41212121212124,
|
||||
496.29411764705884,
|
||||
484.746835443038,
|
||||
410.4120879120879,
|
||||
515.5234899328859,
|
||||
418.9103260869565,
|
||||
455.2906976744186,
|
||||
522.4697986577181,
|
||||
464.36526946107784,
|
||||
479.7730061349693,
|
||||
520.4078947368421,
|
||||
517.6601307189543,
|
||||
460.94152046783626,
|
||||
528.9271523178808,
|
||||
549.5171232876712,
|
||||
499.4567901234568,
|
||||
533.4640522875817,
|
||||
523.1570512820513,
|
||||
499.0030487804878,
|
||||
557.472972972973,
|
||||
580.0559440559441,
|
||||
577.8531468531469,
|
||||
564.4798657718121,
|
||||
493.7008797653959,
|
||||
531.0754716981132,
|
||||
584.0347222222222,
|
||||
507.0952380952381,
|
||||
568.4256756756756,
|
||||
586.7370242214533,
|
||||
597.1017543859649,
|
||||
585.4709897610921,
|
||||
585.7823129251701,
|
||||
543.7866242038217,
|
||||
518.672619047619,
|
||||
573.0522875816994,
|
||||
571.5290322580645,
|
||||
695.3411764705883,
|
||||
612.9793103448276,
|
||||
624.3636363636364,
|
||||
626.7945205479452,
|
||||
730.4878048780488,
|
||||
651.7697841726618,
|
||||
666.014598540146,
|
||||
800.8869565217391,
|
||||
669.7562724014336,
|
||||
789.1752136752136,
|
||||
627.8051948051948,
|
||||
855.8468468468468,
|
||||
767.9556451612904,
|
||||
806.5508474576271,
|
||||
1065.6666666666667,
|
||||
928.1538461538462,
|
||||
831.9655172413793,
|
||||
868.4821428571429,
|
||||
1271.9084967320262,
|
||||
882.5136363636364,
|
||||
961.4356435643564,
|
||||
797.0081300813008,
|
||||
859.3201754385965,
|
||||
1139.1686046511627,
|
||||
1068.5869565217392,
|
||||
898.7129629629629,
|
||||
1148.6,
|
||||
685.7945205479452,
|
||||
1261.483870967742,
|
||||
1000.7524752475248,
|
||||
962.7303921568628,
|
||||
1160.9176470588236,
|
||||
1276.7142857142858,
|
||||
869.9473684210526,
|
||||
1513.3636363636363,
|
||||
952.1333333333333,
|
||||
1108.411111111111,
|
||||
1124.3314606741574,
|
||||
999.43,
|
||||
927.2995391705069,
|
||||
1011.38,
|
||||
631.5857988165681,
|
||||
1119.3370786516855,
|
||||
957.5586854460093,
|
||||
1310.923076923077,
|
||||
1373.5733333333333,
|
||||
1124.8666666666666,
|
||||
1324.7402597402597,
|
||||
1157.9204545454545,
|
||||
1015.4509803921569,
|
||||
1223.4670658682635,
|
||||
831.5425101214574,
|
||||
863.4377682403433,
|
||||
955.8888888888889,
|
||||
855.563025210084,
|
||||
1257.0,
|
||||
1249.575,
|
||||
973.1761904761905,
|
||||
1132.0222222222221,
|
||||
1127.1703296703297,
|
||||
934.712389380531,
|
||||
869.3934426229508,
|
||||
1019.3529411764706,
|
||||
1038.8522167487686,
|
||||
1636.1875,
|
||||
1346.679487179487,
|
||||
2031.009523809524,
|
||||
1099.6954314720813,
|
||||
1500.3125,
|
||||
1237.028735632184,
|
||||
1055.5294117647059,
|
||||
1112.5051546391753,
|
||||
883.170731707317,
|
||||
1354.775,
|
||||
809.1811320754717,
|
||||
1222.3236994219653,
|
||||
936.8108108108108
|
||||
],
|
||||
"reuse_pct": [
|
||||
0.0,
|
||||
85.02947962061009,
|
||||
95.5486653123775,
|
||||
97.81412978426287,
|
||||
98.47628290670872,
|
||||
98.91620111731844,
|
||||
99.1564651672835,
|
||||
99.28018606889361,
|
||||
99.39504864656584,
|
||||
99.48368131453984,
|
||||
99.5199153006462,
|
||||
99.54266671393626,
|
||||
99.5809648113483,
|
||||
99.60929241333818,
|
||||
99.62438673274372,
|
||||
99.63796477495107,
|
||||
99.67707212055974,
|
||||
99.68459730961506,
|
||||
99.69307322063851,
|
||||
99.71111077144124,
|
||||
99.72737797363409,
|
||||
99.72927241962775,
|
||||
99.73992386598088,
|
||||
99.73206205328829,
|
||||
99.75304059841261,
|
||||
99.74625014097215,
|
||||
99.7707800466826,
|
||||
99.77012443563484,
|
||||
99.78271530937526,
|
||||
99.77249336438979,
|
||||
99.78805499701103,
|
||||
99.76780650542119,
|
||||
99.79138249217684,
|
||||
99.78929234031276,
|
||||
99.77875221580989,
|
||||
99.77993544773133,
|
||||
99.7985065781676,
|
||||
99.7937067502285,
|
||||
99.75634245933462,
|
||||
99.80602241808027,
|
||||
99.76128542608606,
|
||||
99.78036010726599,
|
||||
99.80860137704244,
|
||||
99.78465228436214,
|
||||
99.79156809841055,
|
||||
99.8078430381027,
|
||||
99.80682306002375,
|
||||
99.7830527397521,
|
||||
99.81093804777883,
|
||||
99.81802204924622,
|
||||
99.79978247973106,
|
||||
99.8125459446214,
|
||||
99.8088528105376,
|
||||
99.79960042279423,
|
||||
99.82061910648923,
|
||||
99.82760283551141,
|
||||
99.82694565125313,
|
||||
99.822845762863,
|
||||
99.79744820376354,
|
||||
99.81170284577398,
|
||||
99.82877730348034,
|
||||
99.80279838482487,
|
||||
99.82407550489143,
|
||||
99.82956589430727,
|
||||
99.8325243574224,
|
||||
99.82919734410615,
|
||||
99.82928811984671,
|
||||
99.81610434028896,
|
||||
99.80720015607606,
|
||||
99.82549585410084,
|
||||
99.8250307607211,
|
||||
99.85618570655116,
|
||||
99.83686235683265,
|
||||
99.83983692486895,
|
||||
99.84045808200017,
|
||||
99.86310517529216,
|
||||
99.84657159256479,
|
||||
99.84985314102846,
|
||||
99.87513843347593,
|
||||
99.85069195449047,
|
||||
99.87328542728262,
|
||||
99.84071492108149,
|
||||
99.88315666480699,
|
||||
99.8697841462198,
|
||||
99.87601525642776,
|
||||
99.90616202690022,
|
||||
99.89225924084204,
|
||||
99.87980271065611,
|
||||
99.88485658476407,
|
||||
99.9213779920042,
|
||||
99.88668730331234,
|
||||
99.89598887801864,
|
||||
99.87453076546434,
|
||||
99.88362893964528,
|
||||
99.91221668189266,
|
||||
99.90641847217984,
|
||||
99.88872976787793,
|
||||
99.91293748911718,
|
||||
99.8541837285021,
|
||||
99.92072827699074,
|
||||
99.90007519094543,
|
||||
99.89612875960428,
|
||||
99.91386124566772,
|
||||
99.92167393980083,
|
||||
99.88505051727267,
|
||||
99.93392202799302,
|
||||
99.89497269290015,
|
||||
99.90978076726445,
|
||||
99.91105825684177,
|
||||
99.89994296749147,
|
||||
99.89215998091679,
|
||||
99.90112519527774,
|
||||
99.84166838426802,
|
||||
99.91066140673152,
|
||||
99.89556775838399,
|
||||
99.92371787348903,
|
||||
99.9271971888408,
|
||||
99.91110057488295,
|
||||
99.92451350423998,
|
||||
99.91363828179436,
|
||||
99.90152158801267,
|
||||
99.91826506590185,
|
||||
99.87974156608614,
|
||||
99.8841838941053,
|
||||
99.89538533069859,
|
||||
99.883117903587,
|
||||
99.92044550517105,
|
||||
99.91997279074886,
|
||||
99.89724368415645,
|
||||
99.91166251153295,
|
||||
99.91128226376466,
|
||||
99.89301521929514,
|
||||
99.88497727829841,
|
||||
99.90189855156096,
|
||||
99.9037399175862,
|
||||
99.93888231024867,
|
||||
99.92574328119497,
|
||||
99.95076340173313,
|
||||
99.90906573116692,
|
||||
99.9333472193293,
|
||||
99.91916113415999,
|
||||
99.90526081141329,
|
||||
99.91011277603255,
|
||||
99.88677161005248,
|
||||
99.92618700522226,
|
||||
99.8764182751722,
|
||||
99.91818861071965,
|
||||
99.89325486123131
|
||||
]
|
||||
}
|
||||
}
|
||||
180
analysis/workload_chars/compute_chars.py
Normal file
180
analysis/workload_chars/compute_chars.py
Normal file
@@ -0,0 +1,180 @@
|
||||
import json, sys, math, statistics as st
|
||||
from collections import defaultdict, Counter
|
||||
import matplotlib; matplotlib.use("Agg")
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
|
||||
PATH="/home/admin/cpfs/wjh/ali-trace/trace-glm5.1-formatted/051315-051317.jsonl"
|
||||
OUT="/tmp/wlc_out"; import os; os.makedirs(OUT, exist_ok=True)
|
||||
BLOCK=512
|
||||
# --- transparent cost model for C3 (clearly-labeled estimate; raw-timing validation pending) ---
|
||||
PREFILL_TOK_S=7000.0 # MB1: 32k->4.5s ~7100 tok/s effective on H20 / 30B-A3B
|
||||
TPOT_S=0.010 # ~10ms/token decode (crossover unloaded ~5ms, loaded ~25ms)
|
||||
|
||||
def pct(v,p):
|
||||
if not v: return float('nan')
|
||||
s=sorted(v);k=(len(s)-1)*p;f=int(k)
|
||||
return s[f] if f+1>=len(s) else s[f]+(s[f+1]-s[f])*(k-f)
|
||||
|
||||
# ---------- Pass A: structure (scalars only) ----------
|
||||
parents={}; recs={}; childcount=Counter()
|
||||
for line in open(PATH):
|
||||
if not line.strip(): continue
|
||||
d=json.loads(line); cid=d["chat_id"]; pid=d["parent_chat_id"]
|
||||
parents[cid]=pid
|
||||
recs[cid]=(float(d["timestamp"]),int(d["input_length"]),int(d["output_length"]),int(d["turn"]))
|
||||
if pid!="-1": childcount[pid]+=1
|
||||
print(f"[A] records={len(recs)}", file=sys.stderr)
|
||||
|
||||
root_of={}
|
||||
def root(cid):
|
||||
path=[];c=cid
|
||||
while True:
|
||||
if c in root_of:r=root_of[c];break
|
||||
p=parents.get(c,"-1")
|
||||
if p=="-1" or p not in recs:r=c;break
|
||||
path.append(c);c=p
|
||||
for x in path:root_of[x]=r
|
||||
root_of[cid]=r;return r
|
||||
sessions=defaultdict(list)
|
||||
for cid in recs: sessions[root(cid)].append(cid)
|
||||
seq={r:sorted(m,key=lambda c:(recs[c][3],recs[c][0])) for r,m in sessions.items()}
|
||||
print(f"[A] sessions={len(seq)}", file=sys.stderr)
|
||||
|
||||
# ---------- C1: mixture + turn tail + hazard ----------
|
||||
sr=mr=sm=mm=so=mo=0
|
||||
turns_per=[]
|
||||
for r,s in seq.items():
|
||||
multi=len(s)>1; turns_per.append(len(s))
|
||||
for c in s:
|
||||
_,inl,outl,_=recs[c]
|
||||
if multi: mr+=1;mm+=inl;mo+=outl
|
||||
else: sr+=1;sm+=inl;so+=outl
|
||||
tot_r=sr+mr; tot_in=sm+mm; tot_out=so+mo
|
||||
cnt_turn=Counter()
|
||||
for r,s in seq.items():
|
||||
for c in s: cnt_turn[recs[c][3]]+=1
|
||||
hazard={k: (cnt_turn[k+1]/cnt_turn[k] if cnt_turn[k] else 0) for k in range(1,30)}
|
||||
|
||||
# ---------- C2/C3: per-turn resident vs new-prefill (scalar) + hash_ids reuse ----------
|
||||
by_in=defaultdict(list); by_new=defaultdict(list); by_out=defaultdict(list)
|
||||
by_reuse_hash=defaultdict(list) # hash-block prefix stability: reused/parent_blocks
|
||||
store={} # cid -> (blockset, in, out) for chats with pending children
|
||||
tot_new_prefill=0; tot_reused=0
|
||||
for line in open(PATH):
|
||||
if not line.strip(): continue
|
||||
d=json.loads(line); cid=d["chat_id"]; pid=d["parent_chat_id"]
|
||||
inl=int(d["input_length"]); outl=int(d["output_length"]); turn=int(d["turn"])
|
||||
blocks=set(d["hash_ids"])
|
||||
if pid in store:
|
||||
pblk,pin,pout=store[pid]
|
||||
new_prefill=max(0, inl - pin - pout) # actual recompute (accounts for cached answer)
|
||||
reused_blk=len(blocks & pblk)
|
||||
by_reuse_hash[turn].append(reused_blk/len(pblk) if pblk else 0)
|
||||
childcount[pid]-=1
|
||||
if childcount[pid]<=0: del store[pid]
|
||||
tot_reused += (inl-new_prefill)
|
||||
else:
|
||||
new_prefill=inl # session start: all new (intra-session)
|
||||
tot_new_prefill+=new_prefill
|
||||
by_in[turn].append(inl); by_new[turn].append(new_prefill); by_out[turn].append(outl)
|
||||
if childcount[cid]>0: store[cid]=(blocks,inl,outl)
|
||||
print(f"[B] done; store residual={len(store)}", file=sys.stderr)
|
||||
|
||||
TURNS=[t for t in sorted(by_in) if len(by_in[t])>=50]
|
||||
med_in=[pct(by_in[t],.5) for t in TURNS]
|
||||
med_new=[max(pct(by_new[t],.5),1) for t in TURNS]
|
||||
med_out=[pct(by_out[t],.5) for t in TURNS]
|
||||
ratio=[med_in[i]/med_new[i] for i in range(len(TURNS))]
|
||||
reuse_pct=[(1-med_new[i]/med_in[i])*100 for i in range(len(TURNS))]
|
||||
# C3 time per turn (cost model)
|
||||
t_pref=[med_new[i]/PREFILL_TOK_S for i in range(len(TURNS))]
|
||||
t_dec=[med_out[i]*TPOT_S for i in range(len(TURNS))]
|
||||
|
||||
# aggregate decode/prefill time fraction over a RANGE of constants
|
||||
def agg_time(prate,tpot):
|
||||
tp=tot_new_prefill/prate; td=tot_out*tpot; return td/(tp+td)
|
||||
frac_lo=agg_time(13000,0.005); frac_mid=agg_time(7000,0.010); frac_hi=agg_time(3000,0.025)
|
||||
|
||||
chars={
|
||||
"mixture":{"single_sessions":sr if False else sum(1 for s in seq.values() if len(s)==1),
|
||||
"multi_sessions":sum(1 for s in seq.values() if len(s)>1),
|
||||
"req_single_pct":sr/tot_r*100,"req_multi_pct":mr/tot_r*100,
|
||||
"in_single_pct":sm/tot_in*100,"in_multi_pct":mm/tot_in*100,
|
||||
"out_single_pct":so/tot_out*100,"out_multi_pct":mo/tot_out*100},
|
||||
"turns":{"mean":st.mean(turns_per),"p99":pct(turns_per,.99),"max":max(turns_per),
|
||||
"single_turn_pct":sum(1 for x in turns_per if x==1)/len(turns_per)*100},
|
||||
"hazard":hazard,
|
||||
"token_mass":{"total_input":tot_in,"total_output":tot_out,"out_in_ratio_pct":tot_out/tot_in*100,
|
||||
"new_prefill":tot_new_prefill,"reused_prefix":tot_reused,
|
||||
"new_prefill_pct_of_input":tot_new_prefill/tot_in*100},
|
||||
"decode_time_fraction":{"optimistic_for_prefill":frac_lo,"mid":frac_mid,"pessimistic":frac_hi},
|
||||
"per_turn":{"turn":TURNS,"med_resident_input":med_in,"med_new_prefill":med_new,
|
||||
"med_output":med_out,"resident_over_new":ratio,"reuse_pct":reuse_pct},
|
||||
}
|
||||
json.dump(chars, open(f"{OUT}/chars.json","w"), indent=2)
|
||||
|
||||
# ================= FIGURES =================
|
||||
plt.rcParams.update({"figure.dpi":140,"font.size":10,"axes.grid":True,"grid.alpha":.3})
|
||||
|
||||
# ---- C1 ----
|
||||
fig,ax=plt.subplots(1,3,figsize=(15,4.2))
|
||||
cats=["% sessions","% requests","% input\ntokens","% output\ntokens"];
|
||||
singv=[chars["mixture"]["single_sessions"]/len(seq)*100, chars["mixture"]["req_single_pct"],
|
||||
chars["mixture"]["in_single_pct"], chars["mixture"]["out_single_pct"]]
|
||||
multv=[100-x for x in singv]
|
||||
x=np.arange(len(cats))
|
||||
ax[0].bar(x,singv,label="single-turn",color="#7fb3d5")
|
||||
ax[0].bar(x,multv,bottom=singv,label="multi-turn",color="#e74c3c")
|
||||
for i in range(len(cats)):
|
||||
ax[0].text(i,singv[i]/2,f"{singv[i]:.0f}",ha="center",va="center",fontsize=9)
|
||||
ax[0].text(i,singv[i]+multv[i]/2,f"{multv[i]:.0f}",ha="center",va="center",color="white",fontsize=9)
|
||||
ax[0].set_xticks(x);ax[0].set_xticklabels(cats);ax[0].set_ylabel("%");ax[0].set_ylim(0,100)
|
||||
ax[0].set_title("C1a Mixture: 90% sessions single-turn,\nbut multi-turn carries 2/3 prefill mass");ax[0].legend(loc="center right")
|
||||
# turn CCDF log-log
|
||||
tc=sorted(turns_per); n=len(tc); xs=sorted(set(tc))
|
||||
ccdf=[sum(1 for v in tc if v>=xx)/n for xx in xs]
|
||||
ax[1].loglog(xs,ccdf,marker=".",ms=3,color="#34495e")
|
||||
ax[1].set_xlabel("turns per session (k)");ax[1].set_ylabel("P(turns >= k)")
|
||||
ax[1].set_title(f"C1b Heavy-tailed session length\n(p99={chars['turns']['p99']:.0f}, max={chars['turns']['max']})")
|
||||
# hazard
|
||||
hk=list(range(1,20)); hv=[hazard[k]*100 for k in hk]
|
||||
ax[2].plot(hk,hv,marker="o",color="#16a085")
|
||||
ax[2].set_xlabel("reached turn k");ax[2].set_ylabel("P(continue to k+1) %");ax[2].set_ylim(0,100)
|
||||
ax[2].set_title("C1c Continuation hazard rises 10%->94%\n(unpredictable at start, Lindy after)")
|
||||
fig.tight_layout(); fig.savefig(f"{OUT}/c1_session_mixture.png"); plt.close(fig)
|
||||
|
||||
# ---- C2 ----
|
||||
fig,ax=plt.subplots(1,3,figsize=(15,4.2))
|
||||
ax[0].semilogy(TURNS,med_in,marker="o",label="resident context (input)",color="#e74c3c")
|
||||
ax[0].semilogy(TURNS,med_new,marker="s",label="new prefill this turn",color="#2980b9")
|
||||
ax[0].set_xlabel("turn");ax[0].set_ylabel("tokens (median, log)");ax[0].legend()
|
||||
ax[0].set_xlim(1,30)
|
||||
ax[0].set_title("C2a Resident state explodes,\nmarginal work collapses")
|
||||
ax[1].plot(TURNS,ratio,marker="o",color="#8e44ad")
|
||||
ax[1].set_xlabel("turn");ax[1].set_ylabel("resident / new-prefill");ax[1].set_xlim(1,30)
|
||||
ax[1].set_title("C2b The PD tax = resident/delta\n(grows to ~250x by deep turns)")
|
||||
ax[2].plot(TURNS,reuse_pct,marker="o",color="#27ae60")
|
||||
ax[2].set_xlabel("turn");ax[2].set_ylabel("per-turn reuse %");ax[2].set_ylim(50,100);ax[2].set_xlim(1,30)
|
||||
ax[2].set_title("C2c Per-turn reuse climbs to 99.6%\n(deep turns are near-pure cache hits)")
|
||||
fig.tight_layout(); fig.savefig(f"{OUT}/c2_work_amortization.png"); plt.close(fig)
|
||||
|
||||
# ---- C3 ----
|
||||
fig,ax=plt.subplots(1,2,figsize=(11,4.4))
|
||||
# token mass decomposition
|
||||
vals=[tot_reused/1e9, tot_new_prefill/1e9, tot_out/1e9]
|
||||
labs=[f"reused prefix\n{tot_reused/tot_in*100:.0f}% of input",
|
||||
f"new prefill\n{tot_new_prefill/tot_in*100:.0f}% of input",
|
||||
f"decode output\n{tot_out/tot_in*100:.1f}% of input"]
|
||||
ax[0].bar(range(3),vals,color=["#95a5a6","#2980b9","#e67e22"])
|
||||
ax[0].set_xticks(range(3));ax[0].set_xticklabels(labs,fontsize=8.5)
|
||||
ax[0].set_ylabel("tokens (billions)")
|
||||
ax[0].set_title("C3a Token mass: prefill-dominated\n(but tokens != time, see C3b)")
|
||||
# per-turn prefill vs decode TIME (cost model)
|
||||
ax[1].semilogy(TURNS,t_pref,marker="o",label="prefill time (new tok / 7k·s⁻¹)",color="#2980b9")
|
||||
ax[1].semilogy(TURNS,t_dec,marker="s",label="decode time (out·10ms)",color="#e67e22")
|
||||
ax[1].set_xlabel("turn");ax[1].set_ylabel("seconds (median, log)");ax[1].legend(fontsize=8);ax[1].set_xlim(1,30)
|
||||
ax[1].set_title(f"C3b Prefill→decode bottleneck flips within a session\n(agg decode-time share ≈ {frac_mid*100:.0f}%, range {frac_lo*100:.0f}–{frac_hi*100:.0f}%)")
|
||||
fig.tight_layout(); fig.savefig(f"{OUT}/c3_prefill_decode_balance.png"); plt.close(fig)
|
||||
print("FIGURES + chars.json written to", OUT)
|
||||
print(json.dumps({k:chars[k] for k in ["mixture","turns","token_mass","decode_time_fraction"]}, indent=2))
|
||||
BIN
figs/crossover_pd_advantage.png
Normal file
BIN
figs/crossover_pd_advantage.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 169 KiB |
BIN
figs/workload_chars/c1_session_mixture.png
Normal file
BIN
figs/workload_chars/c1_session_mixture.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 111 KiB |
BIN
figs/workload_chars/c2_work_amortization.png
Normal file
BIN
figs/workload_chars/c2_work_amortization.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 108 KiB |
BIN
figs/workload_chars/c3_prefill_decode_balance.png
Normal file
BIN
figs/workload_chars/c3_prefill_decode_balance.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 89 KiB |
@@ -161,11 +161,65 @@ def gen_multiturn(
|
||||
return rows
|
||||
|
||||
|
||||
def gen_regular(
|
||||
*,
|
||||
session_qps: float,
|
||||
duration_s: float,
|
||||
turns: int,
|
||||
prefix_len: int,
|
||||
delta_len: int,
|
||||
output_len: int,
|
||||
inter_turn_gap_s: float,
|
||||
seed: int,
|
||||
) -> list[dict]:
|
||||
"""Maximally-regular multi-turn trace: every session identical, no skew.
|
||||
|
||||
Each session has a FIXED reused prefix of `prefix_len` tokens (its own,
|
||||
established on turn 1) and every turn appends a FIXED `delta_len` of fresh
|
||||
tokens. So per turn: input = prefix_len + delta_len (fixed), reuse ratio =
|
||||
prefix_len/(prefix_len+delta_len) (fixed), actual new-prefill = delta_len
|
||||
(fixed). Constant-interval session arrivals, fixed inter-turn gap, fixed
|
||||
turn count -> zero session-size skew, so session-affinity cannot hot-pin.
|
||||
This isolates the *structural* PD cost (per-turn full-context KV transfer +
|
||||
P/D capacity split) from the skew/hot-pin artifact.
|
||||
"""
|
||||
rows: list[dict] = []
|
||||
next_hash = HASH_BASE
|
||||
chat_id = 1
|
||||
n_prefix = max(1, prefix_len // BLOCK_SIZE)
|
||||
n_delta = max(1, delta_len // BLOCK_SIZE)
|
||||
n_sessions = max(1, int(duration_s * session_qps))
|
||||
for s in range(n_sessions):
|
||||
start = s / session_qps
|
||||
sid = f"r{s}"
|
||||
prefix_blocks = list(range(next_hash, next_hash + n_prefix))
|
||||
next_hash += n_prefix
|
||||
prev = -1
|
||||
for k in range(1, turns + 1):
|
||||
delta_blocks = list(range(next_hash, next_hash + n_delta))
|
||||
next_hash += n_delta
|
||||
rows.append({
|
||||
"chat_id": chat_id,
|
||||
"parent_chat_id": prev,
|
||||
"timestamp": round(start + (k - 1) * inter_turn_gap_s, 6),
|
||||
"input_length": prefix_len + delta_len,
|
||||
"output_length": output_len,
|
||||
"type": "synthetic_regular",
|
||||
"turn": k,
|
||||
"hash_ids": prefix_blocks + delta_blocks,
|
||||
"session_id": sid,
|
||||
})
|
||||
prev = chat_id
|
||||
chat_id += 1
|
||||
rows.sort(key=lambda r: r["timestamp"])
|
||||
return rows
|
||||
|
||||
|
||||
def main() -> None:
|
||||
p = argparse.ArgumentParser(description=__doc__,
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter)
|
||||
p.add_argument("--out", type=Path, required=True, help="output trace JSONL")
|
||||
p.add_argument("--mode", choices=["vanilla", "multiturn"], default="vanilla")
|
||||
p.add_argument("--mode", choices=["vanilla", "multiturn", "regular"], default="vanilla")
|
||||
p.add_argument("--qps", type=float, help="vanilla: mean Poisson request rate; "
|
||||
"multiturn: mean Poisson SESSION rate")
|
||||
p.add_argument("--duration-s", type=float, default=600.0, help="trace span (s)")
|
||||
@@ -182,7 +236,14 @@ def main() -> None:
|
||||
p.add_argument("--new-user-tokens", type=int, default=256,
|
||||
help="multiturn: fresh user tokens added each subsequent turn")
|
||||
p.add_argument("--inter-turn-gap-s", type=float, default=1.6,
|
||||
help="multiturn: mean think-time between turns")
|
||||
help="multiturn: mean think-time; regular: FIXED think-time")
|
||||
# regular knobs
|
||||
p.add_argument("--prefix-len", type=int, default=16384,
|
||||
help="regular: per-session fixed reused prefix length")
|
||||
p.add_argument("--delta-len", type=int, default=512,
|
||||
help="regular: fixed fresh new-prefill tokens per turn")
|
||||
p.add_argument("--turns", type=int, default=8,
|
||||
help="regular: fixed turns per session")
|
||||
args = p.parse_args()
|
||||
|
||||
if args.mode == "vanilla":
|
||||
@@ -194,6 +255,20 @@ def main() -> None:
|
||||
cfg = {"mode": "vanilla", "qps": args.qps, "duration_s": args.duration_s,
|
||||
"input_len": args.input_len, "output_len": args.output_len,
|
||||
"seed": args.seed, "reuse": "none"}
|
||||
elif args.mode == "regular":
|
||||
assert args.qps, "regular needs --qps (session rate)"
|
||||
rows = gen_regular(
|
||||
session_qps=args.qps, duration_s=args.duration_s, turns=args.turns,
|
||||
prefix_len=args.prefix_len, delta_len=args.delta_len,
|
||||
output_len=args.output_len, inter_turn_gap_s=args.inter_turn_gap_s,
|
||||
seed=args.seed,
|
||||
)
|
||||
cfg = {"mode": "regular", "session_qps": args.qps,
|
||||
"duration_s": args.duration_s, "turns": args.turns,
|
||||
"prefix_len": args.prefix_len, "delta_len": args.delta_len,
|
||||
"output_len": args.output_len, "inter_turn_gap_s": args.inter_turn_gap_s,
|
||||
"reuse_ratio": args.prefix_len / (args.prefix_len + args.delta_len),
|
||||
"seed": args.seed, "reuse": "fixed-intra-session"}
|
||||
else:
|
||||
assert args.qps, "multiturn needs --qps (session rate)"
|
||||
rows = gen_multiturn(
|
||||
|
||||
@@ -5,6 +5,7 @@ from __future__ import annotations
|
||||
import argparse
|
||||
import asyncio
|
||||
import logging
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
from .replay import ReplayConfig, replay_trace
|
||||
@@ -19,9 +20,16 @@ def main() -> None:
|
||||
p.add_argument("--model", type=str, default="default", help="Model name for API")
|
||||
p.add_argument("--concurrency-limit", type=int, default=2000,
|
||||
help="Max concurrent HTTP requests (safety limit)")
|
||||
p.add_argument("--max-inflight-sessions", type=int, default=None,
|
||||
_env_inflight = os.environ.get("REPLAY_MAX_INFLIGHT")
|
||||
p.add_argument("--max-inflight-sessions", type=int,
|
||||
default=int(_env_inflight) if _env_inflight else None,
|
||||
help="Cap on concurrent sessions (None = unlimited; "
|
||||
"trace-driven dispatch otherwise)")
|
||||
"trace-driven dispatch otherwise). Env: REPLAY_MAX_INFLIGHT")
|
||||
_env_think = os.environ.get("REPLAY_INTER_TURN_THINK_S")
|
||||
p.add_argument("--inter-turn-think", type=float,
|
||||
default=float(_env_think) if _env_think else None,
|
||||
help="Closed-loop think-time (s) after each turn completes; "
|
||||
"ignore absolute trace schedule. Env: REPLAY_INTER_TURN_THINK_S")
|
||||
p.add_argument("--request-timeout", type=float, default=600.0)
|
||||
p.add_argument("--request-limit", type=int, default=None,
|
||||
help="Limit number of requests to replay")
|
||||
@@ -42,6 +50,7 @@ def main() -> None:
|
||||
request_timeout_s=args.request_timeout,
|
||||
request_limit=args.request_limit,
|
||||
max_inflight_sessions=args.max_inflight_sessions,
|
||||
inter_turn_think_s=args.inter_turn_think,
|
||||
)
|
||||
|
||||
results = asyncio.run(replay_trace(config))
|
||||
|
||||
@@ -60,6 +60,12 @@ class ReplayConfig:
|
||||
request_limit: int | None = None
|
||||
model_name: str = "default"
|
||||
max_inflight_sessions: int | None = None # cap on concurrent sessions; None = unlimited
|
||||
# Closed-loop think-time mode: if set, ignore absolute trace timestamps for
|
||||
# subsequent turns — fire turn 1 on session admission, then each later turn a
|
||||
# FIXED think-time after the previous turn COMPLETES. Combined with
|
||||
# max_inflight_sessions=N this is a stable N-user closed-loop (no open-loop
|
||||
# runaway), so it removes the "immediate retrigger under load" artifact.
|
||||
inter_turn_think_s: float | None = None
|
||||
|
||||
|
||||
def _build_prompt_token_ids(req: TraceRequest) -> list[int]:
|
||||
@@ -279,12 +285,19 @@ async def _run_session(
|
||||
await session_sem.acquire()
|
||||
realized_context: list[int] = []
|
||||
try:
|
||||
for req in state.turns:
|
||||
# Wait until this request's trace timestamp
|
||||
target_wall = (req.timestamp_s - earliest_ts)
|
||||
elapsed = time.perf_counter() - sweep_start
|
||||
if elapsed < target_wall:
|
||||
await asyncio.sleep(target_wall - elapsed)
|
||||
for turn_idx, req in enumerate(state.turns):
|
||||
if config.inter_turn_think_s is not None:
|
||||
# Closed-loop: turn 1 fires on admission; later turns wait a fixed
|
||||
# think-time AFTER the previous turn completed (no absolute schedule,
|
||||
# so no "fire immediately because timestamp is in the past").
|
||||
if turn_idx > 0:
|
||||
await asyncio.sleep(config.inter_turn_think_s)
|
||||
else:
|
||||
# Original: dispatch at the request's absolute trace timestamp.
|
||||
target_wall = (req.timestamp_s - earliest_ts)
|
||||
elapsed = time.perf_counter() - sweep_start
|
||||
if elapsed < target_wall:
|
||||
await asyncio.sleep(target_wall - elapsed)
|
||||
|
||||
token_ids = _apply_realized_prefix(
|
||||
_build_prompt_token_ids(req),
|
||||
|
||||
@@ -2218,7 +2218,12 @@ class Scheduler(SchedulerInterface):
|
||||
for group in self.kv_cache_manager.get_block_ids(req_id):
|
||||
sent_block_ids.update(group)
|
||||
self._free_blocks(self.requests[req_id])
|
||||
if sent_block_ids:
|
||||
# e13391e: evict sent blocks from the prefix cache. Intended ONLY for
|
||||
# session MIGRATION (the source worker won't see the session again).
|
||||
# For plain PD-disagg producer->consumer transfers this destroys
|
||||
# cross-turn producer reuse, so it is gated OFF by default and enabled
|
||||
# only for migration experiments via VLLM_EVICT_SENT_BLOCKS=1.
|
||||
if sent_block_ids and __import__("os").environ.get("VLLM_EVICT_SENT_BLOCKS") == "1":
|
||||
self.kv_cache_manager.evict_blocks(sent_block_ids)
|
||||
|
||||
def _update_requests_with_invalid_blocks(
|
||||
|
||||
Reference in New Issue
Block a user