平成29年度 秋期 午前Ⅱ 問20
コンピュータ構成要素
アムダールに関する問題
マルチプロセッサによる並列処理で得られる高速化率(単一プロセッサのときと比べた倍率)Eを,次の式によって評価する。r=0.9のアプリケーションの高速化率がr=0.3のものの3倍となるのは,プロセッサが何台のときか。
E=1/(1−r+r/n)
ここで,
n:プロセッサの台数(1≦n)
r:対象とする処理のうち,並列化が可能な部分の割合(0≦r≦1)
とし,並列化に伴うオーバヘッドは考慮しないものとする。
- ア3
- イ4
- ウ5
- エ6
答えと解説を見る
✓ これが正解エ6
解説
逆数で比べると0.7+0.3/n=3(0.1+0.9/n)となり、n=6です。
高速化率の式 E=1/(1−r+r/n) にそれぞれの r を入れます。r=0.9 では E=1/(0.1+0.9/n)、r=0.3 では E=1/(0.7+0.3/n) です。前者が後者の3倍になる条件を分母どうしで書くと、0.7+0.3/n=3×(0.1+0.9/n) です。右辺は 0.3+2.7/n なので 0.4=2.4/n となり、n=6 台が得られます。n=6 を入れて確かめると、r=0.9 で E=1/0.25=4、r=0.3 で E=1/0.75≒1.33 で、ちょうど3倍です。この式はアムダールの法則の形で、並列化できない部分が多いほど台数を増やしても伸びにくくなります。見分けるときは、逆数どうしの比で式を立てると計算が楽になります。
ほかの選択肢はなぜ違うのか
- ア3:n=3 のときは、r=0.9 で E=1/(0.1+0.3)=2.5、r=0.3 で E=1/(0.7+0.1)=1.25 となり、比は 2 倍にとどまります。3倍にはならないので、条件を満たす台数ではありません。
- イ4:n=4 のときは、r=0.9 で E=1/0.325≒3.08、r=0.3 で E=1/0.775≒1.29 です。比はおよそ 2.4 倍で、3倍には届かないので、条件を満たす台数ではありません。
- ウ5:n=5 のときは、r=0.9 で E=1/0.28≒3.57、r=0.3 で E=1/0.76≒1.32 です。比はおよそ 2.7 倍で、まだ3倍に足りないので、条件を満たす台数ではありません。
出典:平成29年度 秋期 システムアーキテクト試験 午前Ⅱ 問20
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)