并行计算机性能t Word 文档.doc_第1页
并行计算机性能t Word 文档.doc_第2页
并行计算机性能t Word 文档.doc_第3页
并行计算机性能t Word 文档.doc_第4页
并行计算机性能t Word 文档.doc_第5页
免费预览已结束,剩余4页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

并行计算的性能 姓名:王刚 学号:07003108摘要;并行计算性能测评,并行计算中的微处理器的并行计算与它的性能有很大的关系,从并行计算的发展史来简单的说明一下它的性能,全新的并行时代GUP从并行计算的应用方面体现它的性能。提纲;1. 并行计算的概念及性能测评2. 微处理器的并行计算3. 并行计算的发展4. 全新的并行时代,GUP并行计算5. 结论并行计算是指同时使用多种计算资源解决计算问题的过程。为执行并行计算,计算资源应包括一台配有多处理机(并行处理)的计算机、一个与网络相连的计算机专有编号,或者两者结合使用。并行计算的主要目的是快速解决大型且复杂的计算问题。此外还包括:利用非本地资源,节约成本 使用多个“廉价”计算资源取代大型计算机,同时克服单个计算机上存在的存储器限制。并行计算性能测评与并行计算体系结构、并行算法和并行程序设计构成了并行计算研究的四大分支。并行计算的性能测评,大致分为机器级的性能测评,算法级的测评和程序及的性能测评。机器级的性能测评和程序级的性能测评。机器级的性能测评主要包括cpu和存储器的某些基本性能指标,并行通信开销以及机器的成本,价格和性价比等;算法级的性能测评主要包括加速,效率和可扩放性等;程序及的性能测评主要包括基本测试程序,数学库测试和并行测试程序等。1965年,戈登摩尔(Gordon Moore)发现了这样一条规律:半导体厂商能够集成在芯片中的晶体管数量大约每1824个月翻一番,即众所周知的摩尔定律。在过去的四十年中,摩尔定律一直引导着计算机设计人员的思维和计算机产业的发展。但是,许多人却错误地认为摩尔定律只是预测CPU时钟频率的工具。造成这种认识的原因其实不难理解,因为CPU时钟频率一直是衡量计算性能的最通用的指标。在过去的四十年中,CPU时钟频率基本上是按照摩尔定律发展的。但是,还有一种对摩尔定律的认识与此不同,这种观点认为摩尔定律给芯片设计人员施加了一条不必要的限制。虽然提高直线指令的吞吐率以及时钟速度都是值得努力的目标,但是计算机体系结构设计师仍然可以通过其他一些途径来利用数量不断增长的晶体管。例如,为了使处理器资源得到最充分的利用,计算机体系结构设计师采用了指令级并行技术(Instruction-level Parallelism,ILP)来提高处理器性能。指令级并行技术,即动态执行或者乱序(out of order)执行技术,使得CPU能够以更加优化的方式对指令进行重定序,从而达到消除流水线停顿的目的。指令级并行技术的目标就是要增加处理器在单个时钟周期内所能够执行的指令数量。要使指令级并行技术能够发挥效果,所执行的多条指令必须不相关。在顺序程序中,指令之间的相关性会限制能够同时执行的指令数量,从而减少了指令并行执行的机会。而重定序机制能够重新安排指令的执行顺序,让不相关的指令能够并行执行,进而保持处理器的执行单元尽量处于工作状态。在这种条件下,指令就不一定按照程序原来的顺序执行,对指令进行动态调度的工作是由处理器本身完成的。本书的后续章节将会对这些技术进行更详细的介绍,这里只是要强调:这种并行是发生在硬件层次上的,而且对于软件设计开发人员来讲是透明的,也就是说,软件人员并不能也不需要看到计算机硬件上的这些变化。随着软件技术的不断发展,应用程序也开始支持同时运行多个任务的功能。如今的服务器应用程序都是由多个线程或者多个进程组成的。目前有好些方法可以对线程级的并行提供硬件或者软件上的支持。一种方法就是采用抢占式或时间片轮转的多任务操作系统。这种方法能够利用当前软件中日益增多的并发性。采用时间片策略的多线程方法允许开发人员通过在多个线程之间切换执行的途径达到了隐藏I/O延迟的目的。实际上,这种模式并不支持并行执行,因为在任何时间点上,CPU都只能执行一个指令流。另一种方法就是增加计算机中物理处理器的数量,这种方法能够有效利用线程级并行性。多处理器系统支持真正意义上的并行执行,因为多个线程或者进程能够在多个处理器上同时执行。不过这种方法会增加整个系统的造价。为了充分利用线程级并行所带来的性能收益,计算机体系结构设计师对处理器结构进行分析之后发现:在许多情况下,现代处理器中的资源还是没有得到充分利用。要解决这个问题,首先必须考虑的问题就是:程序中的线程究竟是什么?线程,可以定义成CPU资源占用的一个基本单位,包括指向指令流中当前指令的程序计数器、当前线程的CPU状态信息以及一些其他资源,比如堆栈。实际的处理器是由大量不同的资源所组成的,包括体系结构状态通用CPU寄存器和中断控制寄存器、cache、总线、执行单元,以及分支预测逻辑等等。但是,要定义一个线程,只需要体系结构状态信息即可。因此,通过复制这些体系结构状态信息的方法就能够创建多个逻辑处理器(或者线程)。然后,执行资源就被不同的逻辑处理器所共享。这种技术就是众所周知的同时多线程(Simultaneous Multi-Threading,SMT)技术。Intel公司所实现的SMT技术就是超线程(Hyper-Threading,HT)技术。超线程技术实际上只有一个实际的物理处理器,但是从软件的角度来看,存在多个逻辑处理器。超线程技术支持操作系统和应用程序将多个线程调度到多个逻辑处理器上,就像多处理器系统一样。从微体系结构的角度看,逻辑处理器的指令都是固定的,并且在共享的执行资源上同时执行。也就是说,多个线程能够在多个逻辑处理器间进行调度,但是由于执行资源是这些逻辑处理器共享的,因此微体系结构必须决定两个线程如何以及何时切换执行。当一个线程被挂起的时候,另一个线程就会继续执行。能够导致线程挂起的因素包括处理cache失效以及分支预测失败。在同时多线程技术之后就出现了多核处理器。多核处理器采用单芯片多处理器(Chip Multiprocessor,CMP)的设计。随着生产工艺与制造技术上的进步,处理器厂商在设计多核处理器时,不是重用单个处理器中某些处理器资源,而是在单个处理器芯片内实现两个或者更多的“执行核”。实际上,这些执行核都是相互独立的处理器,只是位于同一块芯片上而已。这些执行核都具有自己的执行集合以及体系结构资源。根据设计的不同,这些执行核可能共享也可能不共享片上cache。此外,这些互相独立的执行核可以和SMT技术相结合,从而将逻辑处理器的数量增加到执行核数量的两倍。下图给出了各种不同的处理器结构。单核结构、多处理器结构以及多核结构之间的简单对比并行计算机是由一组处理单元组成的。这组处理单元通过相互之间的通信与协作,以更快的速度共同完成一项大规模的计算任务。因此,并行计算机的两个最主要的组成部分是计算节点和节点间的通信与协作机制。并行计算机体系结构的发展也主要体现在计算节点性能的提高以及节点间通信技术的改进两方面。 节点性能不断进步 20世纪60年代初期,由于晶体管以及磁芯存储器的出现,处理单元变得越来越小,存储器也更加小巧和廉价。这些技术发展的结果导致了并行计算机的出现。这一时期的并行计算机多是规模不大的共享存储多处理器系统,即所谓大型主机。IBM 360是这一时期的典型代表。 到了20世纪60年代末期,同一个处理器开始设置多个功能相同的功能单元,流水线技术也出现了。与单纯提高时钟频率相比,这些并行特性在处理器内部的应用大大提高了并行计算机系统的性能。伊利诺依大学和Burroughs公司此时开始实施Illiac 计划,研制一台64颗CPU的SIMD主机系统,它涉及到硬件技术、体系结构、I/O设备、操作系统、程序设计语言直至应用程序在内的众多研究课题。不过,当一台规模大大缩小的原型系统(仅使用了16颗CPU)终于在1975年面世时,整个计算机界已经发生了巨大变化。 首先是存储系统概念的革新,提出虚拟存储和缓存的思想。以IBM 360/85和IBM 360/91为例,两者是属于同一系列的两个机型,IBM 360/91的主频高于IBM 360/85,所选用的内存速度也较快,并且采用了动态调度的指令流水线。但是,IBM 360/85的整体性能却高于IBM 360/91,惟一的原因就是前者采用了缓存技术,而后者则没有。 其次是半导体存储器开始代替磁芯存储器。最初,半导体存储器只是在某些机器中被用作缓存,而CDC7600则率先全面采用这种体积更小、速度更快、可以直接寻址的半导体存储器,磁芯存储器从此退出了历史舞台。与此同时,集成电路也出现了,并迅速应用到计算机中。元器件技术的这两大革命性突破,使得Illiac 的设计者们在底层硬件以及并行体系结构方面提出的种种改进都大为逊色。 处理器高速发展 1976年Cray-1问世以后,向量计算机从此牢牢地控制着整个高性能计算机市场15年。Cray-1对所使用的逻辑电路进行了精心的设计,采用了我们如今称为RISC的精简指令集,还引入了向量寄存器,以完成向量运算。这一系列技术手段的使用,使Cray-1的主频达到了80MHz。 微处理器随着机器的字长从4位、8位、16位一直增加到32位,其性能也随之显著提高。正是因为看到了微处理器的这种潜力,卡内基梅隆大学开始在当时流行的DEC PDP-11小型计算机的基础上研制一台由16台PDP-11/40处理机通过交叉开关与16个共享存储器模块相连接而成的共享存储多处理器系统C.mmp。 从20世纪80年代开始,微处理器技术一直在高速前进。稍后又出现了非常适合于SMP方式的总线协议。而伯克利加州大学则对总线协议进行了扩展,提出了Cache一致性问题的处理方案。从此,C.mmp开创出的共享存储多处理器之路越走越宽。现在,这种体系结构已经基本上统治了服务器和桌面工作站市场。 通信机制稳步前进 同一时期,基于消息传递机制的并行计算机也开始不断涌现。20世纪80年代中期,加州理工学院成功地将64个i8086/i8087处理器通过超立方体互连结构连结起来。此后,便先后出现了Intel iPSC系列、INMOS Transputer系列,Intel Paragon以及IBM SP的前身Vulcan等基于消息传递机制的并行计算机。 20世纪80年代末到90年代初,共享存储器方式的大规模并行计算机又获得了新的发展。IBM将大量早期RISC微处理器通过蝶形互连网络连结起来。人们开始考虑如何才能在实现共享存储器缓存一致的同时,使系统具有一定的可扩展性。20世纪90年代初期,斯坦福大学提出了DASH计划,它通过维护一个保存有每一缓存块位置信息的目录结构来实现分布式共享存储器的缓存一致性。后来,IEEE在此基础上提出了缓存一致性协议的标准。 20世纪90年代至今,主要的几种体系结构开始走向融合。 属于数据并行类型的CM-5除大量采用商品化的微处理器以外,也允许用户层的程序传递一些简单的消息。 Cray T3D是一台NUMA结构的共享存储型并行计算机,但是它也提供了全局同步机制、息队列机制,并采取了一些减少消息传递延迟的技术。 随着微处理器商品化、网络设备的发展以及MPI/PVM等并行编程标准的发布,集群架构的并行计算机出现开始。IBM SP2系列集群系统就是其中的典型代表。在这些系统中,各个节点采用的都是标准的商品化计算机,它们之间通过高速网络连接起来。有限元并行计算的发展和现状 目前,在计算力学领域内,围绕着基于变分原理的有限元法和基于边界积分方程的边界元法,以及基于现在问世的各种并行计算机,逐渐形成了一个新的学科分支有限元并行计算。它是高效能的,使得许多现在应用串行计算机和串行算法不能解决或求解不好的大型的、复杂的力学问题能得到满意的解答,故其发展速度十分惊人。在国际上已经掀起了利用并行机进行工程分析和研究的高潮。从1975到1995年的二十年间,有关有限元方法和相应的数值并行计算的文章已发表1000余篇。有限元并行计算正在向两个方向发展。一是对系统方程组实施并行求解的各种算法。二是并行分析方法,包括有限元并行算法和边界元并行算法,前者趋向成熟,而后者的研究较少。对这一方面的研究,是为了挖掘有限元计算自身潜在的并行性,是有限元并行计算的根本问题。国内并行算法的设计和有效实现强烈地依赖于并行机的硬软件环境。国内仅极少数单位拥有并行机,且机型杂乱,因此研究人员少,起步晚,而且局限于特定的硬件环境。从有限元分析方法的内容来看,发表的几十篇研究论文(报告)还未显示出较强的系统性。1)南京航空航天大学周树荃教授等在YH-1向量机上实现了刚度矩阵计算、对称带状矩阵的Cholesky分解和线性方程组的求解等并行处理。针对不规则结构工程分析问题,他们还采用了变带宽存贮方法,并实现了刚度矩阵的并行计算以及求解变带宽稀疏线性方程组的并行直接解法。2)中国科学院计算中心王荩贤研究员等在基于Transputer芯片的分布式MIMD系统上提出了有限元分析中变带宽线性方程组的并行直接解法,初步完成了一个静力分析程序。3)重庆大学张汝清教授等借助于ELXSI-6400共享存贮器型MIMD系统,先后开展了范围比较广泛的并行算法研究,主要成果有:a)提出了静力分析中子结构解法的并行算法,以及动力分析中模态综合子结构法的并行算法;b)从波前法出发,发展了多波前并行算法以求解大型结构分析 问题;c)从Jacobi块迭代法和加权残差法出发,导出了基于异步控制的有限元方程并行解法和有限元并行迭代的基本格式;d)利用图论中的着色理论,实现了刚度矩阵的并行计算;e)实现了基于有色线剖分的SOR并行迭代解法;f)实现了子空间迭代法、Lanczos法以及利用多项式割线迭代法和矢量迭代法求解结构固有频率和模态的并行算法;g)针对弹塑性分析,提出了一种多波前子结构并行算法;h)针对弹性接触问题,提出了一种基于参数变分原理的并行解法;i)实现了一步积分法的并行处理。4)南京航空航天大学乔新教授等借助于Transputer芯片的分布式MIMD系统实现了有限元方程组的并行直接解法,并提出了基于子结构的预处理共轭梯度法的并行计算方法。此外,浙江大学姚坚、中国科学院西南计算中心马寅国、东北工学院张铁以及国防科技大学六系也曾对有限元分析的并行计算开展了一些研究。上述研究结果表明,国内并行计算方法的研究,在硬件上基于向量机、分布式并行机和共享存贮式并行机;在内容上,似乎面很广,但系统性和深度还很不够,软件开发距实际应用和商品化还有很大距离,对不依赖并行机具体环境的通用并行算法研究还很少,同样对旨在进行结构有限元分析的并行计算的硬件研究也少。国外自从美国国家宇航局(NASA)的A.K.Noor于1975年发表第一篇有限元并行计算的文章以来,有限元并行处理技术几乎与并行计算机同步发展。距不完全统计,到1992年,国外已发表了400余篇这方面的论文,其中后5年的文章篇数是前12年的总和。在研究内容上也由过去的算法研究发展到了算法、软件和硬件相结合的研究,并针对一些机型开发了一些实用的大型结构分析软件。1)有限元机器FEM(Finite Element Machine)。早在70年代末,就有人发表了有关FEM的论文,1982年美国国家宇航局Langley研究中心的O.O.Storaasli等撰文详细地介绍了该中心设计的供研究用的FEM。该机器由1个处理器阵列、1台作为控制器的微机和1个操作系统及一些模块化了的通用并行算法程序组成,用户使用系统的文本编辑器和控制器的其它特殊功能,能建立有限元计算模型并进行分析。10多年来,又有一些人在这一方面进行了不懈的努力,但FEM的发展前景仍然不太令人乐观。2)心动阵列并行机。心动阵列并行机主要应用于信号和图象的并行处理,但由于其高效的矩阵计算功能,近年来有人把它应用于有限元分析,并作了一些有益的尝试。3)巨型向量机。在有限元分析中越来越显示出巨大的威力,处于领先的是美国思维公司的CM-2。许多结构分析家把这个具有65536个处理器的巨型向量机应用于有限元计算T.Belyschko等人采用显式方法,完成了具有32768个单元的壳的非线性有限元计算,并行效率极高,速度几乎比CRAY X-MP/14并行机高出1个数量级。4)并行机网络和工作站网络【28】。日本东京大学矢川等借助高速网络把3台CRAY Y-MP机联成网络进行有限元分析,有限元方程求解采用的是基于区域分裂技术的共轭梯CGM), 在求解三维弹性问题时自由度个数超过了100万,系统平均运行速度高达1.74GFLOPS。另外,他们还基于一个工程工作站网络,在并行环境下进行了类似的研究,全新并行计算时代GUPGPU并行计算的最先尝试:实际上,在很久以前就已经有人开始尝试使用GPU进行并行运算了。在起先的尝试当中使用的方法非常原始,并且不少GPU的硬件功能也被限制,例如rasterizing和Z -缓冲技术。但是出现“Shader”之后,大家开始尝试矩阵计算。早在2003年一个SIGGRAPH当中的部门开辟了GPU运算新篇章GPGPU。 这期间,最知名的流处理器编辑器就是Brook,开创了GPU在非图形领域的先河。在此之前,如果程序员想要调用GPU硬件资源,只能通过OpenGL或者Direct3D两种API接口。OpenGL或Direct3D严重的限制了GPU性能在3D图形处理意外的应用领域。因为开发人员并不了解如何调用GPU的线程以及内核。是Brook首次让C语言能够实现这一功能,让开发人员无需了解OpenGL或者Direct3D就能够对GPU资源进行调用。开发人员可以通过一个.br文件进行编码和扩展,产生的代码能够被DirectX、OpenGL、或x86系统的代码链接库支持。 当然,Brook也同样存在着一些缺点。不过它的这一构想却吸引了NVIDIA以及ATI对于GPU进行并行计算的目光,因为大力发展这一功能将会使得GPU市场打开一个新的篇章。 在这之后,一些开发商开始加入到NVIDIA的市场阵营,并提出一个新的策略,他们可以无需通过现有的API接口就能够完全发挥出GPU的性能。正是他们,为NVIDIA提出了一个全新的概念CUDA,一种新的专为GPU并行计算而开发的应用程序接口。GPU并行计算的应用领域: 通过一系列的调查,我们可以看到GPU的并行运算能力已经达到了现今主流CPU的530倍左右。这个数据并非空穴来风,我们可以从如下一组调查中看到(数字指GPU相对于CPU计算的性能提升倍数): 荧光显微镜:12倍性能提升 分子动力学:816倍性能提升 静电学:40120倍性能提升 正如你所看到的,这样的一组数据确实非常具有吸引力,尤其是当你看到性能提升大道100倍以上时。除此以外,GPU加速还可以利用在:图像和信号分析处理,物理模拟,数学计算,生物学计算,金融计算,数据库,天然气和流体动力学,加密技术,X射线治疗,天文学,声音处理,生物信息学,生物仿真,计算机视觉,数据挖掘,数字电影和电视,电磁模拟, geoinfo系统,军事应用,山区规划,分子动力学,磁共振成像,神经网络,海洋学研究,粒子物理学,蛋白质凝集模拟,量子化学,射线追踪,可视化,雷达,油藏

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论