如何调试 MPI 时序问题

如何调试 MPI 时序问题

在跑步的时候格罗马克通过在不同设置(节点内与 Infiniband 连接的 2、3 和 4 个节点)中进行基准测试,我们发现性能严重下降。为了进行研究,我们创建了一个测试程序,用于MPI_Alltoall()在所有节点之间传输各种大小(4 字节到 2 MB)的数据包。测试程序的内部计时和从 IntelMPII_MPI_STATS设施收集的统计数据都显示出相同的模式:对于少量数据,产生的带宽是可以接受的,而对于较大的有效负载,行为变得不稳定:一些传输需要非常长的时间(大约 2.15秒),因此平均性能崩溃。这些非常长的延迟似乎是随机发生的,因此它们可能不存在或样本量较小(例如每个有效负载大小 100 次传输)。以下是使用 4 个节点、每个大小 1000 次传输获取的一些示例数据:

#           Message size    Call count  Min time    Avr time    Max time    Total time

Alltoall
1           2097152         1000        5649.09     13420.98    2152225.97  13420980.69
2           1048576         1000        2874.85     13000.87    2151684.05  13000867.13
3           524288          1000        1404.05     8484.15     2149509.91  8484153.99
4           262144          1000        719.07      5308.87     2148617.98  5308866.74
5           131072          1000        364.78      9223.77     2148303.99  9223767.04
6           65536           1000        206.95      5124.41     2147943.97  5124409.44
7           32768           1000        120.88      12562.09    2147678.85  12562089.68
8           16384           1000        36.00       57.03       93.94       57034.25
9           8192            1000        22.89       34.80       103.00      34803.87

我们通过非托管交换机使用 QDR Infiniband 和 IntelMPI 4.0.3。我尝试通过使用 ib_send_bw 设置环形传输(node1 -> node2 -> node3 -> node4 -> node1)来检查 MPI,但没有观察到任何有问题的行为:

#bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]
16384      10000           1202.93            1202.91
32768      10000           1408.94            1367.46
65536      10000           1196.71            1195.85
131072     10000           1195.68            1180.71
262144     10000           1197.27            1167.45
524288     10000           1162.94            1154.15
1048576    10000           1184.48            1151.31
2097152    10000           1163.39            1143.60
4194304    10000           1157.77            1141.84
8388608    10000           1141.23            1138.36

我的问题:有没有办法更深入地研究这个问题,找出问题的根本原因是什么?我已经浏览过 IntelMPI 参考手册,但除了I_MPI_STATS.

相关内容