2

RDMA Scatter/Gather是一种整合数据传输的好方法。例如,动词 API 允许使用 SINGLE RDMA 写入操作将多个位置的数据写入远程缓冲区;或者,可以使用 SINGLE RDMA 读取操作将远程缓冲区中的数据读取到多个位置。

但是,我无法启动写入远程端多个位置的 RDMA 操作(或从远程端多个位置读取)。此功能对我们很有吸引力,因为它有效地将宽 RDMA 通道用于多个小写入。我还检查了 Intel qsm API 和 Cray gni API。似乎没有人支持这样的功能——我们称之为“作家控制的远程散射”。不支持这是否有深层原因?

4

2 回答 2

2

我没有很好的解释为什么动词接口不支持它,因为它肯定可以在硬件中实现。

但是,至少有两种方法可以更有效地做到这一点: 1. 更简单的方法 - 您可以一次为多个远程位置发布 RDMA 请求列表,并仅为最后一个位置请求完成条目 - 这将提供比一一贴出来。2. 更高级:您可以在远程主机上创建一个“UMR”,将所有这些位置分组到一个连续的虚拟 MR 中,然后您可以通过单个 post 操作使用该远程虚拟 MR

于 2018-09-14T23:09:52.820 回答
1

RDMA 写入具有有限分散列表的原因是该列表必须通过线路传输并由远程端的 HCA 完成,而 HCA 可以拥有有限的资源来存储此信息。这与本地操作相反,例如发布接收描述符,其中描述符在机器上是本地的。

于 2019-01-11T20:53:37.340 回答