Skip to content

P5: capacity-aware node selection (control side) - #40

Merged
Lothnic merged 1 commit into
mainfrom
p5-placement
Aug 3, 2026
Merged

P5: capacity-aware node selection (control side)#40
Lothnic merged 1 commit into
mainfrom
p5-placement

Conversation

@Lothnic

@Lothnic Lothnic commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Phase-5 placement, control-side. Pairs with meridian-node PR #11 (MIG/VRAM launch enforcement).

What

ControlService.select_placement(required_vram_bytes) picks a routable node + device with enough reported allocatable VRAM — consuming the capacity.allocatable_vram_bytes that nodes report in observations (P3). Prefers the device with the most headroom (spread), skips revoked / lease-expired nodes, returns None when nothing fits. Exposed at POST /admin/place.

This closes the loop: node reports allocatable capacity → control uses it to place new engines.

Tests

pytest tests/control -q31 passed (+2: prefers-most-headroom / nothing-fits, skips-expired-lease); ruff + mypy clean.

Remaining P5

Artifact locality, queue-depth-aware assignment, multi-GPU/NVLink affinity (tracked in node DESIGN §24).

🤖 Generated with Claude Code

select_placement(required_vram_bytes) picks a routable node + device with enough
reported allocatable VRAM, consuming the capacity nodes report in observations
(P3). Prefers the device with the most headroom (spread); skips revoked or
lease-expired nodes; returns None when nothing fits. Exposed at POST /admin/place.
Pairs with the node-side MIG/VRAM launch enforcement.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings August 3, 2026 19:09

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@Lothnic
Lothnic merged commit 3992279 into main Aug 3, 2026
5 checks passed
@Lothnic
Lothnic deleted the p5-placement branch August 3, 2026 19:13
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.

2 participants