feat: place pipeline shards by measured bandwidth and latency - #2297
Draft
abendrothj wants to merge 2 commits into
Draft
abendrothj wants to merge 2 commits into
abendrothj wants to merge 2 commits into
Conversation
abendrothj
force-pushed
the
feat/957-complete-placement-objective
branch
from
September 8, 2026 02:33
064a96a to
b1a12ef
Compare
abendrothj
marked this pull request as draft
September 16, 2026 20:17
Author
|
Moving to draft: this branch still carries #2254's commit, so the diff here double-counts that work until #2254 lands. It also rewrites the placement selection and layer-allocation paths that #2252 (accelerator tiebreaker) and #2253 (manual |
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.
Problem
Pipeline placement currently chooses the smallest feasible cycle and divides layers by available RAM. That can put too much work on a low-bandwidth node, ignore a faster larger cycle, or select a ring ordering with slower links.
Changes
This replaces #1088 and incorporates the review feedback there.
Stack
Depends on #2254 for measured per-link latency. Until #2254 merges, GitHub will include its commits in this PR's diff because both head branches are in a fork. The diff will narrow to the placement changes automatically after #2254 lands.
Tests
uv run basedpyrightuv run ruff checkuv run ruff format --checkon changed Python filesuv run pytest --ignore=src/exo/download/tests --ignore=rust/exo_rs/tests/test_python.py— 425 passed, 3 skipped, 190 deselectednix fmtwas unavailable locally because Nix is not installed.Fixes #957