Commit Graph

13 Commits

Author SHA1 Message Date
Cruz Zhao 0c310237d7
[Store] put tensor zero copy (#1480)
---------

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>
2026-03-13 22:59:43 +08:00
tang c724318217
[Store][Feature] copy and move client support (#1364)
* [Store]: add task executor feature with unit and executor test

Signed-off-by: Vincent Gao <vincentbo@linux.alibaba.com>

* [Store]: add some optimizations to task executor

Refactor the task_executor into the client_service and add a
task structure on the client side. Additionally, remove the
existence check in the execute function;
only retrying should be performed if replica allocation fails.

Signed-off-by: Vincent Gao <vincentbo@linux.alibaba.com>

* [Store]: get source replica from copyStart or moveStart api

* [Store]: call move or copy end if the target replica already exist to complete the replication task

* [Store]: use the max_retry_attempts in master side

* [Store]: add client integration test and set default max_retry_attempts to 10

* [Doc] update task api introduction

Signed-off-by: Vincent Gao <vincentbo@linux.alibaba.com>

* [Store] Set copy and move as private methods

Signed-off-by: Vincent Gao <vincentbo@linux.alibaba.com>

* [Doc]: change the default task max_retry_attempts to 10

* [Doc]: fix some description error

* [Store]: allocate the buffer size to be a multiple of 16MB

* [Store]: validate the replica is in local and directly construct slices from replica buffer address instead of copy the data to local buffer

* [Store]: change the validate logic to directly use transfer engine endpoint or local_hostname_.

* [Store] add e2e ci test for copy and move api

* [Store] refactor the client move and copy function

* [Store] fix the e2e test

* [Store] remove unused code

* [Store] add source field when build replica copy payload in the task_manager_test

* [Store] rename back to snake case for split_into_slices function and also remove hard code for client poll count

* [Store] revert mis deleted field when resolve conflicts

* [Store] change test to validate the real behaviour

* [Store] change the default task fetch size to 16

* [Doc]: change the replica copy/move sequence diagram

* [Store] add new split_into_slice method

* [Store] change the real client to use split_to_slice with buffer handle parameters

---------

Signed-off-by: Vincent Gao <vincentbo@linux.alibaba.com>
Co-authored-by: Vincent Gao <vincentbo@linux.alibaba.com>
2026-02-06 19:02:02 +08:00
Cruz Zhao 0b149e6c13
[store] support batch pub and tp aware for pub_tensor (#1288)
* [store] support batch and tp aware for pub_tensor

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>

* add test cases for pub tensor

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>

* add docs for pub tensor

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>

* fix description

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>

* fix typo

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>

* fix typo

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>

---------

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>
2025-12-29 11:07:26 +08:00
Teng Ma 47025faf9c
[Doc] add more mooncake store APIs doc (#1237) 2025-12-23 01:20:09 +08:00
Cruz Zhao 1a5983e756
[store] zero copy for get_tensor() and batch_get_tensor() (#1192) 2025-12-19 08:38:17 +08:00
Xuchun Shang fa8dc059c2
[Store] add tp awareness for get_tensor (#1127)
* add tp awareness for get_tensor
2025-12-11 11:12:44 +08:00
yejj 1840577d68
[Store] add pybind for get_replica_desc (#1121)
* add pybind for get_replica

* rename pybinb funcs name & update api doc

* fix spell problem
2025-12-04 15:45:52 +08:00
Chao Lei 2d3d02a0a8
[Store] Add APIs: batch_put_from_multi_buffers and batch_get_into_multi_buffers (#929)
Co-authored-by: youxiao <youxiao@huawei.com>
2025-10-16 11:17:23 +08:00
ykwd 8992a2ebba
fix(store): Check if Connecting Master Fails (#886) 2025-09-25 11:19:50 +08:00
JinYan Su 6d8aab2ef6
feat(store): disable auto discovery by default, require devices for RDMA (#877)
* feat(store): disable auto discovery by default, require rdma_devices for RDMA

* feat(client): support optional auto-discovery with default for RDMA

* update comment

* update doc

* update hello world
2025-09-23 20:44:22 +08:00
JinYan Su af4fb4d5d4
feat(store): support transfer engine p2phandshake (#852)
* feat(allocator): Add transport endpoint support for segment transfers

* refactor(Client): Replace segment_name with transport_endpoint in buffer descriptors and tests

* refactor(test): switch to in-proc master and remove external service management

* style: format code and adjust transfer task timeout

* feat(Client::MountSegment): set te_endpoint conditionally based on metadata_connstring for P2P mode

* Allow configuring default KV lease TTL via environment variable

Read DEFAULT_KV_LEASE_TTL environment variable at server startup and
parse as uint64_t value. This enables CI tests to override default
configuration without code changes.

Signed-off-by: xiaguan <751080330@qq.com>

* style: format CI config and add [[nodiscard]] to methods

Signed-off-by: xiaguan <751080330@qq.com>

* refactor(tests): remove local_hostname parameter and improve test helpers

The commit removes the unused local_hostname parameter from TransferSubmitter constructor, updates the associated initialization logic, and simplifies test code by introducing helper functions for segment creation. The changes improve code maintainability while preserving functionality.

* refactor(TransferSubmitter): Remove unused local_hostname_ member and validation check

* docs(store): update setup examples for p2p

---------

Signed-off-by: xiaguan <751080330@qq.com>
2025-09-22 16:30:15 +08:00
JinYan Su 51687e916e
docs(deployment): Add Mooncake Store deployment guide with configuration and metrics (#825) 2025-09-16 10:02:55 +08:00
Ruoyu Qin dedfbde5da
[Doc] Update docs for a better quick start (#814)
* add transfer engine python api

* add quick start

* add lmcache v1 integration

* update trace

* fix

* modify segment size
2025-09-06 11:16:42 +08:00