1

私はこれについて少し混乱しています。場合によっては並列操作を実行する可能性のある分散アプリケーションを構築している場合 (必ずしも数学的ではありませんが)、ASIO や MPI などを使用する必要がありますか? MPI は ASIO よりも高いレベルにあると思いますが、スタックのどこから始まるかは明確ではありません。

4

2 に答える 2

2

私は ASIO について何も知りませんが、簡単な Google を見ると、MPI よりもはるかに低いレベルに見えます。私にとって MPI の要点は、ASIO が提供しているように見えるよりも、メッセージングからのより高いレベルの抽象化に対してプログラミングできるようにすることです。どこから始めるかは、ニーズによって異なります。私の場合、高性能のために科学的コードを並列化する場合、明白な答えは MPI です。並列アプリケーションとは対照的に、より汎用的な分散アプリケーションを作成する場合、それを使用するかどうか、または少なくともデフォルトの選択になるかどうかはわかりません。実際には、別のアプローチを学ぶことを避けるのが私のデフォルトの選択でしょう (そのほとんどは移植性が低く、MPI よりも寿命が長くありません) が、対等な立場から始めるのであれば、それが最善の選択ではないことは認めます。

于 2010-03-08T13:47:44.420 に答える
1

私が知る限り、MPI は現在、新しい分散ノードが既に開始されているグループに参加したい場合の状況を処理できません。この問題は、ノードの 1 つがオフラインになった場合にも発生する可能性があります。

MPI は、その下にあるネットワーク関連の機械を明らかにしません。したがって、下位レベルで何かが必要になった場合、問題が発生します。一方、そのような必要性を予期していない場合は、MPI を使用することで多くの時間を節約できます。

于 2010-03-19T10:23:36.990 に答える