応用情報技術者試験 令和7年春 午前問11 解説付き過去問
問題
マルチプロセッサによる並列処理で得られる高速化率(単一プロセッサのときと比べた倍率)Eを、次の式によって評価する。
r=0.9のアプリケーションの高速化率がr=0.3のものの3倍となるのは、プロセッサが何台のときか。
E=11-r+rn
ここで、
n:プロセッサの台数(1≦n)
r:対象とする処理のうち、並列化が可能な部分の割合(0≦r≦1)
とし、並列化に伴うオーバーヘッドは考慮しないものとする。
E=11-r+rn
ここで、
n:プロセッサの台数(1≦n)
r:対象とする処理のうち、並列化が可能な部分の割合(0≦r≦1)
とし、並列化に伴うオーバーヘッドは考慮しないものとする。
正解
解説
この問題は、マルチプロセッサを使用した際の高速化率Eを求めるための式と、その式を使って特定の条件下でのプロセッサ数を求める問題です。具体的には、あるプロセッサ数nでr=0.9の場合の高速化率が、r=0.3の場合の高速化率の3倍になる点を見つけることが目標です。
- 高速化率Eの計算
高速化率Eは、11-r+rnで表されます。ここで、nはプロセッサの台数、rは並列化可能な処理の割合を表します。この式は、Amdahlの法則を基にしており、プロセッサ数が増えるにつれて、並列化できる部分がどれだけ効率的に処理されるかを示しています。 - r=0.9とr=0.3の場合の比較
問題文によれば、r=0.9の場合の高速化率がr=0.3の場合の3倍となるプロセッサ数nを求めます。まず、r=0.9とr=0.3で式を立てると、それぞれのEは以下のようになります:
E0.9 = 11-0.9+0.9n
E0.3 = 11-0.3+0.3n
この二つの式に基づき、E0.9 = 3 * E0.3 となるnを解くと、nが6の時に条件を満たします。
したがって、プロセッサが6台のときに、r=0.9のアプリケーションの高速化率がr=0.3のものの3倍となります。この問題では、Amdahlの法則と並列処理の前提を理解し、適切な計算を行うことが重要です。