feat(core): add SSD-backed RDMA owner for multi-tier KV cache - #453
Draft
GentleCold wants to merge 5 commits into
Draft
GentleCold wants to merge 5 commits into
GentleCold wants to merge 5 commits into
Conversation
GentleCold
force-pushed
the
feat/ssd-backed-rdma-owner
branch
from
September 11, 2026 23:46
8b2933f to
e610147
Compare
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.
Summary
This PR adds SSD-backed RDMA ownership to PegaFlow's multi-tier KV cache path. Once an SSD write is committed, the owner advertises that SSD generation in MetaServer and can serve it through the existing remote fetch path. RAM eviction therefore does not make a still-valid SSD copy undiscoverable.
The implementation is intentionally limited to the SSD owner path:
(shard_id, begin)generation checks prevent late completions from deleting or replacing a newer generation;This replacement removes the unrelated S3-FIFO, TinyLFU, prefix-aware eviction, and chained-prefetch experiments from the old PR head. The diff is now 14 files (
+791/-207) relative tomaster.Validation
Remote validation ran on
192.168.172.86(8×RTX 5090) with a real vLLM 2P2D replay:0,1 / 2,3 / 4,5 / 6,7inf, max output tokens 1max-model-len=16384253c2b787a7c7d5bdfeb1de76ac1caf91416553ce0297c2b7866f042274b4d425503002745792d64b74fad09d58f990630cc05b75edb15310dc96eabc0468f12The 5090 CUDA NIXL buffer path failed with
ibv_reg_mr(..., cuda): Bad address, so both runs used the CPU NIXL buffer fallback. The complete P/D MultiConnector path was still exercised; TTFT and throughput below should be interpreted with that fallback in mind.Checks on the final feature workspace:
cargo fmt --all -- --checkcargo check --release --no-default-features --features cuda-13,rdma --bin pegaflow-server --bin pegaflow-metaservercargo test -p pegaflow-core --lib --no-default-features --features cuda-13,rdma: 162 passed, 1 ignoredcargo test -p pegaflow-metaserver --lib: 40 passedTP1 was not viable for this model because a single 32 GB 5090 has almost no KV-cache capacity after loading the 29.35 GiB weights, so TP2 is used for the comparison.
Compatibility
All PegaFlow server, MetaServer, protocol, and requester components must be deployed from the same protocol version when enabling SSD owner metadata.