10個のプロセッサを搭載したコンピュータでストリームメモリ帯域幅のベンチマーク(https://www.cs.virginia.edu/stream/)を実行しました。このベンチマークでは、3つまたは4つのプロセッサーの後では、スピードアップは約3倍になっています。 MPIコードのパフォーマンスに対するこの結果の実際の影響は何ですか?簡単にするために、このマルチコアマシン上でのみプログラムが複数のプロセスをローカルで実行しているとします。つまり、メモリアクセスが集中するプログラムを実行している場合、すべてのコアを使用していても3倍以上のスピードアップを得ることはできませんか?メモリアクセスが集中していないプログラムを実行した場合、理論的には完全に10倍を得ることができますか?同時に3つのプロセッサを使用する2つまたは3つのメモリアクセス集中型プログラムを同時に実行した場合、3倍の速度を得ることができますか、または互いに干渉し、RAMから同時に引き出されるため、ストリームメモリ帯域幅ベンチマークと、MPIをローカルに実行することによる潜在的なスピードアップとの間の実際的な関係は何ですか?
0
A
答えて
1
スピードアップはコードにどれくらいの並列性が存在するかです。さらに、アプリケーションの種類によっては、どのリソースもボトルネックになる可能性があります。アプリケーションでメモリが大量に使用されている場合は、メモリの帯域幅によって制限されます。メモリが集中しておらず、並列性が高い(Monte Carloサンプリングを例に取る)場合、コアから完全に高速化することができます。
あなたの最後の質問(複数のメモリを大量に消費する)に答えるには:1日の終わりにメモリコントローラを使用して読み書きを行います。したがって、メモリバンクと物理ページがどこから割り当てられているかによって異なります。したがって、あなたが言及した2つの状況のいずれかが起こる可能性があります。
関連する問題
- 1. meteor.jsを使用することの(潜在的な)短所は何ですか?
- 2. 潜在的に高価なタスクを実行する
- 3. 潜在的な生存期間:: survreg(潜在的な回帰と検閲されたデータ)で潜伏期間を退行させるには?
- 4. この潜在的なメモリリークの原因は何ですか?
- 5. Xcodeで「潜在的なリーク」とは何ですか?無視することはできますか?
- 6. 実際のプロットとは無関係に静的な凡例を作成
- 7. 潜在的なバイヤーと私のサイト
- 8. Java:潜在的にブロッキングコードを実行する
- 9. 静的関数と "hidden"可視属性を持つ関数の実際的な違いは何ですか?
- 10. ProgrammingError:関係「何とか何とか」は、特定の移行を実行しようとして存在し、エラー
- 11. Angular 2 Component定義でngOnInitとコンストラクタを使用することの実際的な違いは何ですか?
- 12. iOSのこのシングルトン実装の潜在的な欠陥はありますか?
- 13. AWSとHerokuの間の帯域幅
- 14. 潜在的なトップオフセットに関係なく、ルートの親の高さをとる子divs
- 15. ベンチマークApache Minaの合計帯域幅
- 16. OpenCVと潜在的なSVM検出器
- 17. 迷惑メールと潜在的な&ssh
- 18. Azure帯域幅の価格設定とは何ですか?
- 19. Javaジェネリックに関するOracleのトレールの潜在的な問題
- 20. PHPのアップロードと帯域幅/トラフィックに関する質問
- 21. は、私は潜在的にこのようになりますドッカファイルを持つことができ
- 22. ゲーム開発におけるRAMとCPUの実際的な目的は何ですか?
- 23. Pingと帯域幅
- 24. check_call check_outputコールとサブプロセスモジュールのPopenメソッドの実際的な違いは何ですか?
- 25. 潜在的なヌルポインタアクセス。変数は、この場所ではnullになることがあります。 java.lang.NullPointerException
- 26. 潜在的な原因となっているハッカーのスキャンドメイン
- 27. Javaのインターフェース内でクラスを定義することの実際的な面は?
- 28. 動的なノックアウトテンプレートパターン潜在的な落とし穴
- 29. これは相対的なベンチマーク画像ロード時間の実行可能な方法ですか?
- 30. 反復的な方法を反復的に変換することでスピードアップ
これは、より多くのプロセッサを搭載したコンピュータを使用する場合の欠点ですか?具体的には、32プロセッサ搭載の1台のコンピュータではなく、4台のプロセッサを搭載した8台のコンピュータでMPIジョブを実行することで、クラスタ上でパフォーマンスを向上できますか?後者はノード間の通信を必要としませんが、前者は8つの別々のノードに8つの別個のメモリコントローラを持っていますか? –
もっと多くのプロセッサを使用するという欠点はありません。 *アプリケーション*が重要な役割を果たします。 MPIは、ノード間の通信と、より大きな問題(RAMのノード数がx *ある)を実行できるという事実を覚えておいてください。インターコネクトは重要な役割を果たし、現在のインフィニバンドネットワークはメッセージサイズに応じてGB/sをドライブすることができます。だからあなたの最後の質問に答えるために考慮すべきパラメータがあります。答えは:それは依存しています。 – Arash
クール、私は "それは依存している"と答えています。より少ないプロセッサでより多くのコアに分散することがより速くなる可能性があるかどうかを尋ねていました。間違いなく、プロセス内のローカルメモリのレイテンシが重要か、プロセス間のデータ交換によるレイテンシが重要かどうかは、具体的には分かります。 –