网站大量收购独家精品文档,联系QQ:2885784924

换一个角度思考-并行计算.docVIP

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

换一个角度思考:并行计算 一、前言 工作中,我们总是希望我们自己工作得更有效率,用更少的时间解决更多的问题。在计算机里,这就是并行计算的基本初衷。全世界第一台计算机ENIAC中就已经出现了并行计算的概念。它有20个累加器,可以并发执行多个加减运算,可谓开并行计算的先河。在随后的上世纪五六十年代,由于晶体管和集成电器的发明,出现了了更多更快的计算机。IBM是这一时期的主角,同期计算机编程语言的出现,由软件完成处理并行计算的思想进一步深化。但这一时期的计算还是大型机时代,没有几个平民能用得起这些昂贵的大家伙。计算机和软件技术还锁在研究院和大学校园里。 七十年代,随着微电子技术的发展,出现了微型处理器(CPU)。接着,1974年,全世界第一台个人电脑:牛郎星顺利出炉。紧随其后,看到市场前景的苹果和IBM推波助澜,计算机开始进入个人时代。个人计算机同时又催生了软件业的高速发展,软件又带动CPU不断升级换代。这为并行计算摆脱高端路线,进入平民化时代打下了基础。 庞大的ENIAC,运算速度只相当于现在的一只计算器。 全世界第一款微型处理器:Intel 4004,4位字长,2300个晶体管 全世界第一台个人计算机(PC):牛郎星。使用Intel8080处理器,配4K内存。 二、为什么需要并行计算? 在个人计算机诞生后的几十年里,程序员们编写了大量的应用软件,这些软件决大部分了采用串行计算方法。所谓串行,是指软件在PC上执行,在进入CPU前被分解为一个个指令,指令在CPU中一条条顺序执行。任一时间内,CPU只能够运行一条指令。这种方式很符合我们对现实世界的思考习惯。至于软件的运行速度,则依赖硬件的处理能力,尤其CPU的处理速度。这种思维方式到了2005年遇到了挑战。在那一年,受限于制造CPU的半导体材料限制,左右CPU发展的摩尔定律开始失效了。但芯片业很快找到了一个变通的办法:在一块芯片中植入多个处理核心,通过多核的共同运算,提高运行速度。不幸的是,采用串行方法编写的软件面临着一个尷尬的局面:如果仍采用串行编程方式,运行速度将停滞不前。这样,原来需要CPU完成的提速工作,被迫需要软件自已来完成。 在另一个领域:互联网,由于网络数据极速膨胀,数据量已经远远超过一台或者几台大型计算机的处理能力,需要更大数量的计算机协同完成。面对这些问题,主要的解决方案就是:并行计算。 串行计算示例 全球第一款双核处理器:IBM Power4(64位,2001年诞生),主要用于IBM服务器和苹果的Macintosh上。当年的Mac机由于运算速度太快了,被禁止销往中国、朝鲜等“敌对国家”。 AMD第一款双核处理器:Opteron(皓龙 AMD第一款针对桌面的双核处理器:Athlon(速龙)。同样是64位,只比服务器版本晚1个月面市。 Intel是顶极芯片制造商中最晚推出的双核处理器:Intel PentiumD,2005年5月26日发布。 三、并行计算介绍 核心提示:程序=数据+算法,并行计算程序=线程+分片+算法。 3.1 概述 并行计算目前还是一门发展中的学科。并行计算是相对串行计算而言的,并行计算可以分为时间上的并行计算和空间上的并行计算。 时间上的并行计算就是流水线技术,即采用指令预取技术,将每个指令分成多步,各步间叠加操作,当前指令完成前,后一指令准备就绪,缩小指令执行的时钟周期。典型的以时间换空间。流水线技术由处理器(CPU)提供,不属于我们讨论的范畴。 空间上的并行计算是指由多个处理单元(不仅是CPU)执行的计算,是以空间换时间。空间上的并行计算分为两类:单指令多数据流(SIMD)和多指令多数据流(MIMD)。 SIMD是流水技术的扩展,可以在一个时钟周期处理多个指令,我们目前使用的PC大多属于此列,例如AMD 3DNOW 和Intel MMX。因为是硬件提供的技术,也不属于我们讨论的内容。 MIMD大致又分为五类:工作站集群(COW)、对称多处理机(SMP)、大规模并行处理机(MPP)、分布共享存储处理机(DSM)、并行向量机(PVP)。 是我们讨论的重点。 在这一章节,我们将从程序员和算法的角度,着重讨论空间上的并行计算。空间并行计算技术包括数据并行计算和任务并行计算。数据并行计算是指将一个大的数据分解为多个小的数据,分散到多个处理单元执行。任务并行是将大的任务分解为小的任务,分散到多个处理单元执行,任务并行同时还要避免任务重复执行,协调数据的上下文关系,避免冲突发生。任务并行计算与实际应用需求紧密相关。所以,任务并行计算要比数据并行计算复杂得多。并行计算与串行计算的最大不同在于,并行计算不仅要考虑计算本身,还要考虑并行处理模型、网络通信、计算协作诸多问题。 3.2 主要的并行计算体系类型 3.2.1 工作站集群(COW Clust

文档评论(0)

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

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

1亿VIP精品文档

相关文档