私の知る限り、MPI を使用すると、クラスター内のさまざまなノードがどのように通信するかをより詳細に制御できます。
MapReduce/Hadoop では、各ノードが何らかの計算を行い、他のノードとデータを交換してから、結果のパーティションを照合します。シンプルに見えますが、プロセスを反復できるため、K-means や PageRank などのアルゴリズムでさえモデルに非常によく適合します。スケジューリングの局所性を備えた分散ファイル システムでは、パフォーマンスは明らかに良好です。対照的に、MPI では、ノードが相互にメッセージを送信する方法を明示的に制御できます。
より一般的な MPI モデルが単純な MapReduce モデルよりも明らかに有利であるクラスター プログラミング シナリオを説明できる人はいますか?