[KV Offload] Add self-describing events for tier promotions#48679
Draft
Change72 wants to merge 1 commit into
Draft
[KV Offload] Add self-describing events for tier promotions#48679Change72 wants to merge 1 commit into
Change72 wants to merge 1 commit into
Conversation
Co-authored-by: OpenAI Codex <codex@openai.com> Signed-off-by: Change72 <changg@nvidia.com>
Contributor
|
Documentation preview: https://vllm--48679.org.readthedocs.build/en/48679/ |
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.
Purpose
Related to #38260 and follows up on #43468.
#43468 added opt-in self-describing KV events, but only populated event metadata from the GPU-to-CPU store path. A secondary-to-primary tier promotion bypasses that path, so its CPU
BlockStoredevent can otherwise retain the legacy placeholder payload.A placeholder carries only the chunk's opaque hash — no tokens, parent hash, or block size — so KV-event consumers generally cannot index the promoted copy, and the worker holding it stays invisible to routing/reuse decisions.
This PR keeps the fix in the connector layer:
HIT, GPU-to-CPU store, or CPUBlockStoredevent;self_describing_kv_eventswithTieringOffloadingSpec.The existing full-attention filter remains the only group filter. Sliding-window and SSM groups retain placeholder payloads. This does not change offloading managers,
LookupResult, the lookup contract, or the KV-event wire format.Reset-time flushing is enabled only for self-describing events. It preserves per-medium ordering; cross-medium ordering is not part of the event contract.
Aside from that reset-time flush, which applies to single-tier deployments as well, the default single-tier
CPUOffloadingSpecbehavior is unchanged; with self-describing disabled, event output is unchanged on all paths.Known limitations
Locally requested CPU promotions are best-effort self-describing. Events may retain placeholders when every local speculator finishes before translation, during a pending-removal/re-promotion generation race, or when an externally initiated promotion has no locally recorded metadata. Consumers must ignore removals for unknown hashes.
Duplicate-work check
This is not a duplicate. I reviewed #38260 and searched open PRs by issue reference,
self_describing_kv_events,OffloadingEventsTracker, and promotionBlockStoredkeywords. No open PR implements connector-side promotion metadata tracking.#48281 is the only open PR referencing #38260. It adds optional FS/OBJ locality metadata and is orthogonal to CPU promotion tracking and tiered self-describing events.
Test Plan
Model evaluation is not applicable because this changes KV-event metadata and bookkeeping only; it does not affect model execution, outputs, or accuracy.
Test Result
113 passed, 17 warnings--all-files --hook-stage manual): passedAI Assistance
AI assistance was used for investigation, implementation, tests, and adversarial review. The human submitter reviewed the design and production code and will complete the full line-by-line review before marking this draft ready.