mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
[GH-ISSUE #1670] [Feature Request]: Will DRAM-CXL-SSD tiered storage be supported in Mooncake #492
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#492
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?
Originally created by @qiuweit7 on GitHub (Mar 16, 2026).
Original GitHub issue: https://github.com/kvcache-ai/Mooncake/issues/1670
Originally assigned to: @stmatengss on GitHub.
Describe your feature request
DRAM-CXL-SSD Tiered Storage Implementation
Feature Description
This submission aims to implement the DRAM-CXL-SSD tiered storage core capability for Mooncake Store: the design retains hot data in ultra-low-latency DRAM, places warm data in a shareable CXL memory pool, and writes cold data to high-capacity SSD.
We are currently planning to merge this functionality into the community codebase. This Issue is submitted to synchronize the changes and solicit community feedback.
Core Changes Overview
1. Client Initialization with Multi-Protocol Support
Files:
mooncake-store/src/real_client.cppmooncake-store/src/client_service.cppChanges:
DispatchProtocolslogic duringclientcreation to implement protocol-to-storage level mapping:tcp/rdma→StorageLevel::RAMcxl→StorageLevel::CXL2. Mount Implementation
Files:
mooncake-store/src/client_service.cppmooncake-transfer-engine/src/transfer_engine_impl.cppChanges:
transfer_enginememory registration logic (registerLocalMemory) to perform memory registration with the appropriate transport layer based on protocol selection.3. Level Allocation Strategy
File:
mooncake-store/include/allocation_strategy.hChanges:
LevelAllocationStrategyclass for tiered storage scenariosReplicateConfig.preferred_storage_level:StorageLevel::RAM→allocateRAM()methodStorageLevel::CXL→allocateCXL()method4. Protocol-Matched Data Transfer
Files:
mooncake-store/src/transfer_task.cppmooncake-transfer-engine/src/multi_transport.cppChanges:
Added protocol handling logic to the
submitTransferinterfaceSelect protocol based on replica's storage level:
Modified
selectTransportto check whether the target segment's protocol list contains the requestedproto, thereby obtaining the correspondingtransport.Before submitting a new issue...
@stmatengss commented on GitHub (Mar 17, 2026):
Good feature. Hope to see related PRs.
@github-actions[bot] commented on GitHub (Jun 16, 2026):
This issue has had no activity for 90 days and will be closed in 7 days if there is no further activity. Please comment or react if it should stay open.
@github-actions[bot] commented on GitHub (Jun 24, 2026):
Closing due to 3 months of inactivity. If this is still relevant, please comment and we can reopen.