Skip to content

Conversation

@ST-XX
Copy link
Collaborator

@ST-XX ST-XX commented Dec 11, 2025

Motivation

image

💡 If this PR is a Cherry Pick, the PR title needs to follow the format by adding the [Cherry-Pick] label at the very beginning and appending the original PR ID at the end. For example, [Cherry-Pick][CI] Add check trigger and logic(#5191)

💡 如若此PR是Cherry Pick,PR标题需遵循格式,在最开始加上[Cherry-Pick]标签,以及最后面加上原PR ID,例如[Cherry-Pick][CI] Add check trigger and logic(#5191)

Modifications

Usage or Command

Accuracy Tests

Checklist

  • Add at least a tag in the PR title.
    • Tag list: [[FDConfig],[APIServer],[Engine], [Scheduler], [PD Disaggregation], [Executor], [Graph Optimization], [Speculative Decoding], [RL], [Models], [Quantization], [Loader], [OP], [KVCache], [DataProcessor], [BugFix], [Docs], [CI], [Optimization], [Feature], [Benchmark], [Others], [XPU], [HPU], [GCU], [DCU], [Iluvatar], [Metax]]
    • You can add new tags based on the PR content, but the semantics must be clear.
  • Format your code, run pre-commit before commit.
  • Add unit tests. Please write the reason in this PR if no unit tests.
  • Provide accuracy results.
  • If the current PR is submitting to the release branch, make sure the PR has been submitted to the develop branch, then cherry-pick it to the release branch with the [Cherry-Pick] PR tag.

@paddle-bot
Copy link

paddle-bot bot commented Dec 11, 2025

Thanks for your contribution!

@codecov-commenter
Copy link

codecov-commenter commented Dec 11, 2025

Codecov Report

❌ Patch coverage is 0% with 4 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (develop@4eb5533). Learn more about missing BASE report.

Files with missing lines Patch % Lines
fastdeploy/engine/sched/resource_manager_v1.py 0.00% 4 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             develop    #5506   +/-   ##
==========================================
  Coverage           ?   60.74%           
==========================================
  Files              ?      329           
  Lines              ?    41142           
  Branches           ?     6271           
==========================================
  Hits               ?    24992           
  Misses             ?    14259           
  Partials           ?     1891           
Flag Coverage Δ
GPU 60.74% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR fixes a bug in the request rescheduling logic where preempted requests could be repeatedly rescheduled due to under-allocation of blocks. The fix tracks the block size at preemption time and ensures that rescheduled requests receive at least as many blocks as they had before preemption.

Key Changes:

  • Records last_preempted_blocksize when a request is preempted to remember the previous block allocation
  • Adds logic to ensure rescheduled requests receive at least the same number of blocks as before to prevent repeated preemption cycles

Comment on lines 739 to 745
# If num_new_block is less than the last preempted block size, use the last preempted block size instead.
# For normal requests, when allocating blocks, we reserve two extra blocks for decoding.
# In the request rescheduling scenario, we currently only consider the number of tokens already generated,
# which might lead to allocating fewer blocks than the previous allocation, causing repeated rescheduling.
# This adjustment ensures we at least allocate as many blocks as before to avoid this issue.
if num_new_block < request.last_preempted_blocksize:
num_new_block = request.last_preempted_blocksize
Copy link

Copilot AI Dec 12, 2025

Choose a reason for hiding this comment

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

The PR description lacks essential information about the motivation and the specific problem being solved. While there is an image reference in the description, there is no text explanation of:

  1. What bug is being fixed
  2. Why these modifications are necessary
  3. What problem scenario triggers the repeated rescheduling issue

Please provide a detailed description explaining the bug scenario, reproduction steps, and how these changes resolve the issue.

Copilot generated this review using guidance from repository custom instructions.
@Jiang-Jia-Jun Jiang-Jia-Jun merged commit dbedb07 into PaddlePaddle:develop Dec 12, 2025
14 of 18 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