mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
[PR #437] [MERGED] [Store] Enable Client SSD Offload And Storage Persistence #1564
Labels
No labels
ascend
auto-closed
bug
bug
CI/Build
Common
documentation
enhancement
feature request
good first issue
help wanted
high priority
MetaX
nightly-failure
pull-request
PyTorch Backend
question
RFC
Roadmap
stale
Store
Tests
Transfer Engine
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kvcache-ai/Mooncake#1564
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/kvcache-ai/Mooncake/pull/437
Author: @SgtPepperr
Created: 6/2/2025
Status: ✅ Merged
Merged: 7/2/2025
Merged by: @stmatengss
Base:
main← Head:client-ssd-persistence📝 Commits (10+)
951c093enable client ssd offload and storage persistence159442dadd storage_root_path in all tests setup() initialization and add related description in docb02d7bdclean up headers and improve code readability - Added consistent Doxygen-style comments to all header files - Removed redundant code and outdated comments - Optimized function execution logic in LocalFile9e25771Revert "add storage_root_path in all tests setup() initialization and add related description in doc"4d5f4dcRestore the high-level API to its original state and modify it to introduce the storage path through environment variables.240e56aadd local_file_test and thread_pool_testcd275dcfeat(client_ssd_offload): implement async writes and fix locking bugs5443d6dadd support for remove , remove_all , isexist interface etc.d78414efeat(kvcache): implement cluster isolation with session IDs6e93a21edit two parameters client get, add persisitence path in client rather than store_py.cpp📊 Changes
35 files changed (+2297 additions, -132 deletions)
View changed files
📝
.github/workflows/ci.yml(+29 -0)📝
mooncake-integration/store/store_py.cpp(+96 -30)📝
mooncake-integration/store/store_py.h(+3 -0)📝
mooncake-store/include/client.h(+27 -9)📝
mooncake-store/include/ha_helper.h(+4 -1)➕
mooncake-store/include/local_file.h(+97 -0)📝
mooncake-store/include/master_client.h(+6 -0)📝
mooncake-store/include/master_service.h(+10 -1)📝
mooncake-store/include/rpc_service.h(+33 -9)➕
mooncake-store/include/storage_backend.h(+152 -0)➕
mooncake-store/include/thread_pool.h(+69 -0)📝
mooncake-store/include/transfer_task.h(+93 -3)📝
mooncake-store/include/types.h(+65 -4)📝
mooncake-store/src/CMakeLists.txt(+3 -0)📝
mooncake-store/src/client.cpp(+163 -37)📝
mooncake-store/src/ha_helper.cpp(+5 -3)➕
mooncake-store/src/local_file.cpp(+224 -0)📝
mooncake-store/src/master.cpp(+7 -3)📝
mooncake-store/src/master_client.cpp(+34 -0)📝
mooncake-store/src/master_service.cpp(+13 -2)...and 15 more files
📄 Description
I am currently working on the KVcache SSD offload feature for the client side in the Mooncake project. The primary implementation approach involves
The persistence functionality is enabled through a precompiled parameter
USE_CLIENT_PERSISTENCE.[TODO] Currently, file write operations are still performed synchronously, but the related thread pool asynchronous interfaces have been implemented and will be modified to asynchronous operations in a subsequent commit after debugging is completed.
The current code represents the initial implementation of KVcache persistence on the client side. Future work will focus on refining the existing implementation, including adding comments, removing redundant code, improving readability and extensibility, adding test code, and updating documentation.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.