Cluster computing 打开MPI/MPICH-如果节点终止会发生什么?

Cluster computing 打开MPI/MPICH-如果节点终止会发生什么?,cluster-computing,mpi,distributed-computing,openmpi,mpich,Cluster Computing,Mpi,Distributed Computing,Openmpi,Mpich,我想知道如果OpenMPI/MPICH2集群的节点终止会发生什么?是否有某种机制可以容忍这种情况并继续执行 谢谢你的回答 Heinrich不太可能,MPI不提供现成的容错功能。你可以编写程序来处理进程的失败,但我们大多数人都不这样做,当硬件死机时,我们的程序就会崩溃。随着拥有数十万处理器的超级计算机的出现,这种情况正在发生变化,平均故障间隔时间为秒。请注意,自MPI 1.x天以来就存在的一项功能是,您可以设置错误处理程序:例如 正如Mark所指出的,我们大多数人只是使用MPI_错误_是致命的(

我想知道如果OpenMPI/MPICH2集群的节点终止会发生什么?是否有某种机制可以容忍这种情况并继续执行

谢谢你的回答
Heinrich

不太可能,MPI不提供现成的容错功能。你可以编写程序来处理进程的失败,但我们大多数人都不这样做,当硬件死机时,我们的程序就会崩溃。随着拥有数十万处理器的超级计算机的出现,这种情况正在发生变化,平均故障间隔时间为秒。

请注意,自MPI 1.x天以来就存在的一项功能是,您可以设置错误处理程序:例如

正如Mark所指出的,我们大多数人只是使用MPI_错误_是致命的(这是默认的),因为我们的算法非常重于状态,并且不容易恢复(除了通过检查点,我们大多数人都会这样做)

但事实并非如此;您可以让MPI函数返回错误消息,并尽可能尝试恢复

现在有一些容错MPI包——(有点旧,只实现MPI 1.2功能)。最近,OpenMPI作为一个单独的项目投入了一种方法,还有一个操作系统级的检查点/重启包BLCR,可能会引起人们的兴趣


MPI-3论坛正在讨论MPI中的标准容错API,因此此类项目的速度正在加快。

+1:自从几年前开始学习MPI错误处理程序以来,我就没有考虑过MPI错误处理程序。MPICH2最近的1.3.1版本比以前的版本更具容错性。当MPI_ERRORS_RETURN用作错误处理程序时,它允许单个进程失败,但集体操作可能以意外方式失败或挂起程序。该版本还支持BLCR。以下是相关的变更日志: