命令速查表
ib_
→ Benchmark:性能测试工具
ibv_
→ Verbs:编程与设备信息
ib
→ Fabric:网络拓扑与诊断
opensm
→ 管理器:子网控制核心
网络拓扑与状态诊断(ib
前缀)
命令 |
功能说明 |
推荐场景 |
ibstat |
查看本地 HCA 的端口状态和速率 |
快速确认端口是否 LinkUp |
iblinkinfo |
显示整个网络的链路连接拓扑 |
检查交换机与节点连接情况 |
ibnetdiscover |
构建子网拓扑图(基于 SM) |
网络可视化、拓扑分析 |
ibdiagnet |
深度诊断 InfiniBand 网络问题 |
性能瓶颈、错误帧分析 |
ibsysstat |
查看系统级 InfiniBand 状态 |
多节点状态汇总 |
RDMA 编程与设备信息(ibv_
前缀)
命令 |
功能说明 |
推荐场景 |
ibv_devinfo |
查看本地 RDMA 网卡设备信息 |
网卡识别、端口状态确认 |
ibv_devices |
列出所有支持 RDMA 的设备 |
多网卡环境初始化 |
ibv_rc_pingpong |
使用 RC QP 测试点对点通信 |
RDMA 编程验证 |
ibv_srq_pingpong |
使用共享接收队列测试通信 |
SRQ 场景验证 |
ibv_ud_pingpong |
使用 UD QP 测试通信 |
多播或无连接场景测试 |
性能测试与基准评估(ib_
前缀)
命令 |
功能说明 |
推荐场景 |
ib_send_bw |
测试 RDMA 发送带宽 |
点对点性能评估 |
ib_read_bw |
测试 RDMA 读带宽 |
存储访问场景评估 |
ib_write_bw |
测试 RDMA 写带宽 |
写密集型应用测试 |
ib_send_lat |
测试发送延迟 |
延迟敏感应用调优 |
ib_read_lat |
测试读延迟 |
存储延迟分析 |
ib_write_lat |
测试写延迟 |
写延迟分析 |
ib_pingpong |
简单点对点通信测试(旧版) |
快速连通性验证 |
管理与配置辅助工具
命令 |
功能说明 |
推荐场景 |
opensm |
启动子网管理器(SM) |
小规模集群或测试环境 |
perfquery |
查询端口性能计数器 |
错误帧、丢包分析 |
saquery |
查询子网代理信息 |
LID/GID 映射验证 |
sminfo |
查看 SM 状态信息 |
SM 健康检查 |
物理硬件
- HCA 可能有多个物理端口 (port):每个 port 有一个 LID 。
- 每个 port 可能有多个通道 (lane) :用
1x
, 2x
, 4x
, 8x
等表示。
- 总速率:
总速率 = 每个 port 的 lane 数 × 每个 lane 的速率 × port 数量
。
- port 和 lane 是有物理硬件决定的。
部署
通道是物理层的能力
- 每个 InfiniBand 或 PCIe 接口由若干个 lane 组成,每个 lane 是一对差分信号线(发送 + 接收)。
- 比如:
- x1 表示 1 个 lane → 最低带宽
- x4 表示 4 个 lane → 常见于 EDR(100G)
- x8 表示 8 个 lane → HDR/NDR(200G/400G)
- x12 是更高端的聚合方式 → 超大带宽(如 600G)
“部署”决定你能否用满这些通道
- 如果你部署的是 x4 的 HCA + x4 的交换机 + x4 的线缆,你就能跑满 4 个 lane。
- 如果你部署的是 x8 的 HCA,但只用了 x4 的线缆,你只能跑 4 个 lane,剩下的通道闲置。
- 如果你部署的是 x12 的交换机,但 HCA 只有 x4,你也只能用其中一部分。
举个例子:HDR 200G 的部署选择
部署方式 |
通道数 |
实际带宽 |
HCA: x4 + Cable: x4 + Switch: x4 |
4 |
200 Gbps |
HCA: x8 + Cable: x4 + Switch: x4 |
4 |
200 Gbps(x8 闲置一半) |
HCA: x8 + Cable: x8 + Switch: x8 |
8 |
400 Gbps |
只有在部署中三者都匹配时,才能真正跑满所有通道。
程序员关注的层面
层级 |
程序员是否需要控制 |
Lane(物理通道) |
❌ 不需要 |
Port(物理接口) |
✅ 可选(如多 port HCA) |
QP(逻辑通信通道) |
✅ 必须管理 |
Memory Region(MR) |
✅ 必须注册 |
Completion Queue(CQ) |
✅ 必须轮询或处理 |
带宽测试
理论带宽
1
| lspci | grep -i infiniband
|
然后通过阅读产品说明书,确定理论带宽。
协商带宽
实际部署的速率,可能与 HCA 、线缆、交换机都相关,所以实际会有一个协商速率。
实际带宽测试
发送速率:
1 2 3 4 5
| ib_send_bw -d mlx5_0 -a
ib_send_bw -d mlx5_0 -a <server_ip>
|