我从未使用过 RDMA。尽管在单台 PC 上,我运行了使用 DMA 进行内存传输的命令。我可以通过以太网使用 RDMA(我正在使用支持 10BASE-T、100BASE-TX 的交换机)。
我将使用 MPI 从两台独立于 CPU 的机器访问数据。
那可能吗?还是我必须购买特殊的硬件?
我从未使用过 RDMA。尽管在单台 PC 上,我运行了使用 DMA 进行内存传输的命令。我可以通过以太网使用 RDMA(我正在使用支持 10BASE-T、100BASE-TX 的交换机)。
我将使用 MPI 从两台独立于 CPU 的机器访问数据。
那可能吗?还是我必须购买特殊的硬件?
我现在开始在 Windows 和 Linux 上支持 Isis2 中的 RDMA (Isis2.codeplex.com)。因此,对于那些不想使用 MPI 的人来说,这将是第二个选择。当然,我意识到您专门针对 MPI 提出了这个问题,我之所以提到它只是因为 MPI 有点不灵活(例如,不能容错)。
我的东西提供了广泛的多播和数据复制选项,并且是容错的。RDMA 只是众多配置选项之一。
以太网上的 RDMA 称为 RoCE,它需要网络接口卡 NIC、交换机和电缆。一家名为 Mellanox 的公司是此类解决方案的供应商之一。
Mellanox 还为 RDMA 高带宽、低延迟的网络结构提供了一种解决方案,称为 InfiniBand。
您可以在http://www.mellanox.com上找到信息
大多数 MPI 实现都支持 RDMA,包括 OpenMPI。我在 RoCE 上使用过 openmpi,性能比 TCP/IP 套接字要好得多。
这是 RDMA 技术的官方网站:https ://www.openfabrics.org