アムダールの法則 【Amdahl's law】
概要
アムダールの法則(Amdahl's law)とは、コンピュータシステムの構成要素の一部を改良して得られる性能向上は、その要素が処理時間に寄与する度合いに制限されるという法則。並列処理の高速化の限界を示す法則として知られる。ハードウェアやプログラムなど、システムを構成する一部を改良すると性能が向上し処理時間が短縮されるが、ある要素の改良によって短縮する時間は、その要素が関与する時間の長さを超えることはできないことを示す法則である。
例えば、ある計算をCPU1基で2時間で行うプログラムのうち、並列に処理可能な部分が1時間分、並列化できない処理が1時間分あるとする。これを10基のCPUで並列処理すると、並列化部分は10倍高速化され6分に短縮されるが、並列化不可能な部分は相変わらず1時間かかるため、全体では1時間6分にしか短縮されない。どんなにCPUを追加投入しても1時間を切ることはできない。
並列化が可能な部分の処理は資源を限りなく追加していけば限りなくゼロに近づけることができるが、並列化不可能な部分の時間は変化しない。システム全体の性能は究極的には並列化不可能な部分に費やされる時間によって制約されることになる。
アムダールの法則は1967年に米コンピュータ科学者のジーン・アムダール(Gene Amdahl)氏によって提唱された。同氏は1970年代に当時の米IBM社のメインフレームコンピュータ製品の互換機を開発・販売していた米アムダール社(Amdahl Corporation)の創業者としてよく知られる。
(2024.3.24更新)