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

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

ID:16377361

大小:561.00 KB

页数:11页

时间:2018-08-09

换一个角度思考-并行计算_第1页
换一个角度思考-并行计算_第2页
换一个角度思考-并行计算_第3页
换一个角度思考-并行计算_第4页
换一个角度思考-并行计算_第5页
资源描述:

《换一个角度思考-并行计算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、换一个角度思考:并行计算一、前言工作中,我们总是希望我们自己工作得更有效率,用更少的时间解决更多的问题。在计算机里,这就是并行计算的基本初衷。全世界第一台计算机ENIAC中就已经出现了并行计算的概念。它有20个累加器,可以并发执行多个加减运算,可谓开并行计算的先河。在随后的上世纪五六十年代,由于晶体管和集成电器的发明,出现了了更多更快的计算机。IBM是这一时期的主角,同期计算机编程语言的出现,由软件完成处理并行计算的思想进一步深化。但这一时期的计算还是大型机时代,没有几个平民能用得起这些昂贵的大家伙。计算机和软件技术还锁在研究院和大学

2、校园里。七十年代,随着微电子技术的发展,出现了微型处理器(CPU)。接着,1974年,全世界第一台个人电脑:牛郎星顺利出炉。紧随其后,看到市场前景的苹果和IBM推波助澜,计算机开始进入个人时代。个人计算机同时又催生了软件业的高速发展,软件又带动CPU不断升级换代。这为并行计算摆脱高端路线,进入平民化时代打下了基础。庞大的ENIAC,运算速度只相当于现在的一只计算器。11全世界第一款微型处理器:Intel4004,4位字长,2300个晶体管全世界第一台个人计算机(PC):牛郎星。使用Intel8080处理器,配4K内存。二、为什么需要并

3、行计算?在个人计算机诞生后的几十年里,程序员们编写了大量的应用软件,这些软件决大部分了采用串行计算方法。所谓串行,是指软件在PC上执行,在进入CPU前被分解为一个个指令,指令在CPU中一条条顺序执行。任一时间内,CPU只能够运行一条指令。这种方式很符合我们对现实世界的思考习惯。至于软件的运行速度,则依赖硬件的处理能力,尤其CPU的处理速度。这种思维方式到了2005年遇到了挑战。在那一年,受限于制造CPU的半导体材料限制,左右CPU发展的摩尔定律开始失效了。但芯片业很快找到了一个变通的办法:在一块芯片中植入多个处理核心,通过多核的共同运

4、算,提高运行速度。不幸的是,采用串行方法编写的软件面临着一个尷尬的局面:如果仍采用串行编程方式,运行速度将停滞不前。这样,原来需要CPU完成的提速工作,被迫需要软件自已来完成。在另一个领域:互联网,由于网络数据极速膨胀,数据量已经远远超过一台或者几台大型计算机的处理能力,需要更大数量的计算机协同完成。面对这些问题,主要的解决方案就是:并行计算。11串行计算示例全球第一款双核处理器:IBMPower4(64位,2001年诞生),主要用于IBM服务器和苹果的Macintosh上。当年的Mac机由于运算速度太快了,被禁止销往中国、朝鲜等“敌

5、对国家”。11AMD第一款双核处理器:Opteron(皓龙)。用于服务器领域,64位,2005年4月22日发布。AMD第一款针对桌面的双核处理器:Athlon(速龙)。同样是64位,只比服务器版本晚1个月面市。Intel是顶极芯片制造商中最晚推出的双核处理器:IntelPentiumD,2005年5月26日发布。11三、并行计算介绍核心提示:程序=数据+算法,并行计算程序=线程+分片+算法。3.1概述并行计算目前还是一门发展中的学科。并行计算是相对串行计算而言的,并行计算可以分为时间上的并行计算和空间上的并行计算。时间上的并行计算就是

6、流水线技术,即采用指令预取技术,将每个指令分成多步,各步间叠加操作,当前指令完成前,后一指令准备就绪,缩小指令执行的时钟周期。典型的以时间换空间。流水线技术由处理器(CPU)提供,不属于我们讨论的范畴。空间上的并行计算是指由多个处理单元(不仅是CPU)执行的计算,是以空间换时间。空间上的并行计算分为两类:单指令多数据流(SIMD)和多指令多数据流(MIMD)。SIMD是流水技术的扩展,可以在一个时钟周期处理多个指令,我们目前使用的PC大多属于此列,例如AMD3DNOW和IntelMMX。因为是硬件提供的技术,也不属于我们讨论的内容。M

7、IMD大致又分为五类:工作站集群(COW)、对称多处理机(SMP)、大规模并行处理机(MPP)、分布共享存储处理机(DSM)、并行向量机(PVP)。是我们讨论的重点。在这一章节,我们将从程序员和算法的角度,着重讨论空间上的并行计算。空间并行计算技术包括数据并行计算和任务并行计算。数据并行计算是指将一个大的数据分解为多个小的数据,分散到多个处理单元执行。任务并行是将大的任务分解为小的任务,分散到多个处理单元执行,任务并行同时还要避免任务重复执行,协调数据的上下文关系,避免冲突发生。任务并行计算与实际应用需求紧密相关。所以,任务并行计算要

8、比数据并行计算复杂得多。并行计算与串行计算的最大不同在于,并行计算不仅要考虑计算本身,还要考虑并行处理模型、网络通信、计算协作诸多问题。3.2主要的并行计算体系类型3.2.1工作站集群(COWClusterofWorks

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。