我有一个可以并行化的应用程序,但其性能在很大程度上受到I / O的限制。该应用程序读取存储在文件中的单个输入数组,该文件的大小通常为2-5 GB(但我希望这个数字将来会增长)。典型的计算将相同的操作应用于该数组的每一行或每一列。对于CPU繁重的操作,我可以很好地扩展到大约100个处理器,但是对于较慢的操作,I / O和相关的通信(NFS访问)占主导地位,并且我不能有效地使用几个以上的处理器。
在这种情况下,什么是有效且可移植的(理想情况下是高效的)选项?并行HDF5似乎很有希望。有没有人有现实生活中的经验?
MPI-I / O是否值得研究?它可以在给定的文件布局下有效地工作,还是必须调整所有内容?