Repository navigation
Commit 12921b3
feat(swe-bench): bind each unit to an endpoint by shard index
Every unit was submitted with endpoint_urls[:1], so a fleet configured with N
engines sent all of its work to the first one and left the other N-1 idle. The
comment justified this by noting that the service accepts exactly one endpoint
per run and that the fleet's parallelism comes from running many units -- true,
but it does not follow that every unit must pick the same one.
Two consequences. The obvious one is a throughput ceiling: concurrency is
bounded by one engine no matter how much hardware the run was given. The
serious one is a measurement hazard -- a single engine's behaviour decides the
whole run's accuracy, so one degraded engine is indistinguishable from a
degraded model, which is precisely the confusion the endpoint fingerprint
exists to prevent.
Bind unit -> endpoint by shard index instead. The mapping is deterministic, so
a retried unit lands on the endpoint it was originally measured against and
stays comparable to its first attempt, and a run with one endpoint behaves
exactly as before.1 parent 6815bd6 commit 12921b3
1 file changed
Lines changed: 9 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
326 | 326 | | |
327 | 327 | | |
328 | 328 | | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
329 | 337 | | |
330 | 338 | | |
331 | | - | |
332 | | - | |
333 | | - | |
| 339 | + | |
334 | 340 | | |
335 | 341 | | |
336 | 342 | | |
| |||
0 commit comments