アムダールの法則とは?
アムダールの法則とは、処理の一部しか並列化できない場合、全体の高速化率には上限があるという法則。逐次実行しかできない部分の割合をaとすると、プロセッサ数を無限に増やしても高速化率は 1/a を超えない。
システムアーキテクト試験の過去問では2回出題されています(2017年度〜2018年度)。
あむだーるのほうそく
アムダールの法則の意味
処理の一部しか並列化できない場合、全体の高速化率には上限があるという法則。逐次実行しかできない部分の割合をaとすると、プロセッサ数を無限に増やしても高速化率は 1/a を超えない。
アムダールの法則の具体例
処理の10%が逐次部分なら、いくら並列化しても理論上10倍までしか速くならない。
アムダールの法則は試験でどう引っ掛けられる?
台数を増やせば比例して速くなる、と考える選択肢が誤り。ボトルネックは逐次部分とオーバヘッドにある。
アムダールの法則と関連する用語
アムダールの法則が出た過去問
マルチプロセッサによる並列処理で得られる高速化率(単一プロセッサのときと比べた倍率)Eを、次の式によって評価する。E = 1 / (1 - r + r/n)。こ…
正解:6
要点:アムダールの法則は逐次部分が高速化の上限を決める
アムダールの法則の式に当てはめると、r=0.9では1/(0.1+0.9/n)、r=0.3では1/(0.7+0.3/n)となる。前者が後者の3倍になる条件は分母の関係から 0.7+0.3/n = 3×(0.1+0.9/n) となり、0.7+0.3/n=0.3+2.7/n、整理して0.4=2.4/n、よってn=6台である。
出典:平成29年度 秋期 システムアーキテクト試験 am2 問20(IPA)1台のCPUの性能を1とするとき、そのCPUをn台用いたマルチプロセッサの性能Pが、 P = n / (1 + (n-1)a) で表されるとする。ここで、aはオ…
正解:10
要点:並列性能の上限はオーバヘッド定数の逆数1/aで決まる
P=n/(1+(n−1)a) でnを限りなく大きくすると、分子分母をnで割った n/(na+1−a) の形から P はおよそ 1/a に近づく。a=0.1 の場合の上限は 1/0.1=10 である。台数を増やしてもオーバヘッドの割合が性能の頭打ちを決めるという、アムダールの法則と同じ構図になっている。
出典:平成30年度 秋期 システムアーキテクト試験 am2 問19(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。