并行程序答案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
并行程序答案.doc

第二讲: 问题(1) 将数组A均匀划分成m各片段,每个数组片段最多有「(n+ni-l)/ni =个元素。 每个数组片段分别由一个处理器负责局部求和,所得之和存储在该片段的第一个 元素上,共需要[(n+m-l)/m]-l个CYCLE 按照二叉树规约的方式,对齐个处理器局部求和的结杲进行求和。该二叉数的深 度为log (m),即共需要log (m)个CYCLE 因此,总共需要[(n+m-1) /m]-1+log (m)个CYCLE, n个存储单元 问题(2) BSP模型假定并行计算机采用分布存储结构:各个处理器有口己的局部存储空间、 月?只能访问t己的局部存储空间。 假设在开始计算之前,数组A被均匀划分成ni各片段,每个数组片段最多有 [(n+m-l)/m]个元素,分别存储在一个处理 器的局部存储空间。 BSP上的并行求和算法:共需要log(m)+l个Superstepo在第一个Superstep 上,各个处理器分别对自己本地存储的数 组片段进行局部求和,所得之和存储在该片段的第一个元素上。按照二叉树规约 的方式,对各个处理器局部求和的 结果进行求和。二叉树上每一层的规约运算,分别用需要一个Superstep,其中 的每个求和分别由一个处理器负责。 该二叉数的深度为log (m),总共需要log (m)个Superstepo 第一个Superstep的吋间:在每个处理器上, 最多需要执行[(n+m-l)/m]-1或者个加法运算 从相邻处理器获取对方所求只和,为第二个Superstep做准备 与其它处理器同步 笫二个、及以后各Superstep的时间:在每个处理器上, 最多需要执行1个加法运算 从相邻处理器获取对方所求之和,为下一个Superstep做准备 与其它处理器同步 因此,总的时间开销为:([(n+m-l)/m]-l)*Tl+T2+T3+(Tl+T2+T3)*log(m)。总的 存储开销为n,以存储A的元素 作业四: 问题(1) 有一部分计算,只能串行做; 并行的计算任务,也不能完全均衡的分配给各个处理器/执行内核 并行程序执行的计算总量一般超过串行程序。如: 各处理器为确定门己计算任务需耍的计算 pthread并行程序屮创建线程、互斥锁的管理和操作 一些操作需要在多个处理器/执行内核上重复执行 问题⑵ 假设总的计算量为W,在M个处理器上并行执行时, 每个处理器/执行内核承担的并行计算量为0. 85W/M 每个处理器/执行内核上,为执行所承担的并行计算任务,需要执行的额外计算 量为 0. 001*0. 85W/M 需要串行执行的计算量为0. 15W 因实现并行计算而引发的新增串行计算量为0. 015W 在M个处理器上,可得到的最大加速比为:W/ (0. 85W/M + 0. 001*0. 85W/M + 0. 15W + 0. 015W)二 M/(0. 85085+0. 165M) 为了使得并行计算效率至少为70%, (M/(0. 85085+0. 165M))/M70%,因此,M=3 问题⑶ 并行程序并吊行程序运行更慢 并行程序屮,对粒子对之间作用力的计算进行了并行化,划分到各个处理器上。 但是,每执行一个粒子对的计算后 都要执行一次互斥锁的加锁和开锁操作。这种互斥锁操作的开销超过了粒子对作 用力本身的计算开销。随这参加的 线程数量越大,参与互斥锁竞争的线程越多,引起一次互斥锁操作的开销也增加 作业五: 问题⑵ 并行算法 步骤0:将N个元索均匀划分成P份,每个处理器分别采用快速排序算法,对其 中一份进行排序 步骤1:将1+1号处理器上的排序结果发送给第1号处理器,在第I号处理器上 采用归并排序,合并排序结果(1=0. 2 P/2) 步骤2:将1+4号处理器上的排序结果发送给第I号处理器,在第I号处理器上 采用归并排序,合并排序结果仃二0、4 P/4) 步骤Log (P):将P/2号处理器上的排序结果发送给第0号处理器,在第0号处 理器上采用归并排序,合并排序结果 加速比计算 步骤0的运算时间:0(N/P*log(N/P)) 步骤1的运算时间:0(N/P) 步骤2的运算时间:0(2*N/P) 步骤Log(P)的运算时间:0(N/2) 并行算法的时间 0 (N/P*log (N/P))+0 (N/P)+0(2*N/P)+??? +0(N/2)0(N/P*log(N/P)) +0(N/P) *log (P) 串行算法的时间0(N*log(N)) 加速比〈0 (N*log (N))/(0 (N/P*log (N/P)) +0 (N/P) *log (P)) 作业六 问题⑵ 并行算法 步骤0:将N个元素均匀划分成P份,每个处理器分别采用快速排序算法,对其 中一份进行排序 步骤1:将1+1号处理器上的排序结果发送给第I号处理器,在第T

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档