并行算法的设计与分析1.pptxVIP

  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文档。上传文档
查看更多
并行算法的设计与分析 第3版 五.并行算法的可扩展性(可扩放性,Scalability) 2. 并行算法的可扩展性度量 并行算法的可扩展性是指度量并行系统、并行算法、并行程序能否有效利用不断增加的处理器的能力 增加处理器数目和扩大问题规模有可能提高加速比 影响加速的因素: 求解问题中串行执行部分比例 并行处理引起额外开销(通信、等待、竞争、同步、冗余操作) 增加的处理器数目超过了算法中的并发程度 增加问题规模有利于提高加速 较大的问题规模可提供较高的并发度 额外开销的增加可能慢于有效计算的增加 算法中串行执行部分的比例可能随着问题规模的增加而缩小 2. 并行算法的可扩展性度量 并行算法的等效率函数 令tc(i)和tO(i)分别为第i个处理器的有用计算时间和额外开销时间,Tc= tc(0) +tc(1)+…+ tc(p-1), TO= to(0) +to(1)+…+ to(p-1)。 令Tp为p个处理器运行并行算法所需的时间,则Tp = tc(i)+tO(i)并且pTp = Tc + TO 设问题规模W为最佳串行算法完成的工作量,则W = Tc Sp= Tc /Tp= Tc / ((Tc+To)/p)= p / (1+ To / Tc) = p / (1+ To / W) Ep= Sp /p=1/( 1+ To / Tc )=1/ (1+ To / W) 为了维持效率Ep不变,当p增大(TO增大)时,必须增加计算量W( Tc)。 等效率函数fE(p):问题规模W随处理器数目p变化的函数。 并行算法可扩展性判断标准 为了维持效率不变,当p增大时,若仅需增加较小的工作量(问题规模)W——W随p增大而线性/亚线性增长,则称并行算法具有良好的可扩展性;否则,称为不可扩放的。 1.5 并行算法的同步与通信 一、并行算法的同步 同步是在时间上强使各执行进程在某一点必须互相等待,确保各进程的正常顺序和对共享可写数据的正确访问。 可用软件、硬件和固件的办法来实现同步: SIMD-SM(PRAM)/SIMD-IN上并行算法由硬件实现同步。 MIMD-SM (APRAM) 上并行算法由软件(算法)实现同步:例如,使用lock和unlock等同步语句显式设置临界区实现多个并发进程(线程)对共享变量的互斥访问。算法复杂度包括进程生成时间、进程结束同步时间。 同步示例 MIMD-SM (APRAM)上的异步并行求和算法 输入:A=(a0,…,an-1), 处理器数p 输出:S=Σai Begin (1) S=0; //共享全局变量(和) (2.3) lock(S) // 同步 (2) for all Pi where 0≤i≤p-1 para-do S=S+L; (2.1) L=0 ; //局部变量(和) (2.4) unlock(S) (2.2) for j=i to n step p do end for L=L+aj ; End end for |--------------- 并发(并行)执行 ---------------- | P0 P1 …… P p-2 Pp-1 (主)进程0 进程1 …… 进程p-2 进程p-1 i=0 i=1 …… i= p-2 i= p-1 |

文档评论(0)

gcq的书屋 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档