システムアーキテクト試験 2013年 午前219


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

解説

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

要点まとめ

  • 結論:オーバヘッド定数a=0.1a=0.1のとき、性能PPの上限は1010となる。
  • 根拠:性能式P=n1+(n1)aP=\frac{n}{1+(n-1)a}nn \to \inftyの極限を考えると、PP1a\frac{1}{a}に収束する。
  • 差がつくポイント:極限の考え方を理解し、分母のオーバヘッドが性能上限を決めることを押さえること。

正解の理由

性能PP
P=n1+(n1)aP = \frac{n}{1 + (n-1)a}
で表されます。nnを非常に大きくすると、(n1)a(n-1)aが支配的になり、分母はほぼnanaとなります。
したがって、
limnP=limnn1+(n1)a=limnn(n1)a=1a\lim_{n \to \infty} P = \lim_{n \to \infty} \frac{n}{1 + (n-1)a} = \lim_{n \to \infty} \frac{n}{(n-1)a} = \frac{1}{a}
となります。a=0.1a=0.1なので、性能の上限は1/0.1=101/0.1=10です。よって正解はです。

よくある誤解

性能がnn台分単純に増えると考え、上限が無限大になると誤解しやすいです。オーバヘッドaaがあるため、性能は必ず上限に収束します。

解法ステップ

  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の上限を計算する
  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
    同様に過大評価であり、オーバヘッドを無視している。

補足コラム

この性能式は「Amdahlの法則」に似た形で、並列処理の効率低下をオーバヘッドaaで表現しています。オーバヘッドが小さいほど性能上限は高くなり、逆に大きいと性能向上は限定的です。実際のシステム設計ではこのバランスが重要です。

FAQ

Q: なぜ性能は1/a1/aに収束するのですか?
A: nnが大きくなると分母の(n1)a(n-1)aが支配的になり、PPnna=1a\frac{n}{n a}=\frac{1}{a}に近づくためです。
Q: オーバヘッドaaが0の場合はどうなりますか?
A: a=0a=0ならオーバヘッドがなく、性能は理論上nn倍まで増加し、上限はありません。

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

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