アムダールの法則
あるプログラムの処理時間のうち 80% は並列化が可能で,残りの 20% は並列化できない。このプログラムを 4 台のプロセッサで並列に実行したとき,1 台で実行した場合に比べて処理速度は何倍になるか。ここで,並列化可能な部分の処理時間はプロセッサの台数に反比例して短縮され,並列化に伴うオーバヘッドは無視する。
- ア2.5
- イ3.2
- ウ4.0
- エ5.0
正解と解説を見る
正解 ア
この問題の基礎知識
- アムダールの法則では,並列化可能な割合を P,プロセッサ数を n とすると,処理時間は 1 台のときの (1−P)+P÷n 倍になる。
- 速度向上率は,並列化後の処理時間の比の逆数,すなわち 1÷((1−P)+P÷n) で求める。
- 並列化できない部分の処理時間は台数を増やしても短縮されないので,プロセッサをいくら増やしても速度向上率は 1÷(1−P) を超えない。
ア2.5正解
アムダールの法則により,処理時間は 0.2+0.8÷4=0.4 となる。速度向上率はその逆数 1÷0.4=2.5 倍である。
イ3.2
台数 4 に並列化可能な割合 0.8 を掛けた値であり,並列化できない 20% の部分の処理時間が短縮されないことを正しく反映していない。
ウ4.0
プログラム全体が並列化可能な場合の値である。20% の部分は並列化できないため,台数どおりの 4 倍にはならない。
エ5.0
プロセッサを無限に増やしたときの上限値 1÷0.2 である。4 台の場合は並列化可能部分の処理時間が 0.2 残るので,これより小さくなる。
検証用の出典出典照合済み
G. M. Amdahl, Validity of the Single Processor Approach to Achieving Large Scale Computing Capabilities (1967)照合の根拠(1 件)
- ア(正解): マルチプロセッサの性能に関する法則としてアムダールの法則が扱われることの確認。値は問題文の前提による計算
アレイコンピュータシステム,アムダールの法則
IPA 応用情報技術者試験シラバス Ver.7.2 · 2.1 マルチプロセッサシステム(新しいタブで開きます)
計算の検算: 問題文の前提(並列化部分は台数に反比例,オーバヘッド無視)から処理時間=0.2+0.8/4=0.4,速度向上=1/0.4=2.5 倍。イ 3.2=4×0.8,ウ 4.0 は全体が並列化可能な場合,エ 5.0=1/0.2 は台数無限大の上限。前提が問題文で定義されている算術のため checked とした