Commit Graph

41 Commits

Author SHA1 Message Date
ascend-direct-dev c0f83b1ab3
add ascend direct transport to mooncake store (#835)
Co-authored-by: youxiao <youxiao@huawei.com>
2025-09-17 09:25:19 +08:00
Mumupika a7e1f1c360
[CI] Fix Release build_wheel.sh to make python 3.8 auditwheel happy (#801)
* Prepare test action env.

* [Trial] fix wildcard.

* [Trial] fix libcuda.so.1 has been modified after cuda-12.8 installed in alternative install.

* Revert to previous release.yml.

* Try to add repo for prevent publish to pypi failed in fork repo.
2025-09-05 10:37:28 +08:00
zuochunwei 0cc51a60ac
[TransferEngine] heterogeneous_ascend support kv-cache transfer between npu and gpu (#759)
* heterogeneous_ascend
Co-authored-by: AscendTransport<ascend_transport@yeah.net>

* update desc for USE_ASCEND_HETEROGENEOUS option

* format

* fix bug

* format

* lock_guard

* a new fix

---------

Co-authored-by: zuochunwei <zuochunwei@meituan.com>
Co-authored-by: ascend_transport <ascend_transport@yeah.net>
Co-authored-by: AscendTransport <ascendtransport@yeah.net>
2025-09-03 09:41:48 +08:00
qicosmos 185c5d229b
[coro_rpc] use client pool and enable rdma (#789) 2025-09-02 00:40:21 +08:00
Vladislav Nosivskoy aa9d4471a1
[Store] Add replication guarantees (#744)
* add replication guarantees

Signed-off-by: Vladislav Nosivskoy <vladnosiv@gmail.com>

* refactor implementation

Signed-off-by: Vladislav Nosivskoy <vladnosiv@gmail.com>

* fix merge aftermath

Signed-off-by: Vladislav Nosivskoy <vladnosiv@gmail.com>

* less copies

Signed-off-by: Vladislav Nosivskoy <vladnosiv@gmail.com>

* try fix wheel tests

Signed-off-by: Vladislav Nosivskoy <vladnosiv@gmail.com>

* fix wheel tests

Signed-off-by: Vladislav Nosivskoy <vladnosiv@gmail.com>

* remove old comment

Signed-off-by: Vladislav Nosivskoy <vladnosiv@gmail.com>

* fix wheel tests and add replication fault tolerance wheel test

Signed-off-by: Vladislav Nosivskoy <vladnosiv@gmail.com>

* split wheel tests

Signed-off-by: Vladislav Nosivskoy <vladnosiv@gmail.com>

* simplify code

Signed-off-by: Vladislav Nosivskoy <vladnosiv@gmail.com>

* replica allocation is best effort operation

Signed-off-by: Vladislav Nosivskoy <vladnosiv@gmail.com>

* fix tests for new best-effort behaviour

Signed-off-by: Vladislav Nosivskoy <vladnosiv@gmail.com>

* fix

Signed-off-by: Vladislav Nosivskoy <vladnosiv@gmail.com>

* update docs

Signed-off-by: Vladislav Nosivskoy <vladnosiv@gmail.com>

* update another docs

Signed-off-by: Vladislav Nosivskoy <vladnosiv@gmail.com>

---------

Signed-off-by: Vladislav Nosivskoy <vladnosiv@gmail.com>
2025-08-25 20:24:41 +08:00
Teng Ma f76c92295b
[Store] add c++ http metadata server in mooncake master (#766)
* [Store] config: start http server from master

Signed-off-by: Teng Ma <sima.mt@alibaba-inc.com>

* [Refactor] Use coro http server for metadata

* fix cmake

* fix merge

* add doc and test

* clear

---------

Signed-off-by: Teng Ma <sima.mt@alibaba-inc.com>
2025-08-25 13:56:37 +08:00
ascend-direct-dev 4f94433525
add ascend direct transport (#740)
* add ascend direct transport

* fix style

---------

Co-authored-by: youxiao <youxiao@huawei.com>
2025-08-18 22:34:17 +08:00
Sgt.Pepper 81f492c033
[Store]feat: Migrate Persistence Metadata from Client to Master Service (#690)
* initial commit

* fix client::query return fault

* fix isexist return fault

* fix test bug

* fix clearinvalidhandles problem

* add file description for 3fs

* change ssd function start from client to master

* fix naming error

* edit doc description

* edit doc

* clang format

* fix as the review comment

* fix formmat

* add master service test for ssd

* fix format

* add log and cli

* fix putend test
2025-08-14 14:34:51 +08:00
Houjiang Chen 4e49040172
[TransferEngine] exclude packaging ascend precompiled libraries (#737) 2025-08-13 09:39:06 +08:00
AscendTransport fc1eb07da9
[TransferEngine] Update to support CANN 8.2.RC1 (#714) 2025-08-07 13:51:52 +08:00
doujiang24 4e03dbe013
code format & enable code format checking in ci (#677)
Signed-off-by: doujiang24 <doujiang24@gmail.com>
2025-08-02 15:50:25 +08:00
AscendTransport d10893f1a7
open ascend (#658) 2025-07-24 10:36:42 +08:00
ykwd 1f71517d72
[Store] Enlarge the Default KV TTL to 5 Seconds (#660)
* change default kv lease ttl to 5 sec
2025-07-24 10:34:35 +08:00
AscendTransport 7e1ef1adc6
[TransferEngine] Ascend Transport: add batch_transfer_sync, Debian support & bug fixes (#619)
* ascend batch sumbit

* init fix

* fix cmake

* review

* review
2025-07-18 14:28:24 +08:00
Teng Ma 7a6b3d3acd
[Store] feat: put/get tensor API for store (#579)
* [Store] feat: add put/get tensor API

* add new paramter for get

* add random test

* resolve conflicts

* add tensor api test to ci

* fix ci

* modify position

* use put_from

* opt

* install torch for ci

* reduce the scope of pybind11 torch

* pass ci

* add dereg

* fix get tensor

---------

Co-authored-by: qicosmos <qicosmos@linux.alibaba.com>
2025-07-11 11:47:16 +08:00
ykwd 60ccc133a9
[Store] Soft Pin for Important Object (#587)
This PR adds a soft pin mechanism for important and frequently used objects, such as system prompts and hot objects.
2025-07-08 19:37:41 +08:00
Sgt.Pepper 6515b50d8c
[Store] Add ungister_buffer python binding for Mooncake Store (#596)
* test

* fix removefile bug

* add unregister_buffer python api and pytest

* add test fix
2025-07-07 13:01:29 +08:00
JinYan Su bde2fcaa13
refactor: introduce expected pattern for error handling in master service (#562)
* refactor: introduce expected pattern for error handling in master service

- Replace ErrorCode return types with tl::expected<T, ErrorCode> pattern
- Improve error handling clarity by separating success values from error codes
- Update MasterService methods to return expected<void, ErrorCode> or expected<T, ErrorCode>
- Modify RPC service interfaces to support expected pattern
- Update all related tests to handle new expected return types
- Add necessary includes for ylt/util/expected.hpp

This change makes error handling more explicit and type-safe:
- Success cases can be accessed via .value()
- Error cases can be accessed via .error()
- Eliminates ambiguity between success and error states

Future work:
- Extend expected pattern to RPC response types
- Enhance error code system for more comprehensive error handling

* Refactor error handling to use expected<T,E> pattern instead of ErrorCode

- Updated MasterService methods to replace ylt::expected with tl::expected for better error handling.
- Modified BatchGetReplicaList, BatchPutStart, BatchPutEnd, and other methods to return tl::expected types.
- Enhanced ClientIntegrationTest to handle expected results from Put, Get, Remove, and other operations using tl::expected.
- Adjusted error handling in clientctl and master_metrics_test to utilize the new expected type.
- Improved overall error reporting in tests to provide clearer feedback on operation failures.

* fix test compile

* refactor: update client implementation and remove master.proto

- Enhanced client.h and client.cpp with new functionality
- Removed obsolete master.proto file
- Updated master_client.cpp and transfer_task.cpp
- Improved integration and stress tests

* fix: update Python integration to work with new batch API

- Replace BatchObjectInfo with vector<vector<Replica::Descriptor>>
- Update BatchPut to handle new return type vector<tl::expected<void, ErrorCode>>
- Fix BatchQuery API usage to work with new expected pattern
- Convert unordered_map to vector format for BatchPut parameter compatibility

* refine master log and metric

* fix(ci): should alloc first

* merge main

* fix tests
2025-07-03 14:54:06 +08:00
Sgt.Pepper 77f5a7b9a1
[Store] Enable Client SSD Offload And Storage Persistence (#437)
* enable client ssd offload and storage persistence

* add storage_root_path in all tests setup() initialization and add related description in doc

* clean 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 LocalFile

* Revert "add storage_root_path in all tests setup() initialization and add related description in doc"

This reverts commit 159442d44e.

revert old high-level api test and doc modification

* Restore the high-level API to its original state and modify it to introduce the storage path through environment variables.

* add local_file_test and thread_pool_test

* feat(client_ssd_offload): implement async writes and fix locking bugs

- Refactor write operations to use thread pool for async file I/O
- Fix potential double-unlock bug by adding atomic is_locked_ flag
- Add corrupted file cleanup on write failure:
  - Auto-delete files with failed writes in destructor
  - Prevent subsequent reads of corrupted data

* add support for remove , remove_all , isexist interface etc.

* feat(kvcache): implement cluster isolation with session IDs

    * Remove precompilation parameters to simplify build configuration
    * Add session ID mechanism for cluster isolation:
      - Master node now generates unique session IDs on initialization
      - All persistent operations are scoped under session-specific subdirectories

* edit two parameters client get, add persisitence path in client rather than store_py.cpp

* add support for batch api conflict , refactor replica.descriptor to support file and memory type

* add test branch

* add ci ssd

* change python test

* add log for fail

* change querykey return value type

* fix bug

* fix bug

* add sleep for removefile

* fix sleep

* edit ci.yml and fix delete before write problem

* add comment for storage_backend

* spell check

* fix name problem and decrease errorcode for file

* add pytest for ssd offload

* edit test

* edit test

* fix test

* fix bug

* fix test

* Modify the thread pool value capture to reference capture to fix the issue of significant performance degradation when writing files with put.

* add async getfrom file in batchget transfertask. delete file_storage_backend

* add support for HA in cluster_id subdirectory, change session_id to fsdir

* add persistence in batchput

* add disk allocate for get_into py interface

* fix bug

* temp

* fix bug in submit fileread task for std:move(slices)

* edit querykey to return optional<descriptor>, add interface batchquerykey for storagebackend

* fix confict in batchget, add batchget/batchput test

* fix bug

* fix bug

* comment batch test

* fix conflict and add batch_get_into file test

* fix test bug

* fix test bug

* fix conflict
2025-07-02 19:15:10 +08:00
AscendTransport 6ff0f35211
[TransferEngine] Enable Huawei Ascend Transport for TransferEngine (#502)
* Ascend Transport

* fix ci

* reviewed changes
2025-07-01 15:47:34 +08:00
JinYan Su 8e2e0adcb4
feat(store): add zero-copy operations for python binding (#532)
* feat(store): add zero-copy operations for python binding

* test: rename dict fuzz e2e test to run last

* test: remove obsolete test_multicards.py from repository

* chore(tests): remove multicards test execution from script
2025-06-20 17:46:24 +08:00
Shangming Cai a79f770bcc
[Build] Optimize store build control for wheel and local build (#531)
* [Build] Optimize store build control for wheel and local build

Signed-off-by: Shangming Cai <caishangming@linux.alibaba.com>

* fix typo

Signed-off-by: Shangming Cai <caishangming@linux.alibaba.com>

* fix rm

Signed-off-by: Shangming Cai <caishangming@linux.alibaba.com>

---------

Signed-off-by: Shangming Cai <caishangming@linux.alibaba.com>
2025-06-20 15:46:35 +08:00
Shangming Cai f0cb5618c9
[Build] Deprecate stale adaptor usage to reduce whl package size (#529)
Signed-off-by: Shangming Cai <caishangming@linux.alibaba.com>
2025-06-20 14:19:41 +08:00
Shangming Cai 4e78b6e676
[Build] Add allocator class to support nvlink for more use-cases (#524)
Signed-off-by: Shangming Cai <caishangming@linux.alibaba.com>
2025-06-19 20:00:09 +08:00
Shangming Cai 0a8e4c3074
[Build] Optimize nvlink allocator build logic and fix name issue (#523)
Signed-off-by: Shangming Cai <caishangming@linux.alibaba.com>
2025-06-19 19:51:52 +08:00
Teng Ma e6bbc3dae8
[Build] add TE bench into wheel package (#514) 2025-06-18 19:04:09 +08:00
JinYan Su 31b814a4af
feat(release): add support for arm64 architecture (#486)
* feat(release): add support for arm64 architecture

* Update scripts/build_wheel.sh

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-14 12:08:59 +08:00
Teng Ma 4d11e25f28
[Build] fix build wheel if nvlink is disabled (#480)
* [Build] fix build wheel if nvlink is disabled

* fix
2025-06-13 00:08:08 +08:00
JinYan Su 9c95392d07
chore: automate build output directory and update scripts (#460)
* chore: automate build output directory and update scripts

* feat(ci): enable CUDA support in workflows

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

* chore(build): switch to nvcc for nvlink hook compilation

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

---------

Signed-off-by: Jinyang Su <751080330@qq.com>
2025-06-10 10:45:36 +08:00
jiafu zhang 3c27b0bd91
leave endpoint status unchanged when delete endpoint reference to avoid endpoint deconstruction before CQ being generated (#384)
* leave endpoint status unchanged when delete endpoint reference to avoid endpoint deconstruction before CQ being generated

Signed-off-by: jiafu.zhang <jiafu.zhang@intel.com>

* leave endpoint status unchanged when delete endpoint reference to avoid endpoint deconstruction before CQ being generated

Signed-off-by: jiafu.zhang <jiafu.zhang@intel.com>

* leave endpoint status unchanged when delete endpoint reference to avoid endpoint deconstruction before CQ being generated

Signed-off-by: jiafu.zhang <jiafu.zhang@intel.com>

---------

Signed-off-by: jiafu.zhang <jiafu.zhang@intel.com>
2025-05-27 11:23:50 +08:00
doujiang24 04b29e4b5a
[Build]: exclude cuda so files in auditwheel. (#379)
Signed-off-by: doujiang24 <doujiang24@gmail.com>
2025-05-20 15:18:47 +08:00
maobaolong 076022eda8
[Integration] feat(Mooncake Integration): Supply a MooncakeConfig into whl file (#338)
* supply a MooncakeConfig into whl

* Add example comment and require fields check

* Add test to ci

* Revert the rename to keep consistence
2025-05-12 17:52:19 +08:00
Johnny da24425450
[Build] ARM build_wheel.sh (#344) 2025-05-11 14:15:09 +08:00
JinYan Su a6a491dcc7
[Mooncake Integration] feat: add pybind support for Python 3.12 (#249)
* feat: use pyproject.toml and simplify setup.py

* feat: add apache license and update pyproject.toml

* chore: use string quotes for python version in CI matrix

* feat: build wheels for python 3.10 and 3.12

* chore: update wheel build process in CI/CD

* ci: refactor ci and release workflows for matrix builds

* chore: remove unused workflow and fix license path

* feat: initialize git submodules in dependencies.sh
2025-04-15 15:46:11 +08:00
JinYan Su 18e642de8d
chore: remove libetcd_wrapper.so from wheel build (#243) 2025-04-14 13:30:29 +08:00
Teng Ma abad4f758b
[MooncakeAdaptor] reconstruct the adaptor arch (#232) 2025-04-11 17:54:02 +08:00
JinYan Su 033ff82d84
chore(ci): integrate auditwheel into wheel build process (#230)
* chore(ci): integrate auditwheel into wheel build process

* remove copy .so

* use a pure ubuntu to test

* run tests

* chore(ci): add Golang setup and start metadata server in CI workflow

* ci: add matrix strategy for testing on multiple ubuntu versions

* build: enable debug mode and specify platform for auditwheel repair

* test: improve test_installation script with dependency check

* refactor(test_installation): simplify import verification steps

* chore(scripts): remove unused system packages from test script
2025-04-11 16:39:31 +08:00
JinYan Su b31b8b84b9
[Doc] Refactor dependencies.sh and for improved installation process (#195)
* Refactor dependencies.sh for improved installation process and error handling

* [CI] Add Python build dependencies to CI workflow

* fix ci

* use another port
2025-04-09 14:24:49 +08:00
JinYan Su 4c2b6655cf
feat(mooncakestore): add mooncake_master CLI entry point and tests (#218)
* feat(cli): add mooncake_master CLI entry point and tests

* test: add CLI entry point tests to run_tests script
2025-04-08 17:41:03 +08:00
JinYan Su ed2f4d410a
[Release] chore(scripts): set rpath for shared objects in build script (#216) 2025-04-08 15:51:41 +08:00
JinYan Su a73502d082
feat(ci): enhance build process with new import structure test (#214)
* feat(ci): enhance build process with new import structure test

* chore(ci): streamline build and test process with scripts

* fix ci
2025-04-08 14:42:07 +08:00