Skip to content

ci: Change host shard count to 12 - #5857

Draft
backspace wants to merge 1 commit into
mainfrom
cs-12583-fewer-shards
Draft

ci: Change host shard count to 12#5857
backspace wants to merge 1 commit into
mainfrom
cs-12583-fewer-shards

Conversation

@backspace

Copy link
Copy Markdown
Contributor
Claude explanationTwenty concurrent jobs per host run is a large share of the runner pool, and the queue shows it: shards have been observed waiting up to 242s for a runner while the pool works through the backlog.

Fewer, longer shards is the trade. Setup is ~195s per shard and largely irreducible — four experiments on CS-12583 established it is bound by the runner's cores rather than by latency, so parallelising or pre-computing it moves the cost rather than removing it. Each added shard therefore buys a shrinking slice of test time for a fixed ~3 minutes of machine time and one more slot held.

Against the ~8,665s of test work in run 32523921998: 20 shards models to ~10.5 minutes and 3.49 machine-hours, 12 to ~15.3 minutes and 3.06. The wall-clock figure overstates the real cost, since it assumes every shard starts immediately, which is the assumption the queueing disproves.

The count lives in three places that have to move together — the matrix list, shardTotal, and --shard-count on the timings generator, whose drift gate predicts the slowest shard. A comment now says so.

Twenty concurrent jobs per host run is a large share of the runner pool,
and the queue shows it: shards have been observed waiting up to 242s for a
runner while the pool works through the backlog.

Fewer, longer shards is the trade. Setup is ~195s per shard and largely
irreducible — four experiments on CS-12583 established it is bound by the
runner's cores rather than by latency, so parallelising or pre-computing it
moves the cost rather than removing it. Each added shard therefore buys a
shrinking slice of test time for a fixed ~3 minutes of machine time and one
more slot held.

Against the ~8,665s of test work in run 32523921998: 20 shards models to
~10.5 minutes and 3.49 machine-hours, 12 to ~15.3 minutes and 3.06. The
wall-clock figure overstates the real cost, since it assumes every shard
starts immediately, which is the assumption the queueing disproves.

The count lives in three places that have to move together — the matrix
list, `shardTotal`, and `--shard-count` on the timings generator, whose
drift gate predicts the slowest shard. A comment now says so.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Host Test Results

    1 files      1 suites   1h 46m 49s ⏱️
4 368 tests 4 354 ✅ 14 💤 0 ❌
4 379 runs  4 365 ✅ 14 💤 0 ❌

Results for commit 72f6b2c.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant