【問題】
マルチプロセッサによる並列処理において、1プロセッサのときに対する性能向上比はアムダールの法則で説明することができる。性能向上比に関する記述のうち、適切なものはどれか。
〔アムダールの法則〕
性能向上比 = 1/((1-並列化可能部の割合)+並列化可能部の割合/プロセッサ数)
ア.プロセッサ数が一定の場合、性能向上比は並列化可能部の割合に比例する。
イ.プロセッサ数を増やした場合、性能向上比は並列化可能部の割合に反比例する。
ウ.並列化可能部の割合が0.5の場合は、プロセッサ数をいくら増やしても性能向上比が2を超えることはない。
エ.並列化可能部の割合が最低0.9以上であれば、性能向上比はプロセッサ数の半分以上の値となる。
【解答】
項目アについて検討する。
プロセッサ数を2と仮定すると、性能向上比=1/((1-並列化可能部の割合)+並列化可能部の割合)となる。
並列化可能部を0.1とすると、1/(0.9+0.1/2)=1/0.95=1.05となり、
並列化可能部を0.2とすると、1/(0.8+0.2/2)=1/0.9=1.1…となる。
並列化可能部を0.4とすると、1/(0.6+0.4/2)=1/0.8=1.125…となる。
よって、比例するとまでは言えない。ただし、他の項目が明確に間違いである場合は正答になる可能性もある。
項目イについて検討する。
プロセッサ数を増やした場合、並列化可能部/プロセッサ数は0に近づくことになるから、性能向上比=1/(1-並列化可能部の割合)となる。
並列化可能部を0.2とすると、1/0.8=1.125となり、
並列化可能部を0.4とすると、1/0.6=1.666…となる。
とすると、反比例するのではなく、増加する、または比例することになるから、項目イは不適切となる。
項目ウについて検討する。
並列化可能部が0.5の場合、1-並列化可能部が0.5になるから、性能向上比=1/(0.5+並列化可能部/プロセッサ数)となる。そして、プロセッサ数を無限大とすると、1/0.5となるから、2が最大値となり、正答となる。
よって、ウが解答となる。
念のため、項目エも検討する。
並列化可能部の割合を0.9とすると、1/(0.1+0.9/n)となり、n=10000の場合、1/(0.1+0.00009)≒10倍となるから、性能向上比はプロセッサ数の半分=5000倍とはならず、不適切となる。
この問題はアとウで悩むものの、ウが数値が一致する正解であるから、消去法でウとなる。