我正在寻找一个有效的单边通信库,可以用来高效地实现RDMA。
目前,我已经研究了MPICH2和MVAPICH2 (基于InfiniBand架构的使用RDMA的MPI-2实现)等MPI-2实现。
MVAPICH2有很多我正在寻找的功能,不幸的是,我不能使用它,因为我目前无法访问我的大学中的InfiniBand架构。
因此,我真正想要的是,是否有其他库(不是必要的MPI实现变体)可以被认为在减少通信进程之间的开销方面是有效的(例如:避免在会合协议中握手,从而减轻目标进程的开销)。
我也会感谢任何帮助我做一些不同的事情的建议,而不是找到一个成熟的合适的库。
谢谢。
发布于 2012-04-26 12:00:13
首先,RDMA和RMA不是一回事。RDMA需要某种专门的硬件(如InfiniBand)来直接访问应用程序缓冲区。例如,如果您通过TCP执行单边RMA操作,则仍然需要遍历操作系统内核,并在此过程中创建多个数据副本。
您可以使用单边MPI操作编写应用程序,使用运行在以太网上的MPI库对其进行测试,当时机成熟,您可以使用更快的硬件时,只需将MPI库替换为支持RDMA的库。
或者,查看一些较低级别的库,如ARMCI和GASNet。但是,如果没有专门的硬件,什么都不能做RDMA。
对于这些需求,您是否有特定的应用程序?
发布于 2012-04-26 20:32:37
为了补充G.Inozemtsev的答案,这里有更多的参考资料。
在几个项目中对千兆位以太网上的有效单边通信进行了研究。有几个GigE供应商为其提供硬件支持的iWARP (广域RMDA协议)。
D.K.Panda1.P.Balaji等人的小组有几篇关于iWARP的论文。支持常规网络适配器的iWARP兼容性和功能,2005年2. S.Naravulla等人。基于iWARP的高性能MPI : 2007年的早期体验
另一种选择是可以在UDP之上实现的Berkeley Active Messages。
据我所知,随着InfiniBand织物的广泛应用,这一研究方向并没有得到积极的发展。
https://stackoverflow.com/questions/10320127
复制相似问题