アムダールの法則とは?あむだーるのほうそく
アムダールの法則とは、システムの一部だけを速くしても、全体の改善には上限があることを示す法則。改善できる部分の割合をp、その部分の高速化倍率をkとすると、全体の性能向上比は 1÷((1−p)+p/k) となり、kを無限に大きくしても 1÷(1−p) を超えない。並列化の効果を見積もる場面で使われる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
並列計算機の草創期には、プロセッサ数を増やせば比例して速くなるという期待が広く持たれていた。ジーン・アムダールは、逐次にしか実行できない部分が残る限り、その部分が下限として全体の実行時間を縛ると指摘した。投資判断の道具でもあり、「どこを速くすれば効くのか」を測ってから手を付けるという順序を裏付ける。
具体例
処理の80%を並列化できるプログラムは、コアを何個並べても上限が 1÷(1−0.8)=5倍。コア4個で実際に出るのは 1÷(0.2+0.8/4)=2.5倍にとどまる。残り20%の逐次部分を半分に削るほうが、コアを倍にするより効くことがある。
試験での引っ掛け
効くのは高速化した部分の占有率であって倍率ではない、という向きの取り違えが狙われる。占有率の低い部分をいくら速くしても全体はほとんど変わらないため、まず測って比率の大きい箇所を選ぶ。処理量も一緒に増える前提で議論するグスタフソンの法則とは仮定が違う点も押さえる。
関連用語
出た過去問
出典:令和4年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問7(IPA)
マルチプロセッサによる並列処理において、1プロセッサのときに対する性能向上比はアムダールの法則で説明することができる。性能向上比に関する記述のうち、適切なものは…
正解:並列化可能部の割合が0.5の場合は、プロセッサ数をいくら増やしても性能向上比が2を超えることはない。
要点:性能向上比の上限は1÷(1-並列化可能部の割合)
アムダールの法則では、プロセッサ数を無限に増やしたときの性能向上比の上限は1÷(1-並列化可能部の割合)に収束する。並列化可能部の割合が0.5なら上限は1÷0.5=2であり、プロセッサをいくら増やしても2倍を超えられない。逐次処理部分が全体の性能を律速することを示す法則である。
出典・参考
高度試験 午前I(高度午前I 相当)のシラバスの2 コンピュータシステム > 1. プロセッサ > (11) マルチプロセッサシステムに掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。