Skip to content

Conversation

@gongshaotian
Copy link
Collaborator

@gongshaotian gongshaotian commented Feb 2, 2026

Motivation

💡 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)

Current implementation (does not support PrefixCache):
image

PrefixCache Support Solution:
image

The workflow of asynchronous transmission routing:

ModelRunner(主进程)
multiprocessing.Manager.Queue(主进程 - 子进程任务队列)
StoreProcess (子进程)
├── Main Loop (从 Queue 获取任务)
├── ThreadPoolExecutor (5个工作线程)
│   ├── Worker Thread 1: process_put_task() → 提交协程到事件循环
│   ├── Worker Thread 2: process_clear_store_task() → 提交协程到事件循环
│   └── ...
└── AsyncEventLoopThread (专用线程)
    └── asyncio Event Loop
        ├── 执行: await p2p_client.put()
        ├── 执行: await p2p_client.clear_store()
        └── 执行: await p2p_client.delete_prefix_batch()

Modifications

  1. RoutingReplayManager
  2. RoutingStore
  3. ModelRunner

Usage or Command

Pass

Accuracy Tests

Pass

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 Feb 2, 2026

Thanks for your contribution!

@codecov-commenter
Copy link

codecov-commenter commented Feb 2, 2026

Codecov Report

❌ Patch coverage is 15.84699% with 308 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (release/2.4@457b69f). Learn more about missing BASE report.

Files with missing lines Patch % Lines
...model_executor/layers/moe/routing_indices_cache.py 15.71% 295 Missing ⚠️
fastdeploy/worker/gpu_model_runner.py 21.42% 10 Missing and 1 partial ⚠️
fastdeploy/worker/gpu_worker.py 0.00% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@              Coverage Diff               @@
##             release/2.4    #6314   +/-   ##
==============================================
  Coverage               ?   56.61%           
==============================================
  Files                  ?      331           
  Lines                  ?    41502           
  Branches               ?     6319           
==============================================
  Hits                   ?    23498           
  Misses                 ?    16168           
  Partials               ?     1836           
Flag Coverage Δ
GPU 56.61% <15.84%> (?)

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.

@gongshaotian gongshaotian marked this pull request as ready for review February 3, 2026 06:21
@gongshaotian gongshaotian changed the title [WIP][R3] Support Full Async R3 and PrefixCache [RL] R3 Support Full Async and PrefixCache Feb 3, 2026
@gongshaotian gongshaotian changed the title [RL] R3 Support Full Async and PrefixCache [RL] R3 Support Fully Async and PrefixCache Feb 3, 2026
@gongshaotian gongshaotian requested review from Jiang-Jia-Jun, kevincheng2 and rainyfly and removed request for kevincheng2 February 3, 2026 08:53
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.

3 participants