アムダールの法則による高速化率
出典: 令和7年度 春期 応用情報技術者試験 午前 問11 (IPA)
マルチプロセッサによる並列処理で得られる高速化率(単一プロセッサのときと比べた倍率)E を,次の式によって評価する。r=0.9 のアプリケーションの高速化率が r=0.3 のものの 3 倍となるのは,プロセッサが何台のときか。
E = 1 / (1−r+r/n)
ここで,
- n:プロセッサの台数(1 ≦ n)
- r:対象とする処理のうち,並列化が可能な部分の割合(0 ≦ r ≦ 1)
とし,並列化に伴うオーバーヘッドは考慮しないものとする。
- ア 3
- イ 4
- ウ 5
- エ 6
正解と解説を見る
正解: エ
- ア: n = 3 では、r = 0.9 のとき E ≒ 2.5、r = 0.3 のとき E ≒ 1.25 で、約 2 倍です。
- イ: n = 4 では、r = 0.9 のとき E ≒ 3.08、r = 0.3 のとき E ≒ 1.29 で、約 2.4 倍です。
- ウ: n = 5 では、r = 0.9 のとき E ≒ 3.57、r = 0.3 のとき E ≒ 1.32 で、約 2.7 倍です。
- エ: n = 6 では、E は 4 と約 1.33 で、ちょうど 3 倍になります。正しい答えです。
ポイント
E = 1 / (1 − r + r/n) に、n を代入して比べます。
- n = 6 のとき
・r = 0.9: E = 1 / (0.1 + 0.15) = 1 / 0.25 = 4
・r = 0.3: E = 1 / (0.7 + 0.05) = 1 / 0.75 = 約 1.33 - 4 ÷ 1.33 = 3 倍 になるので、n = 6 です。
- n = 3, 4, 5 では 3 倍になりません (n = 5 だと 3.57 ÷ 1.32 ≒ 2.7 倍)。