- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《计算机系统结构》大作业
《计算机系统结构》大作业
介绍并行算法与并行程序设计
及它们的不足及发展趋势
专 业 计算机科学与技术(软件工程)
指导教师
班 级 计Y09
学 号 2009004003
姓 名
日 期 2012年 4月17日
计算机学院
摘要关键词:使用多计算机进行并行程序设计,它们之间的通信是通过发送消息来完成的,消息传递并行程序设计。并行程序设计使用多计算机或多个内部处理器的计算机来求解问题,它比使用单台计算机的计算速度要快得多。也为求解更大规模的问题提供了机会,问题需要更多的计算步或更大存储容量需求,能满足要求因为多计算机和多处理机系统通常比单计算机有更大的总存储容量。“廉价”计算资源取代大型计算机,同时克服单个计算机上存在的存储器限制。传统地,串行计算是指在单个计算机(具有单个中央处理单元)上执行软件写操作。CPU 逐个使用一系列指令解决问题,但其中只有一种指令可提供随时并及时的使用。并行计算是在串行计算的基础上演变而来,它努力仿真自然世界中的事务状态:一个序列中众多同时发生的、复杂且相关的事件。
简单的说,算法就是求解问题的方法和步骤。并行算法,就是在并行机上用很多个处理器联合求解问题的方法和步骤。实际上,在自然界中并行是客观存在的普遍现象,关键问题在于能不能很好的利用。由于人们的思维能力以及思考问题的方法对并行不太习惯,且并行算法理论不成熟,所以总是出现了需求再来研究算法,不具有导向性,同时实现并行算法的并行程序性能较差,往往满足不了人们的需求。并行算法的研究历史可简单归纳为:上世纪70到80年代,并行算法研究处于高潮;到上世纪90年代跌入低谷;目前,又处于研究的热点阶段。现在,人们已经可以自己搭建PC cluster,利用学习到的理论知识来解决实际问题,不再是纸上谈兵,这也为我们提供了新的机遇和挑战。并行算法就是用台处理机联合求解问题的方法和步骤,其执行过程是将给定的问题首先分解成若干个尽量相互独立的子问题,然后使用多台计算机同时求解它,从而最终求得原问题的解并行算法是并行计算中非常重要的问题。并法研究应该确立一个“理论-设计-实现-应用”的系统方法,形成一个完善的 “架构—算法—编程” 方法论,这样才能保证并行算法不断发展并变得更加实用。简单的说,算法就是求解问题的方法和步骤。并行算法,就是在并行机上用很多个处理器联合求解问题的方法和步骤。① 将工作分离成离散部分,有助于同时解决;
② 随时并及时地执行多个程序指令;
③ 多计算资源下解决问题的耗时要少于单个计算资源下的耗时。
并行计算是相对于串行计算来说的,所谓并行计算分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。
(2)列举并行算法的三个基本类型
① SIMD-SM上的非线性方程求根同步并行算法:这种计算问题无法在串行机器上很快地得出结果,我们只有把这种计算问题应用在并行计算机上才有可能在较短的时间内获得满足实际应用的需要。
② 2.4 SIMD-SM上的同步并行求和算法:共享存储器的的容量是有限的,如果在同一时刻,多个处理器一起访问同一处理单元时就会发生冲突,所以共享存储模型根据解决冲突的能力还可以分为3类,其中的一类EREW(Exclusive-Read Exclusive-Write)计算模型是不允许有两个处理器同时读或写一个共享单。
③ SIMD-CC超立方机器上的同步并行求和算法:假设在n-维超立方模型上,n=2m,n个原始数据为X={x0,x1,…,xn-1},其中m为正整数,每个处理器Pi都可以存储局部变量ai,下面在此模型上构造一个并行求和算法,使得算法结束时a0就是总和,对超立方体节点用二进制进行编号,要求每相邻的结点之间只有且仅有一位不同。然后将这些结点分为两类,一类是最高位的编号为0,则另一类是最高位的编号为1,然后可以利用超立方模型中结点相邻关系可建立二类处理器集合中元素的一一对应关系,然后可以根据这种对应关系构造并行算法。算法的思想是:A.对于n个处理器,首先将最最高位编号为1的处理器的数据传送至最高位编号为0的处理器并进行局部求和;B.接着在n/2个处理器上,将次高位编号为1的处理器上的
文档评论(0)