マルチプロセッサシステムにおける並列処理の高速化率は、アムダールの法則を用いて計算します。
高速化率 E は、プロセッサ台数を n、並列化可能な部分の割合を r としたとき、以下の式で表されます。
E=(1−r)+nr1
この式を用いて、r=0.9 および r=0.3 の場合の高速化率をそれぞれ求めます。
- r=0.9 の場合
E0.9=(1−0.9)+n0.91=0.1+n0.91=n+910n
- r=0.3 の場合
E0.3=(1−0.3)+n0.31=0.7+n0.31=7n+310n
問題の条件より、「r=0.9 の高速化率が r=0.3 のものの3倍」であるため、以下の等式が成り立ちます。
n+910n=3×7n+310n
プロセッサ台数 n≧1 より 10n=0 なので、両辺を 10n で割って整理します。
n+91=7n+33
7n+3=3(n+9)
7n+3=3n+27
4n=24
n=6
よって、プロセッサの台数は 6台 となります。
各選択肢の解説
ア (3): n=3 のとき、E0.9=1230=2.5、E0.3=2430=1.25 となり、2倍となるため誤りです。
イ (4): n=4 のとき、E0.9=1340≈3.07、E0.3=3140≈1.29 となり、約2.38倍となるため誤りです。
ウ (5): n=5 のとき、E0.9=1450≈3.57、E0.3=3850≈1.31 となり、約2.71倍となるため誤りです。
エ (6): n=6 のとき、E0.9=1560=4、E0.3=4560=34 となり、ちょうど3倍となるため 正解 です。