我正在寻找一种高效的单方面通信库,可用于高效地实现 RDMA。
目前,我研究了 MPI-2 实现,例如 MPICH2 和 MVAPICH2(使用 RDMA 的基于 InfiniBand 架构的 MPI-2 实现)。
MVAPICH2 有很多我正在寻找的功能,不幸的是,我无法使用它,因为我目前在我的大学无法访问 InfiniBand 架构。
所以我真正想要的是,是否有任何其他库(不是必需的 MPI 实现变体)可以被认为是有效的,可以减少通信进程之间的开销(例如:避免集合协议中的握手,从而减轻目标进程的开销)。
我也很感激任何可以帮助我做一些不同的事情而不是寻找一个合适的库的建议。
谢谢。
首先,RDMA 和 RMA 不是一回事。RDMA需要某种专用硬件(例如 InfiniBand)才能直接访问应用程序缓冲区。例如,如果您通过 TCP 执行单向 RMA 操作,您仍然会遍历操作系统内核并在此过程中制作多个数据副本。
您可以使用单侧 MPI 操作编写应用程序,使用在以太网上运行的 MPI 库对其进行测试,当时机到来并且您可以访问更快的硬件时,只需将 MPI 库替换为支持 RDMA 的东西即可。
或者,查看一些较低级别的库,例如 ARMCI 和 GASNet。但如果没有专门的硬件,RDMA 就无法实现。
您是否有针对这些要求的特定应用?
| 归档时间: |
|
| 查看次数: |
652 次 |
| 最近记录: |