Skip to content

Resource-aware executor scheduling - #11

Merged
chandlerhuff merged 1 commit into
mainfrom
codex/resource-aware-scheduling
Sep 20, 2026
Merged

chandlerhuff merged 1 commit into
mainfrom
codex/resource-aware-scheduling

Conversation

@chandlerhuff

Copy link
Copy Markdown
Member

Summary

Makes router and executor placement resource-aware so VM starts are limited by aggregate CPU, memory, and VM slots instead of VM count alone. This lets mixed-size jobs share a host when they fit while keeping oversized concurrent jobs queued.

Changes

  • Added shared resource-capacity accounting and backward-compatible executor default resource reporting.
  • Updated the router to enforce per-job caps plus live aggregate capacity and reserve CPU/memory immediately after dispatch.
  • Updated executor webhook and management dispatch paths to reject or queue work that cannot fit, while allowing smaller pending jobs to backfill available capacity.
  • Added capacity-specific logging, OpenAPI/README documentation, and 12 focused tests across common, router, and executor packages.

Testing

  • swift test --package-path Packages/TartCommon
  • swift test --package-path Packages/RouterApp
  • swift test --package-path Packages/ExecutorApp
  • swiftlint lint --quiet --config .swiftlint.yml
  • Parsed both OpenAPI YAML resources successfully.
  • Note: the root swift build was blocked while downloading the external SwiftLint artifact; the changed packages compiled and passed independently.

Ticket: NO-TICKET (no Jira ticket)

@chandlerhuff chandlerhuff self-assigned this Sep 20, 2026
@chandlerhuff chandlerhuff changed the title [NO-TICKET] Resource-aware executor scheduling Resource-aware executor scheduling Sep 20, 2026
@chandlerhuff
chandlerhuff merged commit 7056e94 into main Sep 20, 2026
2 checks passed
@chandlerhuff
chandlerhuff deleted the codex/resource-aware-scheduling branch September 20, 2026 23:02
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