私はさまざまな並列プログラミング モデルを調べていますが、MPI に出くわしました。よくわからないことがいくつかあります。私が理解していることから:
- MPI の主な機能は、クラスター内で並行して実行されている関連プロセス間の通信を可能にすることです。これは正しいです?
- プログラムはマスター ノードで実行され、マスター ノードは特定のタスクをワーカー ノードに伝達し、結果を受け取ります。コードのコピーを各ワーカー ノードに置く必要はありません。
また、私が見つけたいくつかの更新された MPI フレームワークは、限られた言語セットしかサポートしていないようです。Java でこれを試してみようと考えていましたが、見つけたすべての Java MPI ライブラリは古いか、C や Fortran のライブラリほど成熟していないように見えました。何故ですか?メッセージパッシングは、並列プログラムや分散プログラムを作成する人にとっては非常に便利な機能だと思いますが、MPI がそのニッチ以外で人気がないのはなぜでしょうか?