MPI,NFS文件编写

时间:2013-06-04 04:00:28

标签: mpi file-permissions nfs

我遇到一个运行在一组Linux节点上的MPI程序的问题。该组目前使用NFS进行设置,并在所有节点上安装/ home / mpi。问题是该程序要求所有节点以写模式在文件系统中打开文件(在/ home / mpi / file上使用fopen),并在进行计算时写入。一个节点将能够打开它,而其他节点将不会并且将抛出错误。相反,我希望每个节点都有自己的文件写入。

我想知道是否有办法解决这个问题。我正在考虑为每个节点创建一个单独的文件,节点等级附加到文件名,但是想知道是否有更简单的方法可以解决这个问题。有没有办法设置组,以便所有工作节点都有自己的/ home / mpi目录副本,该目录可以通过主节点对其副本进行的任何更改自动更新?

感谢。

1 个答案:

答案 0 :(得分:0)

据我所知,标准的处理方式是每个节点打开一个文件,按照你所描述的等级编制索引。根据这些文件的用途(例如日志记录),您必须编写一个脚本,以便在计算结束时重新组合它们。

如果您确实需要所有进程写入文件系统上的同一文件,则必须以某种方式协调所有想要写入文件的进程的并发输出。

据我所知,在文件系统级别无法执行此操作,但您可以在MPI代码中执行此操作。标准的历史实现是让所有MPI进程将消息发送到排名0,负责将其有效地写入文件系统。

另一种选择是查看MPI2中引入的IO功能,它允许所有进程在同一文件的不同部分上工作。