[rollout] feat: schedule owned fully async work - #51
Draft
ashtonchew wants to merge 1 commit into
Draft
Conversation
This was referenced Jul 31, 2026
ashtonchew
force-pushed
the
ashtoncw/fully-async-v4-09-owned-scheduling
branch
from
August 3, 2026 19:55
01fb366 to
279fcae
Compare
ashtonchew
force-pushed
the
ashtoncw/fully-async-v4-08-execution-receipts
branch
from
August 3, 2026 19:55
eedda90 to
2cf59be
Compare
ashtonchew
force-pushed
the
ashtoncw/fully-async-v4-09-owned-scheduling
branch
from
August 3, 2026 20:27
279fcae to
75c17fe
Compare
ashtonchew
force-pushed
the
ashtoncw/fully-async-v4-08-execution-receipts
branch
from
August 3, 2026 21:43
2cf59be to
b183a83
Compare
ashtonchew
force-pushed
the
ashtoncw/fully-async-v4-09-owned-scheduling
branch
from
August 3, 2026 21:43
75c17fe to
5a9fa42
Compare
ashtonchew
force-pushed
the
ashtoncw/fully-async-v4-08-execution-receipts
branch
from
August 3, 2026 22:50
b183a83 to
9a4db4b
Compare
ashtonchew
force-pushed
the
ashtoncw/fully-async-v4-09-owned-scheduling
branch
from
August 3, 2026 22:50
5a9fa42 to
822012e
Compare
ashtonchew
force-pushed
the
ashtoncw/fully-async-v4-08-execution-receipts
branch
from
August 4, 2026 01:00
9a4db4b to
194372d
Compare
ashtonchew
force-pushed
the
ashtoncw/fully-async-v4-09-owned-scheduling
branch
from
August 4, 2026 01:00
822012e to
0b5d8ba
Compare
ashtonchew
force-pushed
the
ashtoncw/fully-async-v4-09-owned-scheduling
branch
from
August 4, 2026 09:55
0b5d8ba to
dc22978
Compare
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.
Summary
FullyAsyncRolloutFnwhile preserving the composedSubmissionSchedulerfrom PR #1673 andGroupBufferfrom PR #2030.Context
PR #50 defines the reservation ownership state machine and its exact-attempt receipts, but it does not yet change how the scheduler acquires or hands off work. The composed integration base uses
SubmissionSchedulerfrom the current open PR #1673 to choose group- or sample-completion backfill andGroupBufferfrom the current open PR #2030 to order, bound, and evict completed groups.Owned scheduling must extend both components rather than introduce a parallel scheduler or buffer. A submission still follows the selected scheduler policy, and a completed group still follows the configured buffer order and eviction policy. The difference is that every owned entry carries the exact terminal receipt needed to acknowledge or requeue its source reservation.
Execution capacity can reopen when an attempt becomes terminal, but the source reservation must remain retained until training accepts the batch or its lease requeues it. Completed prefetch needs a third bound because terminal work may wait independently of both execution and training.
Description
SubmissionScheduler, including its sample-completion callback and backfill accounting.GroupBufferto hold ordinary source-result pairs or receipt-bound owned completions while preserving its FIFO/LIFO order, staleness metrics, and stale or overflow selection.Test Plan
dc22978d1d6e3a385f6f18e54d88fd90295f0b4f,python -m pytest -q -p no:cacheprovider tests/fast/rollout/test_fully_async_rollout.pypassed 44 tests.d6cd677a89759d6ea5316d2805a3d9cb6f392a1bpassed the 8xB200 composition run for candidate7d53849102b1804fd4a8b21515aa01ca23f89b48: one real actor optimization step, exact trained-weight reset and rebroadcast recovery, update-boundary rollback and replay, one nonempty admission hold, and clean inner and outer Ray completion. The validation head is two validation-only commits above the candidate and includes the router startup-deadline patch, so it is composition-level evidence; it does not establish exact branch-head GPU proof.