内存中 HDF5 文件的单边传输数据重分配及英特尔 SCC 的轻量级 MPI 实现
1. 内存中 HDF5 文件的单边传输数据重分配
在数据传输过程中,DMAPP 通信器与 MPI RMA 通信器的结合使用具有一定优势,特别是对于通常为小数据量传输的元数据操作。然而,在 Infiniband 集群中,如果仅将单个数据集写入文件,使用块循环方法时并没有性能提升。
传输方式 | 单个数据集写入表现 | 全 DSM 大小数据集传输 |
---|---|---|
块循环方法 | 无性能提升 | 传输速率较慢,拆分数据写入多个小块不能提升性能 |
在多数据集基准测试中,为了模拟常见的模拟代码行为,创建了一个包含 10 个数据集的文件。结果表明,使用块重分配写入比线性映射更高效。线性映射中,每个数据集在 HDF5 内存空间中是连续的,并行但按时间顺序写入 10 个数据集时,每个数据集仅激活十分之一的链路;而通过在所有进程间重分配每个小数据集的块,可以利用所有链路进行传输。对于块循环重分配,只要每个数据集大小至少为 s × P,数据就能得到良好分布。
从图 5 可以看出,随着发送进程数量的增加,传输速率显著下降。随机分布的下降幅度小于循环分布,这是因为每个监听节点使用了 4 个进程,循环重分配会连续 4 次命中同一条链路,而随机分布通常不会出现这种情况。随机模式的下降更平缓,整体下降是由于单个传输次数增加,延