システムアーキテクト試験 2009年 午前222


1台のCPUの性能を1とするとき、そのCPUをれ台用いたマルチプロセッサの性能Pが、
P=n1+n1aP = \frac{n}{1 + (n - 1)a}
で表されるとする。ここで、aはオーバヘッドを表す定数である。例えば、a=0.1, n=4とすると、P≒3なので、4台のCPUからなるマルチプロセッサの性能は約3になる。この式で表されるマルチプロセッサの性能には上限があり、nを幾ら大きくしてもある値以上には大きくならない。a=0.1の場合、その値は幾らか。
10(正解)
5
15
20

解説

マルチプロセッサの性能上限の計算問題【午前2 解説】

要点まとめ

  • 結論:オーバヘッド定数a=0.1a=0.1のとき、性能PPの上限は1010である。
  • 根拠:性能P=n1+(n1)aP=\frac{n}{1+(n-1)a}nn \to \inftyの極限を考えると、P1aP \to \frac{1}{a}となるため。
  • 差がつくポイント:極限の考え方と分母のオーバヘッドaaの役割を正しく理解し、計算ミスを防ぐこと。

正解の理由

性能PPはCPU台数nnに依存し、オーバヘッドaaが増えるほど性能向上が抑制されます。
式の分母は1+(n1)a1+(n-1)aで、nnが非常に大きくなると11は無視でき、PPは約nna=1a\frac{n}{n a}=\frac{1}{a}に収束します。
a=0.1a=0.1ならば、性能の上限は10.1=10\frac{1}{0.1}=10となり、選択肢の中ではが正解です。

よくある誤解

オーバヘッドaaを無視して単純にnn倍の性能向上と考える誤りが多いです。
また、極限を考えずにnnの具体的な値だけで判断することも誤解の原因となります。

解法ステップ

  1. 性能式P=n1+(n1)aP=\frac{n}{1+(n-1)a}を確認する。
  2. nnを非常に大きくしたときの極限を考える。
  3. 分母の11は無視できるので、Pnna=1aP \approx \frac{n}{n a} = \frac{1}{a}となる。
  4. a=0.1a=0.1を代入し、PPの上限は1010と求まる。
  5. 選択肢から1010に該当するを選ぶ。

選択肢別の誤答解説

  • ア: 5
    a=0.1a=0.1なら1/a=101/a=10なので、5は性能上限として小さすぎる。
  • イ: 10
    正解。1/a=101/a=10で性能の上限を正しく表す。
  • ウ: 15
    a=0.1a=0.1では性能上限は1010なので、15は過大評価。
  • エ: 20
    同様に過大評価であり、a=0.1a=0.1の条件に合わない。

補足コラム

この式は「Amdahlの法則」に類似し、並列処理の性能向上に限界があることを示しています。
オーバヘッドaaは通信や同期の遅延を表し、これが大きいほど性能向上は頭打ちになります。
実際のシステム設計では$aを小さくする工夫が重要です。

FAQ

Q: なぜnnが大きくなると11を無視できるのですか?
A: nnが非常に大きい場合、(n1)a(n-1)a11より圧倒的に大きくなるため、11は無視しても誤差が小さいからです。
Q: オーバヘッドaaが0の場合はどうなりますか?
A: a=0a=0ならP=n1+0=nP=\frac{n}{1+0}=nとなり、性能はCPU台数に比例して無限に増加します。

関連キーワード: マルチプロセッサ性能, オーバヘッド, Amdahlの法則, 並列処理, 性能上限, 極限計算
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ