Repository navigation
fix(offload): refresh state images in LMCache's LRU on every tier hit and keep the index consistent #2668
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
fix(offload): refresh state images in LMCache's LRU on every tier hit and keep the index consistent #2668
Changes from 8 commits
Commits
Show all changes
21 commits
Select commit
Hold shift + click to select a range
4204a9e
fix(offload): make the state-tier CPU budget a reservation in the sha…
ZLkanyo009 39dc5dd
fix(offload): refresh state images in LMCache's LRU on every tier hit
ZLkanyo009 4d8798f
fix(offload): count a state image as confirmed for 60 s, not 5 s
ZLkanyo009 eff79dc
fix(offload): bound the verify hold from its start; don't tombstone t…
ZLkanyo009 881aacf
Merge remote-tracking branch 'origin/main' into lingzha/qwen38-state-…
ZLkanyo009 c54eda2
refactor(offload): share the resume-hash pick, size the verify window…
ZLkanyo009 9219a8d
fix(offload): count and warn on presence-only touches, tolerate an of…
ZLkanyo009 1b311b6
state offload: resolve LMCache's LRU at bind, expose unrefreshed touches
ZLkanyo009 4eff581
state offload: degrade on missing LRU internals, drop stale gone verd…
ZLkanyo009 77d081e
state offload: keep LMCache reads out of BlockManager
ZLkanyo009 8e9e0c9
state offload: count a raising touch as unrefreshed and log it once
ZLkanyo009 0dda9c9
state offload: keep the tier logic in state_offload, tests with their…
ZLkanyo009 b1582b4
state offload: trim the hit refresh to what it needs
ZLkanyo009 024e3e8
state offload: count unrefreshed touches in the connector statistics
ZLkanyo009 caf4ea8
tests: keep the state-touch tests off the file's tail
ZLkanyo009 0d5600b
Keep #2668 to the touch and hold: revert edits to existing code
ZLkanyo009 3ccc2e9
state offload: keep the shared resume-hash helper, drop the budget wa…
ZLkanyo009 85f74ff
Merge origin/main (8a07708e1) into lingzha/qwen38-state-tier-reserve
ZLkanyo009 bdef7ef
state offload: correct the hold and touch-verdict comments, tidy test…
ZLkanyo009 8d40782
Simplify the state touch path and its tests
ZLkanyo009 bb975a7
Merge origin/main (b986b6535) into lingzha/qwen38-state-tier-reserve
ZLkanyo009 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a raising touch counts as refreshed here, so drift looks healthy.. warn once and count it unrefreshed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@valar-cop Fixed in 8e9e0c9. A touch whose codec call raises is now reported as resident but unrefreshed, the same verdict as
TouchResult.PRESENT:state_touches_unrefreshedin the K3 connector'sget_statistics()(024e3e8) rather than a separate take method on three connectors.Test:
TestConnectorTouches::test_a_failing_touch_is_unrefreshed_and_logged_once(three failing touches over two steps: all(True, False), one record withexc_info). It fails on 77d081e. The offload README's touch paragraph says it too.This is the same gap you raised in r4426148581.
cc @valarLip