2010-11-16 45 views

回答

3

注意,由于MPI 1.x的日子已经存在一个特点是,你可以设置一个错误处理程序:例如,

http://www.mpi-forum.org/docs/mpi-11-html/node148.html

正如马克指出,我们大多数人只使用MPI_ERRORS_ARE_FATAL(这是默认情况下),因为我们的算法非常笨重,不能很容易地恢复(除了通过检查点,我们大多数人都是这样做的)。

但是,情况并非如此;您可以让MPI函数返回错误消息并尝试尽可能地恢复。

有几个容错MPI软件包 - http://icl.cs.utk.edu/ftmpi/(这是旧的,只实现MPI 1.2功能)。最近,http://osl.iu.edu/research/ft/cifts/是作为单独项目加入OpenMPI的一种方法,并且还有一个操作系统级别的检查点/重新启动程序包BLCR,可能会引起人们的兴趣。

的MPI-3论坛正在讨论在MPI标准的容错API,所以这些项目的步伐正在accellerating。

+0

+1:自从我几年前参加课程以来,我没有给MPI错误处理程序一个想法。 – 2010-11-16 17:33:27

+2

MPICH2最近的1.3.1版本比以前的版本更容错。当使用MPI_ERRORS_RETURN作为错误处理程序时,它容许单个进程失败,但集体操作可能以意外的方式失败或挂起程序。该版本还支持BLCR。以下是相关的变更日志:https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich2-1.3.1/CHANGES – 2010-11-18 20:20:20

1

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

相关问题