题目内容

在研究并行计算的基本算法时,有以下简单模型问题:用计算机求n个不同的数v1v2vn的和=v1v2v3vn.计算开始前,n个数存贮在n台由网络连接的计算机中,每台机器存一个数.计算开始后,在一个单位时间内,每台机器至多到一台其他机器中读数据,并与自己原有数据相加得到新的数据,各台机器可同时完成上述工作.

为了用尽可能少的单位时间,使各台机器都得到这n个数的和,需要设计一种读和加的方法.比如n=2时,一个单位时间即可完成计算,方法可用下表表示:

第一单位时间

第二单位时间

第三单位时间

被读机号

结果

被读机号

结果

被读机号

结果

1

v1

2

v1+v2

 

 

 

 

v1+v2

v2

1

v2+v1

 

 

 

 

)当n=4时,至少需要多少个单位时间可完成计算?

把你设计的方法填入下表

机器号

初始时

第一单位时间

第二单位时间

第三单位时间

被读机号

结果

被读机号

结果

被读机号

结果

1

v1

 

 

 

 

 

 

2

v2

 

 

 

 

 

 

3

v3

 

 

 

 

 

 

4

v4

 

 

 

 

 

 

)当n=128时,要使所有机器都得到,至少需要多少个单位时间可完成计算?(结论不要求证明)

 

答案:
解析:

解:(Ⅰ)当n=4时,只用2个单位时间即可完成计算.

方法之一如下:

(Ⅱ)当n=128=27时,至少需要7个单位时间才能完成计算.

 


练习册系列答案
相关题目

违法和不良信息举报电话:027-86699610 举报邮箱:58377363@163.com

精英家教网