11

2 つの質問があります。

Q1 . チェックポイント/ロールバック以外に、MPI でエラー状況を処理するより効率的な方法はありますか? ノードが「死んだ」場合、プログラムが突然停止することがわかりました..ノードが死んだ後に実行を進める方法はありますか?? (精度を犠牲にしても問題ありません)

Q2 . 「http://stackoverflow.com/questions/144309/what-is-the-best-mpi-implementation」で、OpenMPI の方がフォールト トレランスが優れており、最近では MPICH-2 にも同様の機能が追加されていることを読みました。それらが何であり、どのように使用するか知っている人はいますか? 「モード」ですか?Q1に記載されている状況で、彼らは助けることができますか?

返信よろしくお願いします。ありがとうございました。

4

1 に答える 1

11

MPI (すべての実装) は、エラーが発生した後もしばらくの間続行することができました。デフォルトは死ぬことです - つまり、デフォルトのエラーハンドラは MPI_ERRORS_ARE_FATAL ですが、設定することもできます (たとえば、ここでの議論を参照してください)。しかし、現在の標準はそれをはるかに超えるものではありません。つまり、このようなエラーの後に回復して続行するのは困難です。あなたのプログラムが十分に単純である場合 (ある種のマスターワーカー型のセットアップ)、この方法を続けることができるかもしれません。

MPI フォーラムは現在、MPI-3 になるものに取り組んでおり、エラー処理とフォールト トレランスは新しい標準の重要な要素になります (このトピック専用のワーキング グループがあります)。ただし、その作業が完了するまでは、MPI からより強力なフォールト トレランスを得る唯一の方法は、以前の非標準の拡張機能を使用することです。 FT-MPIは非常に堅牢な MPI を開発したプロジェクトでしたが、残念ながら MPI1.2 に基づいています。標準の非常に初期のバージョン。ここでの主張は、彼らが現在 OpenMPI を使用しているということですが、それがどうなったのかはわかりません。MPI2 に基づくMPICH-Vがありますが、それはあなたが探しているものよりもチェックポイント再起動に基づいています。

追加の更新: フォールト トレランスは MPI-3 に組み込まれませんでしたが、ワーキング グループは引き続き作業を行っており、間もなく何らかの結果が得られると期待されています。

于 2011-03-22T12:06:31.790 に答える