Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[rolling batch] allow client timeouts to cancel engine requests #2732

Closed
wants to merge 1 commit into from

Conversation

siddvenk
Copy link
Contributor

@siddvenk siddvenk commented Feb 8, 2025

Description

This PR will enable request cancellation for rolling batch backends. This is a draft, and I'm validating the approach with vllm to start. I will refactor the current approach to generalize to all rolling batch backends (assuming the backend supports termination of in-flight requests). The current behavior is:

  • When a new request is scheduled to be added to the rolling batch engine, we first check whether the request has been cancelled. If it has, we don't submit it for inference. This means that if we have a big backlog of requests in the job queue that have started to time out (client side), they will be terminated before being submitted to the engine
  • For long running requests where the client has timed out, the request will be cancelled on the next rolling batch iteration

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

Checklist:

  • Please add the link of Integration Tests Executor run with related tests.
  • Have you manually built the docker image and verify the change?
  • Have you run related tests? Check how to set up the test environment here; One example would be pytest tests.py -k "TestCorrectnessLmiDist" -m "lmi_dist"
  • Have you added tests that prove your fix is effective or that this feature works?
  • Has code been commented, particularly in hard-to-understand areas?
  • Have you made corresponding changes to the documentation?

Feature/Issue validation/testing

Please describe the Unit or Integration tests that you ran to verify your changes and relevant result summary. Provide instructions so it can be reproduced.
Please also list any relevant details for your test configuration.

  • Test A
    Logs for Test A

  • Test B
    Logs for Test B

@siddvenk siddvenk closed this Feb 8, 2025
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