MPICH/OpenMPI 中的容错
Posted
技术标签:
【中文标题】MPICH/OpenMPI 中的容错【英文标题】:fault tolerance in MPICH/OpenMPI 【发布时间】:2011-07-20 04:30:21 【问题描述】:我有两个问题-
第一季度。除了检查点/回滚之外,还有更有效的方法来处理 MPI 中的错误情况吗?我看到如果一个节点“死亡”,程序会突然停止。有没有办法在节点死亡后继续执行? (如果以准确性为代价,则没有问题)
第二季度。我在“http://***.com/questions/144309/what-is-the-best-mpi-implementation”中读到,OpenMPI 具有更好的容错性,最近 MPICH-2 也提出了类似的功能..有人知道它们是什么以及如何使用它们吗?是“模式”吗?他们可以在Q1中所述的情况下提供帮助吗?
请回复。谢谢。
【问题讨论】:
【参考方案1】:MPI - 所有实现 - 能够在出现错误后继续运行一段时间。默认是死 - 也就是说,默认错误处理程序是 MPI_ERRORS_ARE_FATAL - 但可以设置(例如,参见讨论 here)。但是该标准目前并没有超出这个范围。也就是说,在这样的错误之后很难恢复和继续。如果您的程序足够简单(某种主从类型的设置),则可以继续这种方式。
MPI forum 目前正在研究 MPI-3,错误处理和容错将成为新标准的重要组成部分(working group 专门讨论该主题)。然而,在这项工作完成之前,从 MPI 获得更强容错性的唯一方法是使用早期的非标准扩展。 FT-MPI 是一个开发了非常强大的 MPI 的项目,但不幸的是它基于 MPI1.2;该标准的一个非常早期的版本。 here 声称他们现在正在使用 OpenMPI,但我不知道结果如何。有基于 MPI2 的 MPICH-V,但这比我认为您正在寻找的更多基于检查点重启。
已更新以添加:容错功能并未纳入 MPI-3,但工作组仍在继续其工作,预计不久之后会产生一些结果。 p>
【讨论】:
以上是关于MPICH/OpenMPI 中的容错的主要内容,如果未能解决你的问题,请参考以下文章