30

私の知る限り、MPI を使用すると、クラスター内のさまざまなノードがどのように通信するかをより詳細に制御できます。

MapReduce/Hadoop では、各ノードが何らかの計算を行い、他のノードとデータを交換してから、結果のパーティションを照合します。シンプルに見えますが、プロセスを反復できるため、K-means や PageRank などのアルゴリズムでさえモデルに非常によく適合します。スケジューリングの局所性を備えた分散ファイル システムでは、パフォーマンスは明らかに良好です。対照的に、MPI では、ノードが相互にメッセージを送信する方法を明示的に制御できます。

より一般的な MPI モデルが単純な MapReduce モデルよりも明らかに有利であるクラスター プログラミング シナリオを説明できる人はいますか?

4

5 に答える 5

26

ほぼすべての科学的コード - 有限差分、有限要素など。これは、MapReduce に簡単にマッピングできない分散プログラムは、より一般的な MPI モデルでより適切に実装されるという循環的な答えにつながります。それがあなたにとってあまり役に立たないかどうかはわかりません。投稿した直後にこの回答に反対票を投じます。

于 2009-10-07T11:25:18.393 に答える
22

この質問には回答済みですが、非常に重要な点を 1 つ追加/繰り返したいと思います。

MPI は、多くのプロセス間通信を必要とする問題に最適です。

データが大きくなり (ペタバイトですか?)、プロセス間通信がほとんどない場合、MPI は苦痛になります。これは、プロセスが相互にデータを送信するために常に時間を費やし (帯域幅が制限要因になる)、CPU がアイドル状態のままになるためです。おそらく、さらに大きな問題は、そのすべてのデータを読み取ることです。

これが、Hadoop のようなものを使用する根本的な理由です。データも分散する必要があります - Hadoop 分散ファイル システム!

つまり、MPI はタスクの並列処理に優れており、Hadoop はデータの並列処理に適しています。

于 2010-01-06T15:32:36.350 に答える
1

使用している計算とデータに不規則な動作があり、ほとんどがオブジェクト間の多くのメッセージ パッシングに変換される場合、または RDMA などの低レベルのハードウェア レベルのアクセスが必要な場合は、MPI の方が適しています。ここに表示されるいくつかの回答では、タスクのレイテンシーまたはメモリ整合性モデルが言及されています。Spark などのフレームワークや AKKA などのアクター モデルは、MPI と競合できることを示しています。最後に、MPI には科学計算に必要なライブラリを開発するための主要な基盤として何年にもわたって利点があることを考慮する必要があります (これは、DAG/MapReduce モデルを使用する新しいフレームワークに欠けている最も重要な欠落部分です)。

全体として、MapReduce/DAG モデルが動的リソース マネージャーやフォールト トレランス計算などのテーブルにもたらしている利点により、科学計算グループにとって実現可能になると思います。

于 2014-07-16T17:32:03.907 に答える
1

私が思いついた最良の答えは、次の 2 つのケースで MPI が MapReduce よりも優れているということです。

  1. バッチ処理ではなく短いタスクの場合。たとえば、MapReduce を使用して個々のクエリに応答することはできません。各ジョブには数分かかることが予想されます。MPI では、マシンが互いにメッセージを送信してクエリをルーティングし、回答を生成するクエリ応答システムを構築できると思います。

  2. ジョブの場合、ノードは、反復された MapReduce ジョブがサポートする以上の通信を行う必要がありますが、通信オーバーヘッドが計算を非現実的にするほど多くはありません。ただし、実際にそのようなケースがどのくらいの頻度で発生するかはわかりません。

于 2009-10-11T23:51:26.147 に答える
1

MPI は、タスクがプロセッサ キャッシュと同程度のサイズのデータ​​ セットを反復処理している場合や、他のタスクとの通信が頻繁に必要な場合に MapReduce を簡単に打ち負かすことができると思います。多くの科学的なドメイン分割並列化アプローチは、このパターンに適合します。MapReduce が順次処理と通信、またはプロセスの終了を必要とする場合、キャッシュ サイズの問題を処理することによる計算パフォーマンスの利点が失われます。

于 2011-06-30T07:14:31.113 に答える