Repository navigation
feat(planner): add batch scheduling policy and config - #14195
Conversation
|
This PR is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days. |
282a9e4 to
21b0a4b
Compare
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (6)
Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 10 remain after this review. WalkthroughThe planner gains validated batch scheduling configuration and a policy that evaluates observations and job demand. The policy returns replica-floor and leased admission recommendations with diagnostics. New tests cover configuration validation and policy behavior. ChangesBatch scheduling
Priority: ➖ Normal Estimated code review effort: 4 (Complex) | ~45 minutes Merge Risk: ⚪ Minimal · up to The batch policy reserves observed online capacity before admitting batch work. No concrete issue remains that requires a fix before merge. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Comment |
21b0a4b to
86b8b15
Compare
✅ Dynamo PR CI passed — run 38018054487 (attempt 1) on
|
86b8b15 to
cf67741
Compare
cf67741 to
81a8c37
Compare
tedzhouhk
left a comment
There was a problem hiding this comment.
Approved for the functional end-to-end scope of this batch scheduling stack. Reviewed the policy/configuration boundary. Automatic capacity estimation from the performance model remains the agreed follow-up.
|
/ok to test 81a8c37 |
81a8c37 to
dde7eba
Compare
dde7eba to
02c8548
Compare
02c8548 to
aa05456
Compare
|
/ok to test aa05456 |
aa05456 to
8eb1826
Compare
8eb1826 to
12030da
Compare
|
/ok to test 12030da |
Signed-off-by: Sachal Malick <ssrivastavam@nvidia.com>
12030da to
90442b8
Compare
|
/ok to test 90442b8 |
This adds an opt-in single-pool batch scheduling configuration and a pure policy that returns an active-job replica floor, a safety-gated exact idle target, and a leased admission cap. It lets Planner reserve online capacity, reason about deadline pressure, and fail closed when required observations are missing, stale, or unsafe during startup.
CLOSES: LLM-184
How This Was Implemented
pool.min_replicasas both the active-job floor and configurable post-batch warm target; emit an exact target only when Gateway, frontend, Async, and stable worker inventory are freshly idle, otherwise retain verified desired capacity as a floor.Walkthrough
config/planner_config.pyvalidates deployment compatibility, URLs, labels, lease timing, secrets, and pool bounds before enabling the feature.config/batch_policy_config.pydefines the policy-facing immutable configuration.core/batch_policy.pymaps oneTickInputsnapshot to an active floor, safety-gated exact idle target, drain lease, deadline estimates, and diagnostics.tests/config/test_batch_scheduling_config.pycovers disabled defaults, dependency requirements, secret handling, and invalid combinations.tests/unit/test_batch_policy.pycovers EDF demand, headroom, startup capacity, floors, ceilings, stale data, pauses, and infeasibility reporting.Validation
uvx pre-commit run --from-ref origin/main --to-ref HEADandgit diff --checkpassed.Summary by CodeRabbit