Amdahl's low

 並列処理システムの性能向上のガイドラインとして使われることが多い。並列に処理を実行できる性能を備えても,それに比例してスループット(処理の成果)が向上するとは限らず,得られるスループットはソフトウエアを逐次で実行しなければならない部分の制約を受けるという考え方である。

 例えば,マルチコア型マイクロプロセサの場合,コア数が増えたときに得られる性能向上の比率は,ソフトウエアの中で逐次的に実行しなければならない部分の割合によって決まる。1個だったCPUコアを16個まで増やしたとしても,スループットが単純に16倍に向上するわけではない。ソフトウエアの中で逐次実行しなければならない割合が20%あると仮定した場合,Amdahlの法則に基づくとスループットは4倍しか向上しない。マルチコア型マイクロプロセサにおいては,Amdahlの法則が性能向上の壁になっている。

図 ソフトウエアを並列化して実行したときのオーバーヘッドが存在しないと仮定してプロットした。設計ルールの微細化の年は,Intel社の実績および計画を基にした。微細化が1世代進むごとにコア数が倍になると仮定した。
図 ソフトウエアを並列化して実行したときのオーバーヘッドが存在しないと仮定してプロットした。設計ルールの微細化の年は,Intel社の実績および計画を基にした。微細化が1世代進むごとにコア数が倍になると仮定した。 (日経エレクトロニクス2007年10月8日号より抜粋)