2010-11-16 66 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不能提供出的現成的容錯能力。你可以編寫你的程序來處理程序的失敗,但是我們大多數人不會,當硬件死亡時,我們的程序會崩潰。隨着擁有數十萬臺處理器的超級計算機的出現以及秒之間的平均無故障時間,這種情況正在發生變化。

相關問題