Repository navigation
Schedule Turns as soon as a resumed compute runs - #823
Merged
Merged
Conversation
A Turn admitted while its compute was suspended waited for the scheduler's 250 ms tick and 1 s Environment scan throttle after the compute reached running: 0.01–1.24 s, mean 0.66 s over nine resumes on mx2. Saving the running phase now wakes the scheduler the way a freed slot wakes placement.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A Turn admitted while its compute was suspended is bound only once the compute is
running. Nothing woke the scheduler at that moment, so the Turn waited for the 250 ms maintenance tick plus the 1 s Environment-scan throttle.Measured on mx2 (v0.0.13-rc.2, nine resumes of codex and claude_sdk Sessions):
running→ executor ready took 0.01–1.24 s, mean 0.66 s, while the executor itself is ready in 1–5 ms. Saving therunningphase now wakes the scheduler, the same coalesced, non-blocking hint a freed slot sends to placement; polling still recovers a missed hint.Check:
go test ./services/core/internal/execution/ -run 'TestRunningComputeWakesScheduler|TestFreedSlotWakesPlacement|TestComputeFailureObservationUsesCommittedReceipt|TestRestoreAttempt|TestUnusableCheckpoint'against a dedicated test database.Need help on this PR? Tag
@codesmith-botwith what you need.