Skip to content

Conversation

@AlonKellner-RedHat
Copy link
Collaborator

@AlonKellner-RedHat AlonKellner-RedHat commented Oct 29, 2025

Summary

This PR adds over-saturation stopping to the GuideLLM CLI.
It's based on the OSD (Over-Saturation Detection) algorithm we developed and evaluated at Jounce.
Use --stop-over-saturated or --stop-osd to enable.

Details

This PR adds:

  • Over-saturation stopping (--stop-over-saturated)
  • Comprehensive OSD unit tests

Test Plan


  • "I certify that all code in this PR is my own, except as noted below."

Use of AI

  • Includes AI-assisted code completion
  • Includes code generated by an AI application
  • Includes AI-generated tests (NOTE: AI written tests should have a docstring that includes ## WRITTEN BY AI ##)

@AlonKellner-RedHat AlonKellner-RedHat mentioned this pull request Oct 30, 2025
9 tasks
@AlonKellner-RedHat AlonKellner-RedHat force-pushed the feat/over-saturation-stopping branch 4 times, most recently from 85cf65e to f996254 Compare November 6, 2025 11:11
sjmonson added a commit that referenced this pull request Nov 6, 2025
## Summary

E2E tests which check basic GuideLLM functionality, using vLLM
simulator.

## Details

- [x] Max requests test
- [x] Max duration test
- [ ] Over-saturation stopping test - skipped for now, will be enabled
when #438 lands

## Test Plan

- [x] Local testing
- [x] GitHub action

---

- [x] "I certify that all code in this PR is my own, except as noted
below."

## Use of AI

- [x] Includes AI-assisted code completion
- [ ] Includes code generated by an AI application
- [ ] Includes AI-generated tests (NOTE: AI written tests should have a
docstring that includes `## WRITTEN BY AI ##`)
@AlonKellner-RedHat AlonKellner-RedHat force-pushed the feat/over-saturation-stopping branch 4 times, most recently from ce85b1c to 46bc491 Compare November 18, 2025 08:15
Copy link
Collaborator

@markurtz markurtz left a comment

Choose a reason for hiding this comment

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

prompt-python_module_docs.md
Overall looks good. I have a few comments/discussion points to run through around names, types, package layout, etc. I haven't gone through the full logic yet to validate, will do that soon, but adding a writeup of the algorithm would help at the top.

Also, can you ensure all public methods have docs? I'll attach the prompt I use to generate docs that is generally fairly self sufficient and accurate in case you'd like to use that so it doesn't take too much time.

@AlonKellner-RedHat AlonKellner-RedHat force-pushed the feat/over-saturation-stopping branch from 59ffa16 to 3ebdcaa Compare November 20, 2025 11:35
Copy link
Collaborator

@jaredoconnell jaredoconnell left a comment

Choose a reason for hiding this comment

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

I started the process of reviewing this PR. It appears to work, though I need to fix some problems with my VLLM instance to be sure about that.
I think this feature needs some more user-facing documentation. It may make sense to add a markdown file in the docs section explaining what the typical end users need to know about this.

@AlonKellner-RedHat AlonKellner-RedHat force-pushed the feat/over-saturation-stopping branch 2 times, most recently from e8a0bb6 to c1e97fe Compare November 30, 2025 12:40
@AlonKellner-RedHat
Copy link
Collaborator Author

I started the process of reviewing this PR. It appears to work, though I need to fix some problems with my VLLM instance to be sure about that. I think this feature needs some more user-facing documentation. It may make sense to add a markdown file in the docs section explaining what the typical end users need to know about this.

Done

@AlonKellner-RedHat
Copy link
Collaborator Author

This PR is now ready again after applying all review changes

Copy link
Collaborator

@sjmonson sjmonson left a comment

Choose a reason for hiding this comment

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

Few more nits. Also some of Mark's comments were missed about import style.

@AlonKellner-RedHat AlonKellner-RedHat force-pushed the feat/over-saturation-stopping branch from ccab11e to 4ef1f98 Compare December 4, 2025 17:15
@AlonKellner-RedHat
Copy link
Collaborator Author

@markurtz @sjmonson I went through everything (made sure I didn't miss anything this time) and the E2Es pass again 💪

@sjmonson sjmonson force-pushed the feat/over-saturation-stopping branch from 4ef1f98 to 44a668b Compare December 4, 2025 21:37
Copy link
Collaborator

@jaredoconnell jaredoconnell left a comment

Choose a reason for hiding this comment

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

This is close to ready. The documentation needs to be updated, the other reviewers' latest comments need to be addressed, and one E2E test is still failing.

@sjmonson sjmonson force-pushed the feat/over-saturation-stopping branch 2 times, most recently from 4b1774f to 265a146 Compare December 5, 2025 16:44
Add over-saturation detection and stopping capability to GuideLLM CLI.

- Implement OverSaturationDetector with statistical slope detection
- Add OverSaturationConstraint for scheduler integration
- Add CLI flags --stop-over-saturated and --stop-osd
- Integrate with benchmark entrypoints and main CLI

Signed-off-by: Alon Kellner <[email protected]>
AlonKellner-RedHat and others added 16 commits December 5, 2025 11:44
Signed-off-by: Alon Kellner <[email protected]>
Signed-off-by: Alon Kellner <[email protected]>
Signed-off-by: Alon Kellner <[email protected]>
Signed-off-by: Alon Kellner <[email protected]>
Signed-off-by: Alon Kellner <[email protected]>
Signed-off-by: Alon Kellner <[email protected]>
Signed-off-by: Samuel Monson <[email protected]>
@sjmonson sjmonson force-pushed the feat/over-saturation-stopping branch from 265a146 to 89b145d Compare December 5, 2025 16:44
@sjmonson sjmonson changed the title Feat/over saturation stopping Add over saturation constraint Dec 5, 2025
@sjmonson sjmonson requested review from sjmonson and removed request for sjmonson December 5, 2025 16:48
jaredoconnell
jaredoconnell previously approved these changes Dec 5, 2025
Copy link
Collaborator

@jaredoconnell jaredoconnell left a comment

Choose a reason for hiding this comment

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

Looks good, with the exception of one last out of date documentation part. I'll approve since once that's fixed I don't need to check again.

markurtz
markurtz previously approved these changes Dec 5, 2025
Copy link
Collaborator

@markurtz markurtz left a comment

Choose a reason for hiding this comment

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

LGTM pending @jaredoconnell's docs comment

Signed-off-by: Samuel Monson <[email protected]>
@sjmonson sjmonson dismissed stale reviews from markurtz and jaredoconnell via 913a601 December 5, 2025 18:24
@sjmonson sjmonson merged commit a98a644 into vllm-project:main Dec 5, 2025
29 checks passed
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.

4 participants