我正在使用Infiniband(ibv_ *)设计一个涉及多节点通信的应用程序。保持节点之间连接的标准方法是什么?我认为所有节点对的O(N ^ 2)连接是最简单的连接,但它有点愚蠢而且不可扩展。
答案 0 :(得分:2)
问题有点简单,但真正的答案很长......
首先,请确保您确实需要使用ibv _... stuff。
您使用的是Infiniband还是ROCE?
接下来,分析您的应用程序的预期通信模式。
您谈论的是可扩展性,这可能意味着您需要大规模并行应用程序。 你真的需要发明自己的通信层吗? 你不能使用现有的解决方案吗? 有一个完整的CS领域可以解决这类问题 - HPC(高性能计算)。 也许MPI / UPC /其他一些图书馆会解决您的问题?
如果你仍然需要用很多机器编写自己的ibv _...应用程序,那么你需要考虑:
总结: