You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
gap-ratio: demand inflation not limited to the bootstrap window (rollout_open_pipelines) #36
@TianyeGGBond — from the F1-F12 review's scheduler deep-dive (finding S12-INFLATE-WINDOW). This is in your B-13 territory so raising it as a question rather than a PR.
planner.py L213-217:
ifhas_pending:
# Inflate demand in the bootstrap window (request sent, no progress yet)# so the pipeline gets at least one DP worker allocated before generation starts.remaining+=step_target
The comment says "bootstrap window (request sent, no progress yet)", but the condition only checks registry membership — and the rollout_open_pipelines entry survives until release / clear_progress. So while a rollout is actively progressing (progress reports flowing, step_target > 0), the branch still fires and demand is double-counted (remaining = actual_remaining + step_target, percent_remaining > 1).
Impact: roughly symmetric when both pipelines are mid-rollout (both hold entries), but skews gap-ratio toward whichever pipeline holds an entry when the other doesn't. Not a hang — just allocation-fairness drift.
Question: intended, or should the inflation be gated on "no progress yet" (e.g. only when the progress-derived step_target == 0, which the estimate branch above already handles)? Happy to send the one-line PR either way once you confirm the intended semantics.
Confirmed — the inflation should be gated on "no progress yet", not on registry membership. Fixed in #38: capture in_bootstrap_window = step_target <= 0.0 before the estimate branch overwrites step_target, and gate the inflation on has_pending and in_bootstrap_window. The bootstrap path is unchanged; only the double-count on an actively-progressing rollout is removed. Thanks for the catch @JunzheJoe.
Activity
TianyeGGBond commentedon Jul 12, 2026
Thanks for pointing out. Yes, it should be gate in no-progress pipeline. I will create a PR to address that
TianyeGGBond commentedon Jul 12, 2026
Confirmed — the inflation should be gated on "no progress yet", not on registry membership. Fixed in #38: capture
in_bootstrap_window = step_target <= 0.0before the estimate branch overwritesstep_target, and gate the inflation onhas_pending and in_bootstrap_window. The bootstrap path is unchanged; only the double-count on an actively-progressing rollout is removed. Thanks for the catch @JunzheJoe.