我和一位同事讨论过在Windows中使用Network Direct来提供RDMA的问题,以及使用动词api和rdmacm进行工作实现的Linux。
在他无法让动词开始工作之后,所说的同事开发了他的Network Direct实现。我在Linux下做了rdmacm实现。我们都让他们谈论linux => linux和windows => windows但是从来没有开始测试Linux => windows或windows => linux。在开发过程中有一些可能有效的暗示,他们似乎开始谈论,但当然事情还在发展中。
该项目被搁置数月,其内置的框架已经进行了重大的重新设计。我已经把从Windows端工作的东西拉到了新的框架中,我很难让它工作或看到它的任何部分从Linux连接。
我的理解是,在较低层他们都会说动词。但我现在不太确定同事会说“记住这不是动词”,只是为了增加混乱。
所以问题是。使用rdmacm的应用程序是否能够与使用Windows NetworkDirect接口的应用程序建立连接,还是两者完全不同且不兼容?
答案 0 :(得分:1)
根据Mellanox的支持,Network Direct应该与InfiniBand动词兼容。我们很幸运使用rdmacm Linux-Linux和Windows-Linux进行RDMA传输。我们使用了开放式结构联盟中提供的Windows库(查找ofed_sdk)。要弄清楚Windows部分要获取哪些库并不容易。
但是,微软不希望人们再在MS-Windows上使用ibverbs方法。如果您在Windows上使用ND与Linux通信时遇到问题,您确定在将数据传输到网络之前将它们按网络顺序排列吗?