• 在研究并行计算的基本算法时,有以下简单模型问题:用计算机求n个不同的数v1,v2,…,vn的和nΣi=1vi=v1+v2+v3+…+vn.计算开始前,n个数存贮在n台由网络连接的计算机中,每台机器存一个数,计算开始后,在一个单位时间内,每台机器至多到一台其他机器中读数据,并与自己原有数据相加得到新的数据,各台机器可同时完成上述工作.为了用尽可能少的单位时间,使各台机器都得到这n个数的和,需要设计一种读和加的方法.比如n=2时,一个单位时间即可完成计算,方法可用下表表示: 机器号 初始时 第一单位时间 第二单位时间 第三单位时间 被读机号 结 果 被读机号 结 果 被读机号 结 果 1 v1 2 v1+v2 2 v2 1 v2+v1 (Ⅰ)当n=4时,至少需要多少个单位时间可完成计算?把你设计的方法填入下表 机器号 初始时 第一单位时间 第二单位时间 第三单位时间 被读机号 结 果 被读机号 结 果 被读机号 结 果 1 v1 2 v2 3 v3 4 v4 (Ⅱ)当n=128时,要使所有机器都得到nΣi=1vi,至少需要多少个单位时间可完成计算?(结论不要求证明)试题及答案-解答题-云返教育

    • 试题详情

      在研究并行计算的基本算法时,有以下简单模型问题:
      用计算机求n个不同的数v
      1,v2,…,vn的和nΣi=1vi=v1+v2+v3+…+vn.计算开始前,n个数存贮在n台由网络连接的计算机中,每台机器存一个数,计算开始后,在一个单位时间内,每台机器至多到一台其他机器中读数据,并与自己原有数据相加得到新的数据,各台机器可同时完成上述工作.为了用尽可能少的单位时间,使各台机器都得到这n个数的和,需要设计一种读和加的方法.比如n=2时,一个单位时间即可完成计算,方法可用下表表示:
      机器号 初始时 第一单位时间 第二单位时间 第三单位时间
      被读机号 结 果 被读机号 结 果 被读机号 结 果
      1 v1 2 v1+v2
      2 v2 1 v2+v1
      (Ⅰ)当n=4时,至少需要多少个单位时间可完成计算?把你设计的方法填入下表
      机器号 初始时 第一单位时间 第二单位时间 第三单位时间
      被读机号 结 果 被读机号 结 果 被读机号 结 果
      1 v1
      2 v2
      3 v3
      4 v4
      (Ⅱ)当n=128时,要使所有机器都得到nΣi=1vi,至少需要多少个单位时间可完成计算?(结论不要求证明)

      试题解答


      见解析
      解:(Ⅰ)当n=4时,只用2个单位时间即可完成计算.方法之一如下:
      机器号 初始时 第一单位时间 第二单位时间 第三单位时间
      被读机号 结 果 被读机号 结 果 被读机号 结 果
      1 v1 2 v1+v2 3 v1+v2+v3+v4
      2 v2 1 v2+v1 4 v2+v1+v4+v3
      3 v3 4 v3+v4 1 v3+v4+v1+v2
      4 v4 3 v4+v3 2 v4+v3+v2+v1
      (Ⅱ)当n=128=27时,至少需要7个单位时间才能完成计算.
    MBTS ©2010-2016 edu.why8.cn