mirror of
https://github.com/kvcache-ai/Mooncake.git
synced 2026-11-05 01:17:55 +00:00
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#79
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 @deepindeed2022 on GitHub (Mar 24, 2025).
Original GitHub issue: https://github.com/kvcache-ai/Mooncake/issues/166
首先感谢你们优秀的开源工作。
我尝试在一台节点上测试transfer_engine的性能情况。麻烦帮忙提供一些进一步排查的思路。
测试目标与当前状态
期望能达到 ~40G/s
当前单线程实际只到 17G/s,尝试多线程出现问题 Failed to select remote NIC for address 0xb7869c1cb5cae9f3 on segment
#1相关复现步骤如下:
go run . --addr=:8080./transfer_engine_bench --mode=target --metadata_server=http://127.0.0.1:8080/metadata --local_server_name=127.0.0.1:12345 --nic_priority_matrix top.json --threads 1另外一个 terminal 中启动
./transfer_engine_bench --metadata_server=http://127.0.0.1:8080/metadata --segment_id=127.0.0.1:12345 --local_server_name=127.0.0.1:12346 --batch_size 128 --block_size 8388608 --nic_priority_matrix top.json --gpu_id 1 --threads 1其中 nic_priority_matrix 配置如下:
查看priority_matrix如下:
curl 127.0.0.1:8080/metadata?key=mooncake/ram/127.0.0.1:12345当前性能:
Test completed: duration 0.07, batch count 1, throughput 16.32 GB/s
期望的性能 40 GB/s 左右
ib_send_bw -d mlx5_0
ib_send_bw -d mlx5_0 127.0.0.1
硬件基本情况
1.ibdev2netdev
进一步提升 threads 发现报错,报错信息如下
threads参数值为2,命令行如下:
./transfer_engine_bench --mode=target --metadata_server=http://127.0.0.1:8080/metadata --local_server_name=127.0.0.1:12345 --nic_priority_matrix top.json --threads 2./transfer_engine_bench --metadata_server=http://127.0.0.1:8080/metadata --segment_id=127.0.0.1:12345 --local_server_name=127.0.0.1:12346 --batch_size 128 --block_size 8388608 --nic_priority_matrix top.json --gpu_id 1 --threads 2报错信息:
@alogfans commented on GitHub (Mar 25, 2025):
建议排查思路:
@deepindeed2022 commented on GitHub (Mar 26, 2025):
测试启动1
输出信息
测试启动2
输出错误信息如下:
@alogfans commented on GitHub (Mar 26, 2025):
在测试案例1中,只有 mlx5_0 设备被使用,本地和远端的 mlx5_0 是通的;
在测试案例2中,启用了 mlx5_0 和 mlx5_1。目前的 Transfer Engine 假设本地和远端任意选择一个网卡之间是通的,而您的网络可能不是如此。(比方说,本地 mlx5_0 和远端 mlx5_1 不通,可使用 ib_send_bw 等工具验证一下。)
@donghua100 commented on GitHub (Mar 31, 2025):
测试都在一台机器上完成,使用
ib_send_bw进行测试,服务端使用ib_send_bw -d mlx5_1 -x 1 -D 10 -F,客户端使用ib_send_bw -d mlx5_0 -x 1 -D 10 -F 192.168.1.2,发现无法正常通信:这对Transfer Engine 的性能测试有影响吗?使用
ib_send_bw只通过mlx5_0进行测试,约40GB/s。使用transfer engine 进行测试,有22GB/s,相差几乎一半,这是为什么呢
服务端:
客户端:
服务端,客户端使用
device_name mlx5_0,mlx5_1就不能正常通信了:服务端:
客户端:
如果两张网卡无法正常通信,只使用一张卡,transfer engine 能到ib_send_bw最大带宽的多少?
@alogfans commented on GitHub (Apr 10, 2025):
@donghua100
@github-actions[bot] commented on GitHub (Jul 21, 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 (Jul 28, 2026):
Closing due to 3 months of inactivity. If this is still relevant, please comment and we can reopen.