1

追加のノード(ホスト)を動作中のOpenMPIアプリにホットプラグすることは可能ですか?5秒のダウンタイムすら許されない本番環境について話しています。私が興味を持っている2つのシナリオがあります:

  1. ブロードキャストリスナーをもう1つ追加して、計算能力を強化したいと思います。
  2. ノードが停止し、マスターノードがそれを適切に処理し、タスクを他の誰かに再割り当てします。システム管理者が入り、デッドノードを再起動してクラスターに接続し直します。

上記のシナリオに最適なプラットフォームに依存しないMPI実装はどれですか?ここではOpenMPIは必須ではありません。

4

1 に答える 1

2

MPI-2(任意の実装)は動的プロセスを許可します。実際、プロセスの追加は、現在、プロセスの削除よりもはるかに実行可能です。MPI_COMM_SPAWNを使用して、特定の実行可能ファイルで新しいプロセスを起動できます。これにより、古い(元の)プロセス間の通信に使用できるイントラコミュニケーターが返されます。

ここでの秘訣は、新しいノードを自動的に検出するものは何もないということです。あなたは彼らに目を光らせているいくつかのプロセスを持っている必要があります、彼らにSPAWN何か。新しいノードがマスターノードのリスナーになるだけの場合は、マスターノードだけが実際にそれを知る必要があるため、これがおそらく最良のケースです。スポーンが新しいノードで発生し、他の場所では発生しないようにするための呼び出しは、スポーンのinfo引数を介して行われ、実装に依存する場合があります。

于 2011-05-27T02:17:52.077 に答える