并行算法的设计与实现.docxVIP

  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文档。上传文档
查看更多
并行算法的设计与实现 随着计算机硬件和通信技术的快速发展,市场上随处可见双cpu或四路cpu的高端计算机。越来越多的大学和研究所的研究人员在他们的实验室里建造了所谓的“pc集群”,并使用了更多的计算机。于是, 曾经深锁高墙大院、为少数专家使用的并行计算机开始走向“寻常百姓家”了。面对这种情况, 已经习惯了单机方式的广大用户, 如何才能利用并行计算机来求解问题呢?在此, 我简单地和大家谈谈并行算法的问题。 并行算法的三层次研究 并行算法就是同时并行地求解问题的方法和步骤, 也可以说是在并行计算机上求解问题的方法和步骤。显然, 使用并行算法求解一个给定的应用问题时, 首先要将原来的问题分解成一些尽量互不相关的子问题;然后将这些子问题分配到多台CPU上同时并发地执行, 最终完成原问题的求解。 像这样一个问题求解的过程, 实际上就是一个并行算法的设计、分析和实现的过程。可以想像, 这不是一个简单的过程:要将一个问题分解成一些互相独立的子问题已并非易事;怎样将各个子问题合理地分配给各台处理机也很棘手;在各个子问题求解过程中, 怎样让各个处理机多干“实事”而不要相互“扯皮” (即通信) , 同时又不要出现各处理机“忙得忙、闲得闲”的局面则更是令人头痛。所以, 很多计算机用户对并行算法畏惧三分, 不是没有道理的。 从学科上讲, 并行算法的研究可分为三个层次, 即并行算法理论、并行算法的设计与分析和并行算法的实现 (即并行程序设计) 。可见, 并行算法的研究涉及面较广, 一个熟练的并行算法工作者, 既要有比较扎实的计算机科学理论基础, 又要熟悉并行算法的运行平台 (即并行计算机系统) 和它的软件支撑环境 (即并行程序设计) , 同时为了使并行算法学以致用, 还需对具体的应用领域有所了解。 现代并行算法主要来源于技术的发展 有一位外国学者曾讲过一个笑话, 他说人生有三件事, 谁都不喜欢它, 可谁也都摆脱不了它:第一件事是死亡, 谁都不想死, 但谁都要死;第二件事是交税, 谁都不乐意交税, 但谁都要交税;第三件事是并行, 谁都不喜欢并行, 但谁也绕不开并行。 当然, 这位学者对于并行的说法有点言过其实, 但也反映了在当代社会里并行现象的普遍性。实际上, 在日常生活中, 你可能随时随地、自觉或不自觉地在运用并行技术。你一边听音乐、一边写文章;一边用餐、一边谈工作。其实, 试问一下, 你为什么要买一台双CPU甚至4路CPU的微机呢?至少不完全是为了备份吧。你可能试图将多个CPU联合起来加快你的计算, 这实际上离并行计算就不远了。 那么, 我们为什么需要并行算法呢?最简单的道理就是现有的串行算法 (即在单机上运行的算法) 满足不了求解实际问题的要求。这些要求或许是要算得快, 或许是要算得准, 也或许是要时效性强。例如数值气象预报, 照例都要使用并行算法运行在高性能的并行计算机上, 否则过长的计算时间, 就使得气象预报失去了意义。 并行计算机模拟与并行算法 并行算法最主要的特点之一就是它与并行计算机密切有关, 所以学习并行算法首先要对并行计算机的体系结构有比较充分的了解。因为各种高效的并行算法都是针对不同的并行计算机系统设计的, 而通常的串行算法则是在统一的冯·诺依曼模型上设计的。 其次, 因为任何并行算法最终都要使用某种并行程序设计语言运行在具体的并行计算机上, 所以学习并行算法也要熟悉并行编程语言、环境和工具等, 这样才能使你设计的并行算法易于通过并行编程具体实现。 最后, 因为学习并行算法不只是为了学术研究, 更重要的是用于求解实际问题, 所以学习并行算法要理论联系实际, 与具体的应用密切结合, 为此, 你需要有尽量多而宽广的应用领域知识。 我国并行算法的研究, 早期由于受硬件条件的限制, 开展得不够广泛。目前, 由于PC机群的普及, 为并行算法的研究和推广应用开辟了新的天地, 可能有更多的单位和个人参与到并行算法的研究和应用中来。我们希望能借此机会, 使我国的并行算法事业产生一个新的飞跃。

文档评论(0)

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

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

1亿VIP精品文档

相关文档