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

【問題】

マルチプロセッサによる並列処理において、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倍とはならず、不適切となる。

この問題はアとウで悩むものの、ウが数値が一致する正解であるから、消去法でウとなる。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする