- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第章并行算法有一个钟表的人知道时间;有两个钟表的人无所适从.doc
第12章 并行算法有一个钟表的人知道时间;有两个钟表的人无所适从。佚名 首先,必须注意,尽管共和国可能很小,但为了防止少数人的阴谋,议员必须有一定的数量;另外,尽管共和国可能很大,但为了防止民众混乱,议员人数也必须限定为某一数额。詹姆士?麦迪逊, 178712.1 引言近10年来,并行计算已经从计算机科学的边缘成为计算机科学的主流,和计算机科学的其他领域相比,它的发展是及其迅速的。目前有多种形式的并行计算机,包括的处理器数也从2到65,536不等。现存的各种并行计算机的差异,就算对没有用过的人来说,也是巨大的。我们再不能假定有一个“通用”的计算模型并希望其适合于所有的并行计算机。并行算法的设计、分析和正确性证明比相应的串行算法来说要困难得多。不能期望短短的一章能覆盖并行计算的所有或大多数领域,这里只是给出使用不同计算模型和不同技术的例子,并尝试展示并行算法的风格并探究并行算法设计的困难。本章以并行计算共同特性的介绍开始,接着是本章所使用的主要并行计算模型的简单描述,最后是算法和技术的例子。衡量串行算法复杂度的主要标准是运行时间和占用的空间,这些度量对于并行计算也同样重要,但我们还必须顾及其他的资源开销。一种重要的资源是处理器数,有些问题是固有串行的,它们不能被“并行”化,因此就算有任意多的处理器也无济于事。然而,大多数问题可以在某种程度上并行化,使用的处理器越多(在某个界限之内)算法越快。研究并行算法的界限,探讨可并行求解的问题的特性,是很重要的。然而,由于处理器数是有限的,如何有效地使用这些处理器也很重要。另一个重要的问题是处理器间的通信。通常,交换数据所花费的时间比对数据进行简单操作所花费的时间要长。进一步,一些处理器可能相隔相近,而另一些之间的距离则可能很远。因此,以有效的方式放置处理器以减少通信开销就很重要。还有一个重要的事情是同步,它对于那些运行在由某种通信网络连接在一起的计算机上的并行算法来说是主要的问题。这种形式的算法通常称为分布式算法。由于篇幅,本书不准备讨论分布式算法,而仅讨论那些假定完全同步的模型。一些并行计算模型要求所有的处理器每步执行完全相同的指令,遵循该限制的并行计算机称为SIMD(单指令流多数据流)机器。连接机(connection machine)就是这类机器的一个显著例子。如果并行计算机内不同的处理器可以执行不同的程序,该并行计算机就被称为MIMD(多指令流多数据流)机器。除非特别指出,本书假定讨论的计算机是MIMD的。12.2 并行计算模型介绍所有的并行计算模型不是本书的主题,这里只涉及一些主流的和那些将在本章使用到的模型。本节包括一些适用于大多数模型的概述性的讨论和定义,后续每节都将考察一种模型,包括其详细描述和算法例子。我们将算法的运行时间记为T(n,p),其中n是输入的大小,p是处理器的数目。比率S(p)= T(n,1)/ T(n,p)称为算法的加速比。使S(p)=p的并行算法是最有效的,因为在这种情况下,算法获得了完美的加速比。T(n,1)的值应取自众所周知的串行算法。处理器利用率的一个重要度量是并行算法的效率,定义为―――――――――――――――原书第376页公式―――――――――――――――效率是一个处理器(运行串行算法)所花费的时间与p个处理器所花费总的时间 的比率(总的时间是实际流逝时间乘以处理器的数目)。效率显示了与串行算法相比,未浪费的处理器时间的百分比。如果E(n,p)=1,则在算法执行过程中所有处理器完成的工作量的总和等于串行算法所需要的工作量,在这种情况下,算法取得了最优的处理器使用效率。获得最优效率的机会是很小的,在大多数情况下,并行算法会引入一些对串行算法来说是不需要的开销。我们的目标是使效率最大化。在设计并行算法时,可以将p固定为已有的处理器数,再尝试使T(n,p)最小,但若如此,当处理器的数目改变时,就必须设计新的算法。设计一个对不同的处理器数均能工作的算法是值得的。下面讨论如何将一个工作在某一个p值上的算法转换为工作在一个处理器数比p小的机器上而不损失效率的方法。一般来说,对任意常数k,我们可以将一个T(n,p)=X的算法修改为一个T(n,p/k)?kX的算法。换言之,我们可以使用原来k份之一的处理器工作k倍时间来完成同样的工作。算法修改的原理是通过一个处理器执行k步计算来仿真原来k个处理器完成的一步工作。但这个原理不能适用于所有的情况。例如,k可能不能整除p,算法可能依赖于处理器的互连模式(在12.4讨论),另外决定那些处理器进行仿真也将耗费一定的时间。然而,该并行折叠原理(parallelism folding principle)不仅普遍而且有用,它表明我们可以在不影响效率的情况下减少处理器的数目。例如,如果原来的对于一个较大的p所设计的程序有很好
您可能关注的文档
- 2016新编多媒体电子教室使用手册.doc
- 生物材料聚羟基脂肪酸酯PHB和聚乳酸PLA的改性研究.docx
- 用EXCEL制作工资条.doc
- 江苏省2014届一轮复习数学试题选编14:等差与等比数列综合(教师版).doc
- 常州御源林城项目四期整合营销报告(致观咨询).doc
- 高校学生生活方式中微信的影响探究.doc
- 一种纱网中卷式无轨门解读.doc
- 2011年暑期教育硕士政治理论之法治理论法律职业(外国司法制度翻译).doc
- 安全管理协议模板 投稿:钱噌噍.doc
- 2016-2017年山东省济南市二十七中九年级数学《1.2 30°,45°,60°角的三角函数值》学案(无答案) 北师大版(总结).doc
最近下载
- 新版(高级)汽车驾驶员考试题库大全(含答案).docx
- 长沙会战幻灯片.ppt VIP
- 7.《短歌行》《归园田居(其一)》联读课件 统编版高中语文必修上册.pptx VIP
- TB 10753-2018 高速铁路隧道工程施工质量验收标准.pdf VIP
- 压型彩钢屋面板施工方案方案.pdf VIP
- 情境教学法在小学英语课堂教学中的运用.pptx VIP
- 全国生态状况调查评估技术规范——生态系统服务功能评估(HJ 1173—2021).pdf VIP
- 北师大版四年数学上册六除法《路程、时间与速度》课件.pptx VIP
- 2025年一季度专题党课讲稿讲稿:提升党性修养践行使命担当.pptx VIP
- 频率选择表面赋能多功能隐身雷达天线罩:理论、设计与应用探索.docx
文档评论(0)