小编Jan*_*Mol的帖子

InfiniBand:传输速率取决于MPI_Test*频率

我正在写一个多线程的openmpi应用程序,使用MPI_Isend和MPI_Irecv从多个线程在InfiniBand RDMA队伍之间交换每秒数百个消息.

传输大约为400-800KByte,每个等级产生大约9Gbps的输入和输出,完全在FDR的容量范围内.简单的MPI基准测试也表现出良好的性能.

通过在专用线程中使用MPI_Testsome轮询所有活动传输来检查传输的完成.

我实现的传输速率取决于消息速率,但更重要的是取决于MPI_Testsome的轮询频率.也就是说,如果我每隔10毫秒轮询一次,请求的结束时间比我每1毫秒轮询一次.

我希望如果我轮换10ms而不是每1ms,我最多会在9ms之后被告知已完成的请求.我不希望传输本身通过减少对MPI_Testsome的调用来延迟完成,从而减慢总传输速率.我希望MPI_Testsome完全被动.

这里的任何人都知道为什么会出现这种情况?

multithreading mpi openmpi rdma infiniband

9
推荐指数
1
解决办法
387
查看次数

标签 统计

infiniband ×1

mpi ×1

multithreading ×1

openmpi ×1

rdma ×1