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