You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[feat] Introduce Zero-Copy to use YuanrongStorageClient for transmitting CPU Tensors
Co-authored-by: liwenlin<liwenlin8@huawei.com>
# message auto-generated for no-merge-commit merge:
!10 merge ds_zero_copy into main
[feat] Introduce Zero-Copy to use YuanrongStorageClient for transmitting CPU Tensors
Created-by: Lexie-7
Commit-by: liwenlin
Merged-by: ascend-robot
Description: ### Summary
When connecting to the backend of the YuanrongStorageClient, zero-copy is activated to enhance the transmission speed.
### Change
1. Modified the `transfer_queue/storage/clients/yuanrong_client.py` to call the zero-copy interface, and performed operations such as serialization and pack.
2. Add mget and mset UT: `tests/test_yuanrong_storage_client.py` .
### Testing
- Test on CPU:
`pytest tests/test_yuanrong_storage_client.py `
### Result
When transmitting 512 pieces of data, each 32 MB in size, with a total data volume of 16GB:
End-to-end **Get** took **10s** and the bandwidth was **1.6 GB/s**. The time spent calling the **YuanrongStorageClient** interface was **2.27s** with a bandwidth of **7.05 GB/s**.
End-to-end **Put** took **3.42s** and the bandwidth was **4.68 GB/s**. The time spent calling the **YuanrongStorageClient** interface was **3.32s** with a bandwidth of **4.83 GB/s**.
### Related Links
- Previous issues can be viewed: [[Feat]: Try zero-copy serialize objects that can be converted to memoryview](TransferQueue/TransferQueue#147)
- Yuanrong Datasystem PR: [https://atomgit.com/openeuler/yuanrong-datasystem/pull/141](https://atomgit.com/openeuler/yuanrong-datasystem/pull/141)
See merge request: Ascend/TransferQueue!10
0 commit comments