我有两个问题 -
Q1 即可。除了检查点/回滚之外,是否有更有效的方法来处理MPI中的错误情况?我看到如果节点“死”,程序会突然停止。在节点死后,有没有办法继续执行? (如果以准确性为代价则没有问题)
Q2 即可。我在“http://stackoverflow.com/questions/144309/what-is-the-best-mpi-implementation”中读到,OpenMPI具有更好的容错能力,最近MPICH-2也提出了类似的功能。谁知道它们是什么以及如何使用它们?这是一种“模式”吗?他们可以帮助解决 Q1 中所述的情况吗?
请回复。谢谢。
答案 0 :(得分:9)
MPI forum目前正在研究将成为MPI-3的内容,错误处理和容错将成为新标准的重要组成部分(专门针对该主题的working group)。但是,在完成该工作之前,从MPI中获得更强的容错能力的唯一方法是使用早期的非标准扩展。 FT-MPI是一个开发了非常强大的MPI的项目,但不幸的是它基于MPI1.2;该标准的早期版本。声明here是他们现在正在使用OpenMPI,但我不知道这是什么。有MPICH-V,基于MPI2,但这比我认为你正在寻找的检查点重启更多。
已更新以添加:容错未进入MPI-3,但工作组继续其工作,并且期望在不久之后会产生某些问题。