Repository navigation
Conversation
Signed-off-by: Alexandre Milesi <milesial@users.noreply.github.com>
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Comment |
This was referenced Oct 28, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why and what changed
Scalar bytes per token cannot describe a shared Mamba cache pool. A request consumes attention pages, working states, retained checkpoints, and speculative scratch states.
This adds an observed
mamba_alignFPM layout and connects its physical geometry to the native vLLM replay allocator. It reserves the null page and full-state scratch copies. It preserves state ownership through restore, turnover, preemption, and release.Fine-grained speculative lookup uses the matching attention tail and the earlier saved state. Retention now keeps both full-page boundaries for repeated and extended prompts. The pinned vLLM logits cap still applies before the speculative hash-unit drop, so some exactly aligned prompts still miss the tail.
The profile requires
state_storage: full_state. ReplaySSM and RecoverSSM use different storage rules. Their profiles can use the newunmodeledlayout for timing queries, while capacity sizing and replay reject that layout.Review map
crates/core/src/perfmodel/fpm/resources.rs, thenengine/kv_manager/vllm_backend.rsandengine/scheduler/vllm/core.rs.mamba_alignandunmodeledlayouts,mamba_cache, and optionalstate_cache.num_speculative_states.Evidence
cargo test -p aisimulate-core --lib engine::: 862 passed.aa5457ce7ec3d1b106edaab512eae9273fab24f1. Full CI and performance advisory runs are pending.aa5457ce7ec3d1b106edaab512eae9273fab24f1, self-review only. Independent review remains pending.Modeling or data provenance
Allocation and retention rules derive from vLLM revision
db9527a46873454610df6dbedf79a36d6bf1a7f6. The third-party notices record the source paths and modifications. Tests use synthetic geometry and timings.At vLLM #55688, revision
d9cd1fd1fcfc5a08d14ff29ba7439f76ad42d628, ReplaySSM sets separate speculative blocks to zero. Its FlashInfer replay ring still grows with draft depth. #52962 changes checkpoint precision and sharing. #62625 moves GDN recovery records outside the cache page. These policies require separate allocation models and fresh memory/timing observations.AgentX throughput accuracy, shared-prefix junction retention, asynchronous copy lifetimes, and GPU ReplaySSM behavior remain unqualified.
Tracking