令和4年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問7

マルチプロセッサによる並列処理において,1 プロセッサのときに対する性能向上比はアムダールの法則で説明することができる。性能向上比に関する記述のうち,適切なものはどれか。

アムダールの法則
図の説明テキスト

〔アムダールの法則〕
性能向上比=1(1−並列化可能部の割合)+並列化可能部の割合プロセッサ数 \text{性能向上比} = \frac{1}{(1 - \text{並列化可能部の割合}) + \frac{\text{並列化可能部の割合}}{\text{プロセッサ数}}}

解答・解説

正解: ウ. 並列化可能部の割合が 0.50.5 の場合は,プロセッサ数をいくら増やしても性能向上比が 22 を超えることはない。

アムダールの法則は、プログラムを複数のプロセッサで並列処理した際の、全体の性能向上比(スピードアップ)の限界を示す法則です。

アムダールの法則による性能向上比 SS は、並列化可能な部分の割合を PP、プロセッサ数を NN とすると、以下の式で表されます。
S=1(1−P)+PNS = \frac{1}{(1 - P) + \frac{P}{N}}

プロセッサ数 NN を無限大(N→∞N \to \infty)に増やした場合、PN\frac{P}{N} は 00 に近づくため、性能向上比の最大値(極限)は以下のようになります。
Smax=11−PS_{\text{max}} = \frac{1}{1 - P}

選択肢「ウ」において、並列化可能部の割合 PP が 0.50.5 の場合を計算してみます。
Smax=11−0.5=10.5=2S_{\text{max}} = \frac{1}{1 - 0.5} = \frac{1}{0.5} = 2
したがって、プロセッサ数をいくら増やしても、性能向上比が 22 を超えることはありません。よって「ウ」が適切です。

各選択肢の解説

  • ア:プロセッサ数 NN が一定の場合、性能向上比 SS は並列化可能部の割合 PP を変数とする分数関数となり、単純に比例するわけではありません。
  • イ:プロセッサ数を増やした場合、性能向上比 SS は並列化可能部の割合 PP に伴って増加しますが、反比例するわけではありません。
  • ウ:正解。上述のとおり、P=0.5P=0.5 の場合、最大の性能向上比は 22 となります。
  • エ:並列化可能部の割合 PP が 0.90.9 の場合、最大性能向上比は 11−0.9=10\frac{1}{1 - 0.9} = 10 となります。例えばプロセッサ数 NN が 100100 の場合、性能向上比は最大でも 1010 に留まり、プロセッサ数の半分(5050)以上にはならないため誤りです。

Spineチーム