首页 > 试题广场 > 以下 FORTRAN 程序在计算机上执行
[问答题]
以下 FORTRAN 程序在计算机上执行,其并行版本在一个有 32 台计算机的集群上运行。
LI:    DO 10 I==1,1024
LZ:    SUM(I)==0
L3:    DO 20 J==1,I
L4:20   SUM(I)=SUM(l)+I
LS:10   CONTINUE
假设第 2 行和第 4 行都占用两个机器周期时间,包括所有处理器和内存访问活动。忽略软件循环控制语句(第1、3、5行)的开销和所有其他的系统开销与资源冲突。
a.在一台计算机上程序的总执行时间(以机器周期时间计)是多少?
b.把 I 循环按如下方法分给 32 台计算机:计算机 I 执行前 32 个循环( I=1~32),处理器 2 执行接下来的 32 个循环,以此类推。执行时间是多少?与 a 选项相比,加速因子是多少?(注意,J 循环的计算工作量在各台计算机上是不均衡的。)
c.说明如何修改并行化以便使所有计算工作量在 32 台计算机上均衡地并行执行。平衡负载是指两个循环分配给每台计算机的加法数量相等。
d.在 32 台计算机上并行执行的最少执行时间是多少?与单独一台计算机相比,加速因子是多少?

这道题你会答吗?花几分钟告诉大家答案吧!