Skip to content

fix(cache): improve hybrid attention snapshot eviction - #1550

Closed
sufubao wants to merge 1 commit into
ModelTC:mainfrom
sufubao:codex/hybrid-cache-eviction
Closed

fix(cache): improve hybrid attention snapshot eviction#1550
sufubao wants to merge 1 commit into
ModelTC:mainfrom
sufubao:codex/hybrid-cache-eviction

Conversation

@sufubao

@sufubao sufubao commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

Hybrid attention prefix traversal currently refreshes every ancestor snapshot's LRU age, even when only the deepest snapshot is restored. Under cache pressure, this can retain unused historical checkpoints at the expense of other conversations. KV eviction can also stop after removing a tail checkpoint while leaving an unusable KV-only chain allocated.

This change gives small-page snapshots a separate usage timestamp, refreshed after actual state restoration, and reclaims the resulting unreferenced KV-only tail after eviction. Cleanup stops at the root, a referenced prefix, a branch, or a valid small-/big-page checkpoint. Chinese comments explain the lifecycle and eviction boundaries.

Validation: 13 focused CPU control-flow tests passed during development, covering snapshot recency, restore/fallback paths, reference accounting, and cleanup boundaries. The temporary test file is not included in this PR. Flake8 and git diff --check passed. GPU inference and multi-turn performance have not been measured.

@sufubao sufubao closed this Sep 8, 2026
@sufubao
sufubao deleted the codex/hybrid-cache-eviction branch September 8, 2026 07:20
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.

1 participant