![测试网络传输速度和硬件限制](https://linux22.com/image/189315/%E6%B5%8B%E8%AF%95%E7%BD%91%E7%BB%9C%E4%BC%A0%E8%BE%93%E9%80%9F%E5%BA%A6%E5%92%8C%E7%A1%AC%E4%BB%B6%E9%99%90%E5%88%B6.png)
这在某种程度上是一个计算机工程和网络工程问题,但它是基于Linux的,因为不带主要通过Linux操作系统使用。我有兴趣了解在我的硬件上使用 Linux 操作系统时会发生的速度限制。
无限宽带(mellanox) 已经发布了许多数据速率:QDR、FRD、EDR、HDR。
目前 HDR 的速率为 100 Gbps 或 200 Gbps(参见截至 2021 年的 Mellanox 广告)。
在viaiperf
下使用rhel 7.9
IPoIBiperf 报告的最大传输速度为 24.0 Gbps(我相信是通过 TCP)。在 100 Gbps 网络上该速度为 24%,而在 1gbps 网络上报告的速度为 942 mbps,该速度为 94%。
我的问题是:随着 infinband 从 HDR 发展到未来的 NDR 和 XDR,无论这些 gbps 是什么,有人可以报告或计算阻塞点可能在哪里吗?例如,我做了 SSHscp
测试和 ssh 密码选择,导致 1.600 hbps 到最大 5.6 gbps(200 MB/s 或 700 MB/s)传输速度,我认为这是 cpu 处理和处理能力的限制执行所选的加密方案。
与 100gbps inifiband 网络速度相关的 CPU/DDR4 RAM/芯片组/PCIe 通道限制的数字是多少?
当前采用 LGA1200 或 LGA3647 以及 PCIe 3.0 的 Intel 或 AMD [芯片组?] 将位连接到 Mellanox infiniband 卡的速度有多快?
我如何在 linux [RHEL 7.9] 中测试这类事情,iperf 是最好的方式?
答案1
InfiniBand(至少是 Mellanox 硬件)使用 CPU 卸载,可以在没有大量 CPU 负载的情况下实现非常高的吞吐量。可以使用 InfiniBand 动词性能测试来很好地测试原始速度完美测试包,例如ib_write_bw
。测量的数据速率通常 > 指定连接速率的 95%。
iperf 工具默认使用单个 TCP 连接,这是这里的主要瓶颈。 TCP 连接是 CPU 密集型的,单个 TCP 连接无法使快速的 InfiniBand 连接饱和。并行使用多个 TCP 连接(-P
选项iperf
),可以更接近多核计算机上的 InfiniBand 网络数据速率。但一般来说,由于 TCP 连接的开销很大,因此不太适合快速网络。