双端口 RDMA 吞吐量问题

双端口 RDMA 吞吐量问题

我有两个节点通过 IB 交换机与双端口 Mellanox Connext-X3 VPI HCA 连接。节点是两个插槽机器,每个插槽配备 Hasswell CPU 和 2 个 16GB DIMM(共计 64GB)。一切似乎都运行正常,除了性能数字似乎不太对劲。

当我运行ib_read_bw基准测试时:

server# ib_read_bw --report_gbits
client# ib_read_bw server --report_gbits

---------------------------------------------------------------------------------------
 #bytes     #iterations    BW peak[Gb/sec]    BW average[Gb/sec]   MsgRate[Mpps]
 65536      1000             37.76              37.76          0.072016
---------------------------------------------------------------------------------------

但是当我运行双端口时:

server# ib_read_bw --report_gbits -O
client# ib_read_bw server --report_gbits -O
---------------------------------------------------------------------------------------
 #bytes     #iterations    BW peak[Gb/sec]    BW average[Gb/sec]   MsgRate[Mpps]
 65536      2000             52.47              52.47          0.100073
---------------------------------------------------------------------------------------

我只获得了不到 40% 的改善(我期望单端口带宽增加约 2 倍,这错了吗)?

我不知道这里的瓶颈是什么以及如何找到它。

其他可能有用的配置:

  • 每个插槽有 8 个核心,每台机器总共有 32 个 HT
  • 每个 DIMM 提供 ~14GB/s 带宽(每个插槽内存带宽:~28 GB/s,总体 ~56 GB/s)
  • 我使用 Mellanox 的 Auto Tuning Utility 工具来调整中断。
  • IB 链路为 4X 10.0 Gbps (FDR10) - 每个 40 Gb/s
  • 我正在使用 Mellanox OFED 4.3。

答案1

我认为这里的瓶颈是 ConnectX 和主机之间的 PCIe 链路。ConnectX-3 有一个Gen.3 x8 PCIe 连接,理论最大值为 63.04 Gbps(根据这个答案),这还不包括管理费用(见这里)。

答案2

我有 (2) 个系统,每个系统都配有 Mellanox FDR MCX354A-FCBT CX354A (ConnectX-3 VPI)。只有 (2) 个系统使用 InfiniBand,我没有交换机,只是直接将它们连接起来。我运行的是双 Xeon(Sandy Bridge)。

我有一条 40Gb/秒的电缆,它阻止了 FDR 连接,并且得到:

#bytes     #iterations    BW peak[Gb/sec]    BW average[Gb/sec]   MsgRate[Mpps]
65536      1000             31.11              31.11              0.059329

我买了一条 FDR(56Gb/秒)电缆,并开始获得:

#bytes     #iterations    BW peak[Gb/sec]    BW average[Gb/sec]   MsgRate[Mpps]
65536      1000             49.58              49.58              0.094569

我一直想知道如果我使用这两个端口会怎么样,所以尝试了一下,得到了:

#bytes     #iterations    BW peak[Gb/sec]    BW average[Gb/sec]   MsgRate[Mpps]
65536      2000             52.28              52.28              0.099717

算了。我可能不会再为这个目标而烦恼了。

我绝对认为 haggai_e 是对的,因为我的卡也是 PCI Express 3.0 x8。我认为为了更快地查看,我们需要 3.0 x16 或 4.0 卡。

双端口的另一个优点是它们可以直接连接到不同的网络或机器,并且如果它们不是持续传输,则每个端口都可以获得全速。

相关内容