【发布时间】:2019-05-02 13:24:50
【问题描述】:
我想计算 RDMA 的数据传输率。使用带宽被宣布为 200Gbps 的 ConnectX-5。我使用 RDMA 读取操作编写数据传输代码。我在 ibv_post_send() 之前设置了开始时间戳,并在我得到操作码为 IBV_WC_RDMA_READ 的 cq 之后设置了结束时间戳。计算速率,我得到的传输速率约为 268.4 Tbps,超过了限制。我发现获得 CQ 元素并不意味着数据实际映射到本地。所以使用 memcpy 复制数据一次,计算时间 t1=end-begin;然后我使用 memcpy 复制相同大小的数据并仅计算复制时间 t2。速率=data_size/(t1-t2)。尽管如此,我还是得到了 185.6Gps,也超过了极限。问题: 1.我设置时间戳的方式对吗?如果没有,如何正确设置时间戳或如何设计实验来计算传输率。 2. Mellanox宣称的100Gps传输速率是什么意思?是数据包传输速率还是读/写/发送/接收操作?
【问题讨论】:
-
我使用 ib_read_bw 无法达到 22.12Gps
-
1.注意 Gbs 是Gigabit per second - 不要与 Gigabyte 混淆 - 用于测量操作系统中的 RAM 和文件大小。 2. Here's a simple RDMA 读/写基准我写的。也许会有帮助。如果您有任何问题,请告诉我。
-
To calculate bandwidth 需要将传输的字节数转换为千兆位并除以秒数。
标签: rdma