マルチプロセッサの性能上限|科目A-1(応用情報技術者) 令和6年 春期午前試験 問14

出典:令和6年春期 午前 問14 分野:システム構成要素 / システムの構成
1台のCPUの性能を1とするとき,そのCPUをn台用いたマルチプロセッサの性能Pが,
 P = n / {1 +(n - 1)a}
で表されるとする。ここで,aはオーバーヘッドを表す定数である。例えば,a = 0.1,n = 4とすると,p ≒ 3なので,4台のCPUからなるマルチプロセッサの性能は約3倍になる。この式で表されるマルチプロセッサの性能には上限があり,nを幾ら大きくしてもある値以上には大きくならない。a = 0.1の場合,その値は幾らか。
  • ア:5
  • イ:10
  • ウ:15
  • エ:20
解説

式にa = 0.1を代入すると、

P = n ÷ {1 + (n - 1) × 0.1}

となります。

まず、CPUを100台に増やした場合を考えます。

P = 100 ÷ {1 + (100 - 1) × 0.1}

= 100 ÷ (1 + 9.9)

= 100 ÷ 10.9

≒ 9.17

さらに、CPUを1,000台に増やすと、

P = 1,000 ÷ {1 + (1,000 - 1) × 0.1}

= 1,000 ÷ (1 + 99.9)

= 1,000 ÷ 100.9

≒ 9.91

さらに10,000台まで増やすと、

P = 10,000 ÷ {1 + (10,000 - 1) × 0.1}

= 10,000 ÷ 1,000.9

≒ 9.99

このように、CPUの台数nを非常に大きくしても、性能Pは10に近づいていくだけで、10を超えて大きくなることはありません。

式を変形して考えると、nが非常に大きい場合、分母の「1」や「- 1」の影響は小さくなるので、

P ≒ n ÷ (0.1 × n)

= 1 ÷ 0.1

= 10

となります。

したがって、イが適切です。

TSUNAGARU-ADVICE

まず押さえたいこと

CPU台数nを増やしたときの性能上限を考える問題では、nを非常に大きくしたときに式がどの値へ近づくかを考えます。分子・分母をnで割って整理すると、nが大きくなるにつれて無視できる項が分かり、性能の上限を求められます。

迷ったときの判断軸

CPUを増やせば性能が際限なく比例して向上するわけではなく、オーバーヘッドが上限を決めます。この式では、nを十分大きくすると性能の上限はオーバーヘッドを表す定数aの逆数に近づくと捉えるのがポイントです。有限のCPU台数での性能と、理論上の上限を混同しないようにしましょう。

科目Bにつなげるために

特にプロフェッショナルデジタルスキル(システム)試験合格を目指す方は、この考え方を並列処理のスケーラビリティとオーバーヘッドに結び付けましょう。CPUやノードを追加しても通信・同期などの負荷によって性能向上が頭打ちになることは、並列システムの性能評価や構成設計でも重要です。