メインコンテンツへ
コンピュータ構成要素計算問題

アムダールの法則において、プログラムの逐次処理部分が全体の25%、並列化可能部分が75%である場合、プロセッサ数を無限大にした場合の理論上の最大高速化率として最も適切なものはどれか。

ア.2倍
イ.4倍正解
ウ.75倍
エ.無限大倍

解説

アムダールの法則は「高速化の天井を決める逐次部分の壁」。並列化できない25%が永遠にボトルネックとなり、プロセッサを無限に増やしても4倍が上限。「並列化率を上げること」が並列コンピューティングの王道戦略です。

なぜ イ が正解か

イが正解。アムダールの法則:最大高速化率 = 1 / (逐次部分の割合 + 並列部分の割合/プロセッサ数)。プロセッサ数→∞の場合:並列部分/∞ = 0となるため、最大高速化率 = 1 / 逐次部分の割合 = 1 / 0.25 = 4倍。逐次処理部分が25%存在する限り、どれだけプロセッサを増やしても4倍が理論上の上限。

なぜ ア は間違いか

2倍はプロセッサ数N=2の場合の近似値。1/(0.25 + 0.75/2) = 1/(0.25+0.375) = 1/0.625 ≒ 1.6倍が正確値で、プロセッサ無限大での上限4倍とは異なる。

なぜ ウ は間違いか

75倍は「並列化率75%を倍率と誤解した」場合の誤答。並列化率75%はプログラムの75%が並列化できるという割合であり、速度向上の倍率ではない。上限は1/逐次部分割合=1/0.25=4倍。

なぜ エ は間違いか

無限大倍になるのは逐次処理部分が0%(完全に並列化可能)の場合のみ。逐次部分が25%存在すれば上限は4倍とアムダールの法則により有限の上限が生まれる。

出典: AI生成問題(学習用)