Feature/aiv 785 - #2254
Conversation
Add a new self-contained routing policy that splits healthy workers into a long pool (label pool=long) and a short pool (remaining workers), then applies cache-affinity routing on top. Designed for both P/D disaggregated prefill fleets and regular single-node deployments. Routing pipeline (5 steps): - Step 1: health filter (empty fleet -> 503) - Step 2: global imbalance check (same formula as cache_aware) - Step 3: cache hit via per-model string radix tree - Step 4: long/short pool split by uncached prefill tokens (X-Prompt-Tokens header or char-level estimate, 100K threshold) - Step 5: record tree + return Configuration: cache_threshold, balance_abs/rel_threshold, eviction_interval_secs, max_tree_size, chars_per_token, long_prefill_threshold, long_pool_max_load, short_pool_max_load. Wired through PolicyConfig enum, factory, validation, CLI, and registry init/remove hooks (single + PD paths). Does not touch mesh sync, KV event monitor, or hash index -- fully additive, zero impact on existing policies. Tests: 14 unit tests + 16 E2E tests covering all decision-table rows.
|
Warning Review limit reached
Next review available in: 6 minutes Limit details: You’ve used all 2 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (9)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Description
Problem
Solution
Changes
Test Plan
Checklist
cargo +nightly fmtpassescargo clippy --all-targets --all-features -- -D warningspasses