エンベデッドシステムスペシャリスト 2022年 午前2 問07
問題文
マルチプロセッサによる並列処理において、1プロセッサのときに対する性能向上比はアムダールの法則で説明することができる。性能向上比に関する記述のうち、適切なものはどれか。
〔アムダールの法則〕
性能向上比
選択肢
ア:プロセッサ数が一定の場合、性能向上比は並列化可能部の割合に比例する。
イ:プロセッサ数を増やした場合、性能向上比は並列化可能部の割合に反比例する。
ウ:並列化可能部の割合が0.5の場合は、プロセッサ数をいくら増やしても性能向上比が2を超えることはない。(正解)
エ:並列化可能部の割合が最低0.9以上であれば、性能向上比はプロセッサ数の半分以上の値となる。
🔒 解説は解答すると表示されます
アムダールの法則【午前2解説】
正解の理由
アムダールの法則では、処理全体のうち並列化できない部分は、プロセッサ数を増やしても高速化されません。
並列化可能部の割合を 、プロセッサ数を とすると、性能向上比は次の式で表されます。
並列化可能部の割合が の場合、プロセッサ数を限りなく増やすと、式の分母は に近づきます。したがって、性能向上比は に近づきますが、有限のプロセッサ数では を超えません。この性質を述べたウが正解です。
解法ステップ
- 並列化可能部の割合を 、プロセッサ数を として公式に当てはめます。
- 選択肢に割合やプロセッサ数の条件があれば、公式に代入するか、極限を考えます。
- では、 を大きくすると性能向上比は に近づくと判断します。
- そのため、性能向上比が を超えないとするウが適切です。
選択肢別の誤答解説
- ア:プロセッサ数が一定でも、性能向上比は並列化可能部の割合に比例しません。たとえば の場合、 となり、 に対して直線的には変化しません。
- イ:プロセッサ数を増やすと、並列化可能部の割合が大きいほど性能向上比は大きくなります。反比例ではありません。
- ウ: では、並列化できない部分が全体の半分残ります。プロセッサ数を増やしてもこの部分は短縮できないため、性能向上比の上限は です。
- エ:並列化可能部が 以上でも、性能向上比が常にプロセッサ数の半分以上になるとは限りません。たとえば 、 なら、性能向上比は であり、プロセッサ数の半分である を下回ります。
よくある誤解
- プロセッサ数を増やせば、性能向上比も際限なく大きくなる
並列化できない部分が残るため、性能向上比には上限があります。 - 並列化可能部の割合が なら、性能向上比は常にちょうど になる
はプロセッサ数を限りなく増やしたときの上限です。有限のプロセッサ数では 未満です。 - 並列化可能部が大きければ、プロセッサ数に比例して性能が上がる
並列化できない部分の影響が残るため、プロセッサ数に比例した向上にはなりません。
補足コラム
アムダールの法則は、並列化できない処理が性能向上の「足かせ」になることを示します。たとえば、全体の が並列化できない場合、プロセッサ数を無限に増やしても性能向上比の上限は です。高速化を考える際は、プロセッサを増やすだけでなく、並列化できない処理を減らすことも重要です。
FAQ
Q. プロセッサ数を無限に増やすと、性能向上比はどうなりますか?
A. 並列化可能部はほぼ待ち時間なしで処理できると考えられますが、並列化できない部分は残ります。そのため、性能向上比の上限は です。
A. 並列化可能部はほぼ待ち時間なしで処理できると考えられますが、並列化できない部分は残ります。そのため、性能向上比の上限は です。
Q. 並列化可能部が なら、性能向上比に上限はありませんか?
A. 理想的な公式上では、 のとき性能向上比はプロセッサ数 になります。ただし、実際のシステムでは通信や処理の分担に伴うオーバーヘッドなども考慮する必要があります。
A. 理想的な公式上では、 のとき性能向上比はプロセッサ数 になります。ただし、実際のシステムでは通信や処理の分担に伴うオーバーヘッドなども考慮する必要があります。
関連キーワード: アムダールの法則、並列処理、性能向上比、並列化可能部、プロセッサ数

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

