我有两个问题-
Q1.除了检查点/回滚之外,是否有更有效的方法来处理MPI中的错误情况?我看到,如果一个节点“死了”,程序就会突然停止。节点死后有什么办法继续执行吗??(如果是以准确性为代价,则不存在任何问题)
Q2.我在"http://stackoverflow.com/questions/144309/what-is-the-best-mpi-implementation",OpenMPI具有更好的容错能力“中读到过,最近MPICH-2也提出了类似的特性.有人知道它们是什么以及如何使用吗?它是一种”模式“吗?它们能在Q1中描述的情况下帮助吗?
请回答。谢谢。
发布于 2011-03-22 12:06:31
MPI --所有的实现--都有能力在错误发生一段时间后继续执行。默认的是死--也就是说,默认的错误处理程序是MPI_ERRORS_ARE_FATAL --但是可以设置它(例如,请参见讨论这里)。但是标准目前并没有超出这个标准;也就是说,在这样一个错误之后很难恢复和继续。如果您的程序足够简单-某种类型的主-工作者类型的设置-它可能会继续这种方式。
MPI论坛目前正在研究将成为MPI-3的内容,而错误处理和容错将是新标准的一个重要组成部分(专门针对该主题的工作组 )。然而,在这项工作完成之前,从MPI获得更强的容错性的唯一方法是使用早期的、非标准的扩展。FT-MPI是一个开发了一个非常健壮的MPI的项目,但它是基于MPI1.2的,这是一个非常早期的标准版本。这里的说法是,他们现在正在与OpenMPI合作,但我不知道结果如何。有基于MPICH的MPI2,但这更多的是基于检查点重新启动,而不是我认为您正在寻找的。
更新为添加:容错并没有进入MPI-3中,但是工作组继续其工作,并期望不久之后就会有结果。
https://stackoverflow.com/questions/5386630
复制相似问题