2011-08-02 11 views
4

MPIでは、起動後に新しいノードを追加できますか?たとえば、私は2台のコンピュータがすでにパラレルMPIアプリケーションを実行しています。私は第3のコンピュータでこのアプリケーションの別のインスタンスを開始し、それを既存のコミュニケータに追加します。すべてのコンピュータはローカルネットワークにあります。OpenMPIの動的ノード

答えて

2

現在、実行中のMPIアプリケーションに新しいノードを追加することはできません。 MPIは、プログラムの開始時にノードの総数を知るように設計されています。

ダウンしているノードを処理する際に作業が完了しています(たとえば、MPI-3)。障害のあるノードを追加することができれば、新しいノードを追加することができますが、それは私が考えることができる最も近いものです。 MPIフォールトトレランスのアプローチの詳細については、this answerを参照してください。

1

MPI2プログラムで新しいランクを生成することは可能です。この関数はMPI_Comm_spawnで、新しいMPIコミュニケータで子を起動します。つまり、新しいランクには以前に実行されたランクとは異なるMPI_COMM_WORLDがあります。しかし、現在のランニングランクをすべて含む新しいコミュニケータを作成することは可能です。

+0

これはすでに接続されているノードでは当てはまりますが、外部の新しいノードから新しいノードには当てはまりません。 – ivotron

関連する問題