応用情報技術者

【応用情報 平成20年春期 午前問32】マルチプロセッサの性能に関する問題

1台のCPUの性能を1とするとき,そのCPUをn台用いたマルチプロセッサの性能Pが,

$$P=\frac{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}
= n/(0.9+0.1n)
= 10n/(9+n)
= 10/{(1/n)+1}

問題文には「nを幾ら大きくしてもある値以上には大きくならない」とあるので、n=∞とすると、1/n≒0であるから、

$$ \lim_{n \to ∞}P =10 $$

となる。したがって正解はイの10である。

 

今回の問題のように、プロセッサ数を増やした際の性能アップに限界がある理由は、プロセッサ同士の同期や、メモリへのアクセス競争などの制約があり、うまく動かせる処理に限界が存在するからである。