アムダールの法則とは?あむだーるのほうそく
アムダールの法則とは、高速化の効果は、手を入れられない部分の割合によって頭打ちになるという法則。改善対象が全体に占める割合をp、その部分の倍率をnとすると、全体の速度向上率は 1/((1−p)+p/n) となり、nをいくら大きくしても 1/(1−p) を超えられない。逐次部分が1割なら上限は10倍で止まる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
1967年、ジーン・アムダール(IBM System/360の主任設計者)が、並列計算機の台数を増やせば増やしただけ速くなるという当時の期待に対して示した反証である。含意は並列処理に限らず、ボトルネック以外をいくら最適化しても全体には効かないという投資判断の原則になる。システムアーキテクトでは、性能要件を満たすために増強するのか、逐次部分そのものを作り替えるのかを選び分ける根拠として使う。
具体例
夜間バッチの8割を並列化できても、残る2割がファイル入出力で逐次なら上限は5倍で、16並列にしても実効は4倍前後に留まる。この形が見えたら、並列度を上げる投資よりも入出力の方式を変える投資のほうが効くと説明できる。
試験での引っ掛け
台数に比例して速くなるとする選択肢が誤り。pは並列化できる部分の割合であって、並列化した部分がどれだけ短くなったかではない。また問題規模を固定した前提の法則であり、規模を大きくすれば並列部分の比率が上がるとするグスタフソンの法則とは前提が逆である点も問われる。
関連用語
出た過去問
出典:平成29年度 秋期 システムアーキテクト試験 午前Ⅱ 問20(IPA)解説で登場
マルチプロセッサによる並列処理で得られる高速化率(単一プロセッサのときと比べた倍率)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台である。
出典:平成30年度 秋期 システムアーキテクト試験 午前Ⅱ 問19(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 である。台数を増やしてもオーバヘッドの割合が性能の頭打ちを決めるという、アムダールの法則と同じ構図になっている。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。