收藏 分享(赏)

并行计算.ppt

上传人:依依 文档编号:1104650 上传时间:2018-06-11 格式:PPT 页数:152 大小:4.80MB
下载 相关 举报
并行计算.ppt_第1页
第1页 / 共152页
并行计算.ppt_第2页
第2页 / 共152页
并行计算.ppt_第3页
第3页 / 共152页
并行计算.ppt_第4页
第4页 / 共152页
并行计算.ppt_第5页
第5页 / 共152页
点击查看更多>>
资源描述

1、并行计算,Parallel Computing,张忠波,Math School in Jilin UniversityE-mail: ,并行计算是利用多个处理器协同求解一个应用问题的计算方法。具体的计算方法:将被求解的问题分解为若干部分每个部分分别由不同的处理器同时进行计算实现上述方法的程序称为并行程序;具有多个处理器的、并能够协同解决问题的计算机称为并行计算机。,课程介绍,第一部分 并行计算与并行计算机概述第二部分 基于OpenMP的并行程序设计第三部分 并行处理技术第四部分 算法及应用,课程介绍,第一部分 并行计算机介绍并行计算的应用需求并行计算机的发展和类型并行计算的性能评价,课程介绍,

2、第二部分 基于OpenMP的并行程序设计基于OpenMP的并行程序设计基础基于OpenMP的并行程序评价,课程介绍,第三部分 并行处理技术完全并行计算 划分和分治策略流水线计算同步计算负载平衡和终止检测,利用实例分别讲解各种处理技术,课程介绍,第四部分 算法及应用排序算法数值算法,如:矩阵运算,线性方程组求解非数值算法,如:图像处理,参考书,Parallel Programming Techniques and Applications Using Networked Workstations and Parallel ComputersBarry Wilkinson & Michael Al

3、len高等教育出版社 影印版并行程序设计Barry Wilkinson & Michael Allen著 陆鑫达 等译 机械工业出版社(2002)(2005第2版)Foundations of Multithreaded, Parallel, and Distributed Programming Gregory R. Andrews 高等教育出版社 影印版,通过计算得到的分形图形,通过计算得到的分形图形,问题:,我们为什么需要将程序并行化?应用问题的串行程序可以在单节点机上(如PC、服务器等)运行,但由于机器执行速度太慢,使程序的执行时间过长;在分形图形中,每个像素点的显示颜色是该像素点利用

4、某种分形迭代公式计算得到的迭代计算的次数。图形中显示的不同颜色的像素点,意味着它们计算时公式的迭代次数不同。假设分形图形的颜色是用RGB来表示,分形图形中的像素点最大迭代次数为:256*256*25616.8*106 。,卫星遥感图像的融合,全色图 多光谱图 分辨率较高 分辨率较低,融合结果,问题:,我们为什么需要将程序并行化?应用问题除了对计算速度的要求外,往往对内存的要求也很大,这使串行程序无法完成工作。当需要利用全部(海量)数据进行图像加工时,应用问题往往对内存有较高的要求。高性能计算=并行计算,第一章 并行计算与并行计算机概述,主要内容并行计算的应用需求并行计算机的发展和类型并行计算的

5、性能评价,一、并行计算的应用需求,层出不穷的应用问题往往需要更高计算速度的计算机来实现,从而推动了计算机的性能,尤其是计算速度和存储器容量的不断提高;反过来,性能越来越高的计算机为人们提供了解决各种以前无法解决的、极其复杂的问题的可能。,早期科学研究方法理论研究 科学实验现代科学研究方法理论研究 科学实验 计算技术三者的融合使现代科学技术迅速发展 如:宇航和天体物理学、流体力学、气象学、材料科学、生物学、汽车制造、核试验模拟等计算科学的发展使理论研究更加深入,科学实验的速度加快、成本降低,当代科学与工程问题的计算需求,应用需求:计算密集数据密集网络密集,对计算机的要求:计算速度快存储容量大访问

6、带宽和连网速率大,高性能计算机,例:数值天气预报(numerical weather prediction),我们所居住的地球,表面上空被一厚度十几公里到二十多公里的大气层所环绕。我们每天的所感受到的阴晴雨霜,冷暖风雪“天气”就发生在这十几到二十几公里厚的大气层里。大气环绕着地球每天都在运动变化,它遵循牛顿运动定理、质量守衡定理、大气状态方程、热力学定理、水汽守衡定理。数值天气预报,就是将描述大气的流体动力学、热力学规律学形成数学方程组、根据某一时刻观测到的大气状态,用数学方法求解,得到未来某一个时间的大气状态。数值天气预报是指根据大气实际情况,在一定的初值和边值条件下,通过大型计算机作数值计

7、算,求解描写天气演变过程的流体力学和热力学的方程组,预测未来一定时段的大气运动状态和天气现象的方法。,例:数值天气预报,气象科学实际上是实验科学但我们没有办法建立真实大气实验模型以“模拟大气”来代替“真实大气”是一个好办法数值模拟已成为了大气科学的重要实验手段提高数值天气预报的水平需要:分辨率的提高模拟的物理过程的改进初值的形成 计算量猛增,如何解决海量计算问题?,提高计算速度的一种办法是利用多个处理器协同求解一个问题。具体方法:将被求解的问题分解为若干部分每个部分分别由不同的处理器同时进行计算实现上述方法的程序称为并行程序;具有多个处理器的、并能够协同解决问题的计算机称为并行计算机。,201

8、3年6月全球500强超级计算机系统排名,源自http:/www.top500.org/,第一名:天河二号,6月17日在德国莱比锡开幕的2013年国际超级计算机大会上,中国国防科技大学研制的天河二号超级计算机,以每秒33.86千万亿次的浮点运算速度夺得头筹,成为全球最快的超级计算机,比第二名Titan快近一倍。继2010年11月天河-1A计算机问鼎以来,天河二号是再次夺得全球超级计算机第一名。天河二号有16000个节点,每个节点部署了两个英特尔XeonIvyBridge及三个XeonPhi处理器,计算核心总数达3120000 个。天河二号年底将部署在中国广州国家超级计算机中心当中。,第二名:泰坦

9、(Titan),位于美国能源部(DOE)橡树岭国家实验室中的Titan从冠军宝座退至第二。Titan搭载Cray公司的XK7系统,使用560640个AMD 皓龙处理器核心和261632个英伟达K20x加速器,Titan的运行速度为17.59千万亿次/秒。Titan是最节电的超级计算机,耗电8.21兆瓦,性能为2143Mflops/W。,第三名:红杉(Sequoia),搭载IBM的BlueGene/Q系统的Sequoia安装在美国能源部劳伦斯利弗莫尔国家实验室,排名第三,下降了一个名次。Sequoia 最早于2011年交付使用,取得了每秒17.17千万亿次运行速度,该超级计算机使用了157286

10、4颗核心。Sequoia的节能也很不错,耗电为 7.84兆瓦,性能为2031.6MFLOPS/W。,第四名:K超级计算机,富士通K计算机安装为日本神户化学研究所高级计算科学研究院(AICS),现在排名第四,基准测试速度为10.51Pflop/每秒,使用了705024颗SPARC64处理核心,运算速度为10.51千万亿次/秒。,第五名:米拉(Mira),美国能源部阿尔贡国家实验室的Mira采用了第二代BlueGene/Q架构。每秒8.59千万亿次的运行速度,塞入的核心数量比排名第七的Juqueen要多得多:准确地说是786432个,因而性能几乎翻番。,第六名:Stampede,德克萨斯大学德克萨

11、斯高级计算中心的升级版Stampede运算速度达到5.17千万亿次/秒,性能位居第六名。,第七名:Juqueen,超级计算机Juqueen位于德国于利希,同时也是于利希研究所与IBM共同研制的欧洲最快的超级计算机。Juqueen搭载了IBM的 BlueGene/Q系统,总共拥有393216个计算内核,功耗为1970KW。它在Linpack测试时处理能力可达每秒5.01千万亿次浮点运算。,第八名:Vulcan,美国的“Vulcan”在Linpack基准测试运算速度达到4.29千万亿次/秒(petaflop/s),位居第八。,第九名:SuperMUC,作为Top500榜单上的一个常客,IBM系统实

12、验室当中的SuperMUC位于德国慕尼黑附近的莱布尼兹超级计算中心。它搭载147456个英特尔SandyBridge处理器,处理能力达到了每秒2.90千万亿次浮点运算。,第十名:天河-1A,天河-1A系统是由中国国防科技大(NationalUniversityofDefenseTechnology)研制的,安装于中国天津。该系统的运算速度达到2.57petaflop,即每秒可进行2.5千万亿次运算,基于186368个至强处理器核心。研制之初超过了美国田纳西大学(UniversityofTennessee)一个国家实验室的Jaguar系统。为当时世界上最快的超级计算机。,计算机性能的变化,20年

13、来,世界第一位的计算机的速度从59.7 Gflops 上升到 33.86 petaflops(1015),加快了567169倍。世界第500位的计算机的速度也从0.42 Gflops 上升到近 96.62 Tflops,加快了230047倍。1K(kilo) = 1000 (103)1M(mega) = 1000K (106)1G(giga) = 1000M (109)1T(tera) = 1000G (1012)1P(peta) = 1000T (1015)1E(exa)=1000P (1018),我们可以想象一下:假设有一个通过某种方式将 n 个处理机互连在一起的计算机。在理想情况下,这台

14、并行计算机的速度应为单处理机的速度的 n 倍。即,我们总能用大约在单处理机上解决原问题的执行时间的 1/n 完成整个任务。实际上我们很难得到以上满意的结论,其原因是:一个问题很难分解为完全相等的 n 份处理机之间协同解决问题需要数据传输和同步,基本概念,并行计算(parallel computing)在紧耦合并行机上的计算分布计算(distributed computing)在松耦合(异地)并行机上的计算网格计算(grid computing)属于分布计算范畴,利用互联网把分散在不同地理位置的性能较高的计算机组织成一个“虚拟的超级计算机”,来完成的计算。超强的数据处理能力;能够充分利用网络上的

15、闲置处理能力(计算、存储)。,基本概念,云计算(cloud computing)狭义云计算是指通过网络以按需、易扩展的方式获得所需的资源(硬件、平台、软件)。 提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。这种特性经常被称为像水电一样使用IT基础设施。 广义云计算是指通过网络以按需、易扩展的方式获得所需的服务。这种服务可以是IT和软件、互联网相关的,也可以是任意其他的服务。云计算是并行计算、分布式计算和网格计算的发展,或者说是这些计算机科学概念的商业实现。,云计算的特点超大规模“云”具有相当的规模,Google云计算已

16、经拥有100多万台服务器, Amazon、IBM、微软、Yahoo等的“云”均拥有几十万台服务器。虚拟化云计算支持用户在任意位置、使用各种终端获取应用服务。用户只需要一台笔记本或者一个手机,就可以通过网络服务来实现我们需要的一切,甚至包括超级计算这样的任务。高可靠性“云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性。通用性云计算不针对特定的应用,在“云”的支撑下可以构造出千变万化的应用,同一个“云”可以同时支撑不同的应用运行。,云计算的特点(续)高可扩展性“云”的规模可以动态伸缩,满足应用和用户规模增长的需要。按需服务“云”是一个庞大的资源池,你按需购买;云可以象自来水,

17、电,煤气那样计费。 极其廉价由于“云”的特殊容错措施可以采用极其廉价的节点来构成云,“云”的自动化集中式管理使大量企业无需负担日益高昂的数据中心管理成本,“云”的通用性使资源的利用率较之传统系统大幅提升,因此用户可以充分享受“云”的低成本优势,经常只要花费几百美元、几天时间就能完成以前需要数万美元、数月时间才能完成的任务。,高性能计算机,目前高性能计算机都是并行计算机并行计算机的使用日趋“平民化”,使用并行计算机解决的问题不仅局限于国防和科技“尖端”任务并行计算与并行计算机技术更加普及化,第一章 并行计算与并行计算机概述,主要内容并行计算的应用需求并行计算机的发展和类型并行计算的性能评价,实际

18、的处理器是由大量不同的资源组成的:体系结构状态通用CPU寄存器和中断寄存器Cache总线执行单元分支预测逻辑等定义一个线程只需要体系结构状态信息,因此,通过复制这些体系结构状态信息的方法就能够创建多个逻辑处理器(或线程),即,同时多线程(Simultaneous Multi-Threading, SMT)技术。超线程技术实际上只有一个物理处理器,但从软件的角度看,存在多个逻辑处理器。超线程技术支持操作系统和应用程序将多个线程调动到多个逻辑处理器上,就像多处理器系统一样。,我们身边的并行计算机,多CPU服务器多核PC机,我们身边的并行计算机,多CPU服务器该系统中具有多个CPU,往往有一个共享存

19、储器,多个CPU可以同时执行相同或不同的程序代码。多CPU服务器上的应用往往是利用多线程来实现其并行化的。,我们身边的并行计算机,多核PC机多核处理器采用单芯片多处理器(Chip Multiprocessor, CMP)的设计。它是在单个处理器芯片内实现两个或更多的执行核。这些执行核是相互独立的处理器,只是位于同一块芯片上而已。每个执行核都具有自己的执行集合以及体系结构资源。根据设计的不同,这些执行核可能共享,也可能不共享片上的cache。,第一章 并行计算与并行计算机概述,主要内容并行计算的应用需求并行计算机的发展和类型并行计算的性能评价,三、并行计算机的发展和类型,Flynn分类法几种大型

20、并行计算机MPMD和SPMD并行程序结构并行计算机的系统互连(自学)*,Flynn分类法,Flynn(1966年)分类法是根据系统的指令流(instruction streams) 和数据流 (data streams) 对计算机系统进行分类的一种方法。计算机在单个时间点上能够处理的指令流的数量计算机在单个时间点上能够处理的数据流的数量,SISD:传统的单处理机系统。由程序生成的一个单指令流,在任意时刻处理单独的数据项。SIMD:如:阵列处理机系统(Processor Arrays)。由一个控制器负责从存储器中取出指令并将这些指令发送给各个处理器,每个处理器同时执行相同的指令,但操作不同的数据

21、。MISD:相当于在指令一级并行,而在被操作的数据级串行的情况,实际上这种模型是不能实现的。,MIMD:当今绝大多数并行计算机都属于这一类。每个处理器拥有一个单独的程序(段),每个程序(段)为每一个处理器生成一个指令流,每条指令对不同的数据进行操作。Flynn分类法实际上并不能对所有计算机进行分类,如流水线向量处理机就难于按Flynn分类法简单地归为上述四类之一。,三、并行计算机的发展和类型,Flynn分类法几种大型并行计算机MPMD和SPMD并行程序结构并行计算机的系统互连(自学)*,几种大型并行计算机,1972年,诞生了第一台并行计算机ILLIAC (Illinois Integrator

22、 and Automatic Computer) 伊利诺斯(理工学院)积分仪和自动计算机它由Illinois 大学和Burrouphs公司合作研制成功的。运算速度为1.5亿次/秒 (150M次/秒)由64台处理器组成的阵列机(Array Computer)可对数组进行并行计算它是当时性能最高的 CDC 7600 机器速度的26倍。,大型并行计算机,1)并行向量处理机2)对称多处理机3)大规模并行处理机4)分布式共享存储多处理机系统5)机群系统,并行向量处理机 (Parallel Vector Processors PVP)1976年,出现了具有实用价值的向量处理机Cray-1单处理机模式,向量

23、寄存器运算速度: 3160M flops平均速度: 2080M flops向量点积速度: 22M flops利用大量的向量寄存器快速地实现向量运算1985年,Cray Inc.推出Cray-2超级计算机,该机的向量处理速度是Cray-1的12倍(1G flops)80年代中、后期是PVP的时代,有很多PVP相继问世。,PVP结构模型,VP: Vector Processor SM: Shared Memory,对称多处理机 (Symmetric Multiprocessor SMP)将各处理器经由高速总线(或交叉开关)网与共享存储器相连;每个处理器对共享存储器具有同等的访问权利;每个处理器对I

24、/O设备和其它系统资源享有同等的访问权利;在SMP系统中一般要求每个处理机是相同的;因此称之为对称多处理机。,对称多处理机结构模型,P/C: Processor/Cache SM: Shared Memory I/O: Input/Output,典型SMP机型SGI公司的SGI Onyx系统和SGI Power ChallengeSequent Conputer System, Inc.的Sequent Symmetry S-81系统IBM公司的ES/9000系统和R50Sun公司的SparcCenter 2000我国的曙光1号,大规模并行处理机 (Massively Parallel Pro

25、cessors MPP),采用松耦合体系结构连接各种不同的处理器 即各处理器以使用自己的局部内存为主,处理器之间进行同步通信实现数据交换,MPP的优点:突破了只看到一个统一的存储空间的方式具有良好的可扩展性MPP的缺点:分布存储要求用户必须将被操作的数据分配到各局部存储器中运算过程中用户要考虑数据在各节点间的传送和同步,典型的MPP机型:Intel公司的Paragon XP/SMasPar公司的MP-2Thinking Machine公司的CM-5IBM公司的SP 2Cray公司的Cray T3D我国的曙光 1000,大规模并行处理机结构模型,P/C: Processor/Cache LM:

26、Local Memory,分布式共享存储多处理机系统 (Distributed Shared Memory DSM)DSM系统具有以下特点:存储器在物理上分布于各处理器附近,但在逻辑上可由多个处理器共享整个内存DSM系统实际上是SMP和MPP结构的折中DSM的优点:避免了集中式存储结构中处理器和存储器的复杂连接有良好的可扩展性相对MPP来说,更容易编程,分布式共享存储多处理机系统,DSM的优点:避免了集中式存储结构中处理器和存储器的复杂连接有良好的可扩展性相对MPP来说,更容易编程DSM系统需着重考虑的问题:系统应具有维持存储器访问一致性的硬件支持相对SMP系统来说,其访问非物理局部存储器的时

27、间要更长。,典型的DSM机型:Cray公司的Cray T3ESGI/Cray公司的Origon 2000BBN公司的TC 2000,机群系统(工作站机群) (Cluster Of Workstations COW, Networked Of Workstations NOW) COW的结构特点:每一个节点机都是一个完整的工作站或PC机各节点机通过成本较低的商业网络连接起来各节点内都有本地磁盘一个完整的操作系统驻留在每个节点中,工作站机群结构模型,P/C: Processor/Cache LM: Local Memory LD: Local Disk,COW结构的优点:系统开发周期短,用户投资风

28、险小系统价格低,节约系统资源系统的扩展性好,用户编程方便COW系统应考虑的主要问题:如何减少节点机间的通信开销如何改善并行程序设计环境如何充分利用全局资源,并行向量处理机PVP,共享存储多处理机系统,分布式共享存储器系统,共享存储的多处理机(系统)MP与分布存储的多计算机(系统)MC的比较,三、并行计算机的发展和类型,Flynn分类法几种大型并行计算机MPMD和SPMD并行程序结构并行计算机的系统互连(自学)*,MPMD和SPMD并行程序结构,SIMD和MIMD计算机SIMD:由一个控制器负责从存储器中取出指令并将这些指令发送给各个处理器,每个处理器同步执行相同的指令,但操作不同的数据。数据阵

29、列计算、图像处理MIMD:每个处理器拥有一个单独的程序,每个程序为每一个处理器生成一个指令流,每条指令对不同的数据进行操作。,MIMDMPMD程序结构主从程序结构主程序从程序 SPMD程序结构进程:完成一定功能的一段程序的一次运行活动。,MPMD和SPMD并行程序结构,在并行计算中,进程的并行执行方式:MPMD (Multiple Programs & Multiple Data) 控制并行结构:在这种并行结构中各进程执行的程序不同,操作的数据也不同。各进程既可以是异步执行的,也可以以同步方式执行。SPMD (Single Program & Multiple Data) 数据域并行结构:在分

30、布存储并行系统上执行的程序,每个进程执行相同的程序,但处理不同的数据。,在SPMD 程序设计中,所有节点机得到相同的程序副本,但程序中可以含有条件语句来决定哪个节点机执行某段程序与否。SPMD和SIMD的区别SIMD计算机上执行的并行程序往往是由硬件来保障各处理器同步执行指令的过程,它是紧同步的。而SPMD结构的并行程序,既可以紧同步形式执行,同时也可以松散同步的形式执行。,并行程序执行时间,三、并行计算机的发展和类型,Flynn分类法几种大型并行计算机MPMD和SPMD并行程序结构并行计算机的系统互连(自学)*,并行计算机的系统互连,在多处理机、多计算机系统中,不同的组成部分,如:CPU、存

31、储模块、I/O设备和网络接口等,都要通过互连网络彼此连接起来。有很多系统互连方式:动态互连网络:总线网、交叉开关网、多级互连网等静态互连网络:网格网络、星形网等标准互连网络:FDDI、快速以太网、Myrinet、Infiniband等,跳过该小节,具体内容,基本概念网络的直径、等分宽度、节点度、对称性网络的评判标准静态互连网络网格网络二叉树网络胖树网络超立方体网络带环立方体网络,跳过该小节,金字塔网络蝶式网络混洗交换网络de Bruijin网络,消息传递,基于消息传递的多计算机系统需要一定形式的互连网络来传递消息动态网络 (Dynamic Network): 在程序运行期间,可实时地重新组建网

32、络连接的网络。它们常用于共享存储型多处理机中。静态网络 (Static Network): 指处理单元(功能部件)间有着固定物理连接的一类网络,在程序执行期间,这种点到点的链接保持不变。静态网络常用来实现分布式系统的多个计算节点之间的固定连接。,每个节点机包括:一个处理器一个存储器一个与其他节点连接的通信接口,节点机的组织方式可用一个图来表示图中的一个节点表示一个处理器边表示连接该边两端的处理器的通信路径。G=( V, E ) , V是节点(处理器)的有限集,E是节点间的边(通信路径)的有限集。,定义1:网络中任意两节点间最短路径的最大值称为网络的直径(diameter of a networ

33、k)。直径越小越好,说明网络中任意两节点间的通信时间越少。它被用来确定并行算法的通信下限。 定义2:当网络被切为相等的两半时,切口处的最少边数称为等分宽度(bisection width 对剖宽度)。等分宽度越大,说明网络布线密度越大,通信的复杂性越小。它为消息传递量提供了下限值。,平分宽度=2,直径=4,定义3:与节点连接的边数称为节点度(node degree)。 网络中各节点的节点度最好为一个常量,而不依赖于网络的大小,这样是因为处理器组织规模更容易扩大。 定义4:如果从任意节点看网络都一样,则称网络为对称的(Symmetry)。,节点度=2 该网络是对称的,网络的评判标准网络的带宽(b

34、andwidth):在单位时间内被传输的二进制位数 (bits/sec)。网络的延迟、执行时间 (network latency): 通过网络完成一个消息传递所需要的时间。网络直径被用来评价网络最坏情况下的延迟。通信延迟 (Communication latency):数据发送命令开始执行和实际开始传送数据之间的时间间隔。它包括软件开销和接口延时。对分宽度网络的节点度,静态互连网络,1) 网格网络(mesh network)-该网络中的节点呈现为一个 n 维网格阵列,每个相邻节点才允许通信。2 维网格是最常用的。,1维网格网络,2维网格网络,3维网格网络,2维网格网络是并行机常用的一种结构,2

35、维网格网络有很多变形情况,2)二叉树网络(binary tree network)-该网络是由2k-1个节点组成的一个高度为k-1的完全二叉树。,设k=4,其网络结构为:,星形网络:,3)胖树网络(fat tree network)胖树的通道宽度从叶节点往根节点上行方向逐渐变宽,主处理器节点,4)超立方体网络-该网络可用递归方法来定义。(Hypercube network, cube-connected network),1维超立方体,2维超立方体,3维超立方体,4维超立方体,0维超立方体,5)带环立方体网络(Cube-connected cycles network)-它是超立方体网络的一种

36、变形,对k维超立方体做下列改变: 将k维超立方体的每个节点由一个具有k个节点的环来代替,且环上的每个节点分别连接到超立方体各个维上。,带环3维超立方体 :,6)金字塔网络(pyramid network) -它是树和2维网格的结合从每层看,它是一个2维网格从侧面看,它是一棵树,这是一棵高为 2 的金字塔网络,7)蝶式网络(butterfly network) 设网络有k+1行,每行有2k个节点从0到k标记行号,从0到2k-1标记列号第( i , j )节点 ( i0 )与两个节点相连:( i , j )与( i-1 , j )相连( i , j )与( i-1 , m )相连,其中m为j表示的

37、二进制数中第i位取反的值 (i从高位数起),K=3,8)混洗交换网络(shuffle-exchange network)该网络包含 n=2k 个节点,分别标记为 0 , 1 , , n-1,有两种连接:交换链和混洗链(有向链)交换链:连接两个最低位(节点以二进制形式表示)不同的节点,混洗链:从节点 i 到节点 2i mod (n-1) 的连接,9)de Bruijin网络 该网络包含 n=2k 个节点,分别标记为 0 , 1 , , n-1节点 i(以二进制形式表示)通过两个有向边与其他节点(或自己)相连:指向把二进制形式表示的节点编号 i 的最左位移去后,右边补 0 得到的节点编号;指向把二

38、进制形式表示的节点编号 i 的最左位移去后,右边补 1 得到的节点编号。,第一章 并行计算与并行计算机概述,主要内容并行计算的应用需求并行计算机的发展和类型并行计算的性能评价,三、并行计算的性能评价,有关并行计算的一些基本概念加速比定律适用于固定计算负载的Amdahl定律适用于扩展问题的 Gustsfson 定律,微操作级并行化,串行处理,程序级并行化,子程序级并行化,语句级并行化,操作级并行化,粗粒度,中粒度,细粒度,三、并行计算的性能评价,相关概念,并行处理(parallel Processing):在同一时间段内,在多个处理机中执行同一任务的不同部分。多道处理(multiprocessi

39、ng):强调由一台计算机利用一个处理机同时交错地执行多道程序。并发处理(concurrent):与多道处理类似。,相关概念,巨型(超级)计算机 (supercomputer):超级计算机是一个相对概念,不同的年代它的性能是不一样的。它是运算速度特别快,数据输入/输出能力特别强的大型计算机系统。数据并行 (data parallelism):利用多个处理器对一个数据集上的不同元素同时进行相同的操作。控制并行 (control parallelism):为了完成一个任务要对不同的数据元素同时进行不同的操作。,相关概念,并行计算机存储器访问模型分为两大类:共享存储型 (shared memory)

40、在这种并行机中,每个处理器都可以经由互连网络对共用内存进行存取操作。系统对共享内存各模块进行统一编址。均匀存储访问模型UMA和非均匀存储访问模型NUMA非共享 (分布) 存储型 (distributed memory) 在这种并行机中,每个处理器拥有自己的局部内存。,相关概念,(并行算法的)加速比 (speedup) 或加速系数(speedup factor):完成计算的最佳串行算法所需的时间与完成相同任务的并行算法所需的时间之比。并行效率 (parallel efficiency):加速比与所用处理机个数之比。并行效率表示在并行机执行并行算法时,平均每个处理机的执行效率。,为了对一个并行任务

41、评估,通常我们使用在单处理机上运行最快的已知算法的执行时间与并行任务的执行时间进行比较,即加速比。加速比 S(p) =,对于 p 个处理器来说,其最大加速比为 p。当计算任务可被分成相等执行时间的进程时,一个进程映射到一个处理器上时,若此时没有其它开销就可获得最大加速比 p。,一般表示,p:并行系统中处理器的个数 (the number of processors)W :问题规模或工作负载 (workload)Ws :应用问题中必须串行执行的部分Wp :应用问题中可并行执行的部分 W = Ws + Wpf :串行执行部分 Ws 占全部工作负载 W 的比例 f = Ws / W,一般表示,ts

42、:整个任务在串行机上执行所需的时间tp :整个任务在并行机上执行所需的时间Ts:完成 Ws 所需要的时间Tp:在并行机上完成 Wp 所需要的时间S :加速比:S(p) = ts / tp E :并行效率:E = S(p) / p * 100%,加速比定律,适用于固定计算负载的Amdahl定律适用于扩展问题的 Gustsfson 定律,适用于固定计算负载的Amdahl定律,当并行计算机中处理器数目增加时,固定负载就被分配给更多的处理器去并行执行,其主要目的是想尽可能快地的得出结果,即计算任务的实时性要求更高。Amdahl 定律 (1967) :设 f 为给定计算任务中必须串行执行的部分所占比例

43、(0f 1),对于一台含有 p 个处理器的并行计算机,其最大可能的加速比为:,多处理机,S =,S =,在假设算法中每个计算步的执行时间是相等的情况下,算法的执行时间也常用计算步来计算。,筛法求质数的例子,问题-筛法求质数对给定的正整数 N,求出 2 到 N 内所有的质数。,筛法求质数的例子,筛法求质数的顺序算法需要三个关键的数据结构:1、对应于自然数2,3,4,, N 的布尔数组;2、目前找到的下一个质数;3、用于标记当前质数倍数的循环变量。,筛法求质数串行算法for i := 2 to N do Si := true; /初始化UpLimit := sqrt(N); NextPrime :

44、= 2;while NextPrime = UpLimit do begin for i := NextPrime to N div NextPrime do Si*NextPrime := false; /筛掉当前质数的倍数 repeat /找下一个新质数 NextPrime := NextPrime + 1; until SNextPrimeend;,考虑在带有I/O设备的共享存储型并行机上数据并行算法,当 N =106 时,其串行算法要完成:1. 对质数倍数标记的次数为 2,122,0482. 需要输出 78,498 个质数假设标记质数的倍数一次和输出一个质数的时间均为1个单位时间,则串

45、行算法的执行时间为:2,122,048 + 78,498=2,200,546 f = 78,498 / 2,200,546 = 0.0357在具有 p 个处理器的并行机上可能获得的最大加速比为:,当 p 无限增加时,加速比趋于 1 / f。从刚才的例子中看出:f = 0.0357,那么可获得的最大加速比不会超过1 / 0.0357 28,它与处理机的个数无关。即当处理机的个数超过一定数量后,加速比不会随着其增加而增加。Amdahl定律曾经给并行计算理论的研究带来了很大的负面影响。,适用于扩展问题的Gustsfson定律,Amdahl 定律的一个主要缺点:固定负载妨碍了并行机性能可扩展性的开发。

46、有些计算任务要求在给定的时间内希望提高计算精度,即在给定的时间内增加处理器的数量使计算量提高,如我们希望数值天气预报的数据采样模型的单位更小。在精度占主导位置的应用领域中,我们希望象在小机器上解小问题一样,在大机器上能解规模大的问题,并使二者所花费的时间大体相同。,适用于扩展问题的Gustsfson定律,Gustafson定律 (1988):对于一台并行计算机,当问题中可并行部分扩大 p 倍时,其加速比也随之增长:,若我们用 f 来表示,可将上式变为:,例:设某应用问题在单节点机器上求解时需要执行的运算量为 1107 次浮点运算(工作负载), 其中有 1105 次浮点运算必须顺序执行。现考虑在

47、一包含10个节点的多计算机系统求解该问题,同时将工作负载按以下两种情况进行调整:总运算量为 1107 次浮点运算,其中1105 次浮点运算可由任一节点执行;可并行的部分按节点数扩大为 9.9107 次浮点运算,而必须顺序执行的1105次浮点运算可由任一节点执行。试计算 a) 和 b) 两种情况下获得的加速比。,a) 已知:p = 10 ,W = 1107 , Ws = 1105 , 可得:Wp = 1107 - 1105 = 99 105 f = Ws / W = 0.01总运算量为1107次浮点运算,其中1105次浮点运算可由任一结点执行;a)属于工作负载不变的情况,应使用Amdahl定律求

48、其加速比:S(p) = 1/(f+(1-f)/p) = 1 / (0.01+0.99/10) = 9.17,b)已知: p = 10 ,原W = 1107 , Ws = 1105 , 可得: f = Ws / W = 0.01 现Wp = (1107 - 1105) p = 99 105 *10 = 9.9107 总运算量增加到 9.9107+1105 = 9.91107 次浮点运算,其中的1105次浮点运算可由任一结点执行。b)属于工作负载随处理机个数增加而增加的情况,应使用 Gustsfson 定律求其加速比: S = (Ws+Wp*p) / (Ws+Wp) = f +(1-f)*p = 0.01 + 0.99*10 = 9.91,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报