問11 アムダールの法則と台数

応用情報​技術者試験 令和7年度 春期 午前、全80問のうちの問11。

出典:令和7年度 春期 応用情報技術者試験 午前 問11(分数は「/」を使って 1 行で書いた)

マルチプロセッサによる並列処理で得られる高速化率(単一プロセッサのときと比べた倍率)E を,次の式によって評価する。r = 0.9 のアプリケーションの高速化率が r = 0.3 のものの 3 倍となるのは,プロセッサが何台のときか。

E = 1/(1 − r + r/n)

ここで,

n:プロセッサの台数(1 ≦ n)

r:対象とする処理のうち,並列化が可能な部分の割合(0 ≦ r ≦ 1)

とし,並列化に伴うオーバーヘッドは考慮しないものとする。

  1. ア3
  2. イ4
  3. ウ5
  4. エ6
答えと解説を開く

正解はエです。

r = 0.9 の高速化率は 1/(0.1 + 0.9/n)、r = 0.3 の高速化率は 1/(0.7 + 0.3/n) です。前者が後者の 3 倍なので、1/(0.1 + 0.9/n) = 3/(0.7 + 0.3/n) です。分母を払うと 0.7 + 0.3/n = 3 × (0.1 + 0.9/n) = 0.3 + 2.7/n です。整理すると 0.4 = 2.4/n で、n = 2.4 ÷ 0.4 = 6 です。確かめると、n = 6 で r = 0.9 の E は 1/(0.1 + 0.1⁠5) = 4、r = 0.3 の E は 1/(0.7 + 0.0⁠5) = 1/0.7⁠5 で約 1.3⁠3 となり、4 は約 1.3⁠3 の 3 倍です。正解はエです。

ほかの選択肢が違う理由

  • アn = 3 では、r = 0.9 の E は 1/0.4 = 2.5、r = 0.3 の E は 1/0.8 = 1.2⁠5 で、2 倍にしかなりません。
  • イn = 4 では、r = 0.9 の E は 1/0.3⁠2⁠5 で約 3.0⁠8、r = 0.3 の E は 1/0.7⁠7⁠5 で約 1.2⁠9 で、約 2.4 倍です。
  • ウn = 5 では、r = 0.9 の E は 1/0.2⁠8 で約 3.5⁠7、r = 0.3 の E は 1/0.7⁠6 で約 1.3⁠2 で、約 2.7 倍です。

仕組み

この式はアムダールの法則と呼ばれます。並列にできない部分 (1 − r) は、台数を増やしても短くならないので、高速化には上限があります。

たとえば r = 0.9 なら、台数をいくら増やしても E は 1/0.1 = 1⁠0 倍を超えません。並列化できる割合を増やすことが、台数を増やすことと同じくらい大事です。