インテル®コンパイラー OpenMP*入門
デュアルコア・マルチコア対応アプリケーション開発@
<< 6 >>
計算粒度:細粒度と疎粒度での並列処理
並列処理の効率を考える上でもう1つ重要なのが、スレッド間のアプリケーションのワークロード負荷分散です。こ
の負荷分散は、アプリケーションのパフォーマンスにとってきわめて重要であり、プログラムの並列化を行う場合には
十分な注意が必要です。負荷分散の目的はスレッドのアイドル時間を最小限に抑えることです。ワークロードが適切
に各プロセッサーに割り振られない場合、アイドルしているプロセッサーは、他のプロセッサーの処理が終了するのを
ただ待つだけの状態になってしまいます。
逐次処理
CPU 0
CPU 1
CPU 2
並列処理:細粒度での並列処理
CPU 0
CPU 1
CPU 2
並列処理:疎粒度での並列処理
CPU 0
CPU 1
CPU 2
逐次処理
CPU 0
CPU 1
CPU 2
並列処理:細粒度での並列処理
CPU 0
CPU 1
CPU 2
並列処理:疎粒度での並列処理
CPU 0
CPU 1
CPU 2