Repository navigation
feat(server): add opt-in bounded batch progress - #806
Merged
Merged
Conversation
Contributor
Author
|
@coderabbitai full review Please review exact head |
✅ Action performedFull review finished. |
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.
Continuous cheap arrivals can repeatedly bypass an older expensive item in the Python worker's cost-sorted batcher. This adds the explicit
bounded_batch_progressprofile option, disabled by default. When enabled, a bypassed oldest item is reserved for the next batchable turn; an item withkolder batchable items receives a dispatch opportunity within2 * (k + 1)nonempty batchable turns. Isolated-item turns may interleave; this is not a wall-clock deadline.The ordinary
BatchFormerremains unchanged, and all 378 shipped resolved profiles remain disabled. The worker selects the batcher class once, including for lazy LoRA batchers, so disabled workers have no progress bookkeeping. Profile inheritance, strict validation, config-service schema and model-loader plumbing are covered. Preformed/sidecar batches bypass this policy.Enabled scheduling changes native batch composition and can change FP16 scores, labels and throughput. The earlier #798 GLiClass qualification FAILED its original 0.002 numerical bound: maximum entropy-confidence difference 0.0232588 and 26 changed choices, which were repetitions of one exact-tie decision. That failure is retained. This PR ships only the opt-in scheduler capability; it establishes no numerical equivalence or new GPU performance/model-quality qualification. Validate the intended model's output and throughput contract before enabling a profile. #390 remains open for the default-profile acceptance question; #798 is unchanged.
Validation at
945898acf1b4a63c73e5b30d3522123c4d9494df:17605365; scoped lint, formatting and type checks pass, with fix(server): wake idle workers on admitted work #807 admission/wakeup/stop behavior preserved.CI / Required; independent source/configuration review confirms the original policy delta, unchanged legacy batcher and disabled shipped profiles.Related to #390.
Summary by CodeRabbit