高性能并行计算基础架构_第1页
高性能并行计算基础架构_第2页
高性能并行计算基础架构_第3页
高性能并行计算基础架构_第4页
高性能并行计算基础架构_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

高性能并行计算基础架构高性能并行计算架构浪潮电子信息产业股份2013-11-1812并行计算及系统架构并行计算机基础并行软件环境3高性能机群4并行计算机基础并行计算(ParallelComputing)高性能计算(HighPerformanceComputing)超级计算(SuperComputing)任何高性能计算和超级计算都离不开使用并行技术高性能计算HPC(HighPerformanceComputing)指通常使用很多处理器(作为单个机器的一部分)或者某一集群中组织的多台计算机(作为单个计算资源操作)的计算系统和环境。并行计算机基础——发展历程专用时代

包括向量机,MPP系统,SGINUMA系统,SUN大型SMP系统,也包括我国的神威,银河,曙光1000等。

之所以称为“专用”,并不是说它们只能运行某种应用,是指它们的组成部件是专门设计的,它们的CPU板,内存板,I/O板,甚至操作系统,都是不能在其它系统中使用的。由于技术上桌面系统与高端系统的巨大差异,和用户群窄小。普及时代

高性能计算机价格下降,应用门槛降低,应用开始普及。两个技术趋势起到重要作用。

商品化趋势使得大量生产的商品部件接近了高性能计算机专有部件

标准化趋势使得这些部件之间能够集成一个系统中,其中X86处理器、以太网、内存部件、Linux都起到决定性作用。

机群系统是高性能计算机的一种,它的技术基础和工业基础都是商品化和标准化。并行计算机基础——TOP10nonameinformation1天河二号天河二号是由中国国防科技大学开发的超级计算机,今年以持续计算速度每秒3.39亿亿次的优越性能位居榜首。天河二号有16,000个节点,每个节点两个IntelXeonIvyBridge的处理器及合共3,120,000个计算核心的三个至强披处理器。2泰坦泰坦是安装在美国能源部(DOE)的橡树岭国家实验室CrayXK7系统的超级计算机。泰坦使用261,632其的NVIDIAK20x加速器核心,取得了持续计算速度每秒1.76亿亿次的记录。泰坦是名单上最节能的系统之一,共消耗8.21兆瓦,并提供2,143MFLOPS/W。3红杉红杉是安装在美国能源部劳伦斯利弗莫尔国家实验室的一台IBM蓝色基因/Q系统超级计算机。红杉与2011出世,使用1572864核心并已取得了持续计算速度每秒1.72亿次的性能记录。红杉也是名单上最节能的系统之一,共消耗7.84兆瓦,提供2,031.6MFLOPS/W4K富士通的“K计算机”安装在日本神户的理化学研究所高级计算科学研究院(AICS),现在以持续计算速度每秒1.05亿亿次的记录位列第四,使用705,024SPARC64处理核心。5米拉米拉是第二个蓝色基因/Q系统的超级计算机,现在安装在阿尔贡国家实验室,名列第五位。持续计算速度每秒8.59千万亿次,使用786,432核心。12并行计算及系统架构并行计算机基础并行软件环境3高性能机群4并行计算机系统架构——类型Flynn分类:SISD,SIMD,MIMD,MISD结构模型:PVP,SMP,MPP,DSM,COW访存模型:UMA,NUMA,COMA,CC-NUMA,NORMA并行计算机系统架构——Flynn分类根据指令流和数据流的不同,通常把计算机系统分为四类:单指令流单数据流(SISD-SingleInstructionstreamSingleDatastream)单指令流多数据流(SIMD-SingleInstructionstreamMultipleDatastream)多指令流单数据流(MISD-MultipleInstructionstreamSingleDatastream)多指令流多数据流(MIMD-MultipleInstructionstreamMultipleDatastream)并行计算机系统架构——结构分类并行计算机系统架构——结构分类-SMPSMP对称多处理机系统对称共享存储:系统中的任何处理机均可直接访问任何内存模块的存储单元和I/O模块连接的I/O设备,且访问的延迟、带宽和访问成功率是一致的。所有内存模块的地址单元是统一编码的,各个处理机之间的地位相同。操作系统可以运行在任意一个处理机上。并行计算机系统架构——结构分类-SMP优势单一的操作系统映像:全系统只有一个操作系统,为每个处理器提供负载均衡。局部高速缓存及其数据一致性:每个处理器均有自己的高速缓存,它们可以拥有独立的局部数据,但是这些数据必须保持与存储器中的数据是一致的。低通信延迟:通过共享数据缓存区来完成处理器的通信,延迟远小于网络通信。共享总线的带宽:所有处理器通过一个总线完成对内存模块的数据和I/O设备的访问。支持消息传递、共享存储模式的并行程序设计。劣势欠可靠:总线、存储器或操作系统失效可导致系统全部瘫痪。可扩展性差:由于所有处理机共享同一个总线,而总线跟不上处理器速度和内存容量的发展步伐。因此,SMP并行计算机系统的处理机个数一般少于64个。并行计算机系统架构——结构分类-DSMDSM分布式共享存储多处理机分布共享存储:内存模块物理上局部于各个处理器内部,但逻辑上(用户)是共享存储的;这种结构也称为基于Cache目录的非一致内存访问(CC-NUMA)结构;与SMP的主要区别:DSM在物理上有分布在各个节点的局部内存从而形成一个共享的存储器;并行计算机系统架构——结构分类-DSM特点并行计算机以节点为单位:每个节点由一个或多个CPU组成,每个CPU拥有自己的局部高速缓存(Cache),并共享局部存储器和I/O设备,所有节点通过高性能网络互联。物理上分布存储:内存模块分布在各节点中,并通过高性能网络相互连接。单一的内存地址空间:将分布式的内存模块统一编址,形成了逻辑上的共享存储器。非一致内存访问(NUMA)模式:远端访问的延迟一般是本地访问延迟的3倍左右。单一的操作系统映像:类似SMP,用户只看到一个操作系统,各个节点动态负载均衡。基于高速缓存的数据一致性:采用基于目录的高速缓存一致性协议来保证各节点的局部高速缓存数据与存储器中的数据是一致的,既CC-NUMA结构。低通信延迟与高通信带宽:专用的高速互联网络使得节点间访问延迟小,通信带宽高。可扩展性高:DSM并行计算机可扩展到上千个节点。支持消息传递、共享存储并行程序设计。并行计算机系统架构——结构分类-MPPMPP大规模并行处理机系统MPP一般是指超大型(VeryLarge-Scale)计算机系统,由数万、数十万个处理器组成的大规模并行机。并行计算机系统架构——结构分类-MPPMPP特点节点数量多,这些节点由局部网卡通过高性能互联网络连接。每个节点都相对独立,并拥有一个或多个微处理机。这些微处理机都有局部高速缓存,并通过局部总线或互联网络与局部内存模块和I/O设备相连接。MPP的各个节点均拥有不同的操作系统映像,一般情况下,用户可以将作业提交给作业管理系统,由它来调度当前系统中有效的计算节点来执行该作业。同时,MPP系统也允许用户登录到指定的节点,或到某些特定的节点上运行作业。各个节点上的内存模块是相互独立的,且不存在全局内存单元的统一硬件编址。一般情况下,各个节点只能直接访问自身的局部内存模块。如果需要直接访问其它节点的内存模块,则必须有操作系统提供特殊的软件支持。并行计算机系统架构——结构分类-COWCOW工作站集群系统COW系统是由大量的PC机或者工作站通过商用网络连接在一起构成的。COW可以完全使用可以买到的商用组件装配而成,这些商用组件都是大规模生产的产品,因此能够获得较高的性价比。并行计算机系统架构——结构分类-COWCOW特点COW的每个节点都是一个完整的工作站(不包括监视器,键盘,鼠标等),一个节点也可以是一台PC或SMP;各节点通过一种低成本的商品网络(如以太网、FDDI和ATM开关等)互连(有的商用机群也使用定做的网络);各节点内总是有本地磁盘,而MPP节点内却没有;节点内的网络接口是松耦合到I/O总线上的,而MPP内的网络接口是连到处理节点的存储总线上的,因而可谓是紧耦合式的;一个完整的操作系统驻留在每个节点中,而MPP中通常只是个微核,COW的操作系统是工作站UNIX,加上一个附加的软件层以支持单一系统映像、并行度、通信和负载平衡等。并行计算机系统架构——结构分类-对比属性PVPSMPDSMMPPCOW结构类型MIMDMIMDMIMDMIMDMIMD处理器类型专用定制商用商用商用商用互连网络定制交叉开关总线、交叉开关定制网络定制网络商用网络通信机制共享变量共享变量共享变量消息传递消息传递地址空间单地址空间单地址空间单地址空间多地址空间多地址空间系统存储器集中共享集中共享分布共享分布非共享分布非共享访存模型UMAUMANUMANORMANORMA代表机器CrayC-90,CrayT-90,银河1号IBMR50,SGIPowerChallenge,曙光1号StanfordDASH,CrayT3DIntelParagon,IBMSP2,曙光1000/2000BerkeleyNOW,AlphaFarm并行计算机系统架构——访存模型并行计算机系统架构——访存模型-UMAUMA(UniformMemoryAccess)模型是均匀存储访问模型的简称。其特点是:物理存储器被所有处理器均匀共享;所有处理器访问任何存储字取相同的时间;每台处理器可带私有高速缓存;外围设备也可以一定形式共享。并行计算机系统架构——访存模型-NUMANUMA(NonuniformMemoryAccess)模型是非均匀存储访问模型的简称。特点是:被共享的存储器在物理上是分布在所有的处理器中的,其所有本地存储器的集合就组成了全局地址空间;处理器访问存储器的时间是不一样的;访问本地存储器LM或群内共享存储器CSM较快,而访问外地的存储器或全局共享存储器GSM较慢(此即非均匀存储访问名称的由来);每台处理器照例可带私有高速缓存,外设也可以某种形式共享。

并行计算机系统架构——访存模型-COMACOMA(Cache-OnlyMemoryAccess)模型是全高速缓存存储访问的简称。其特点是:各处理器节点中没有存储层次结构,全部高速缓存组成了全局地址空间;利用分布的高速缓存目录D进行远程高速缓存的访问;COMA中的高速缓存容量一般都大于2级高速缓存容量;使用COMA时,数据开始时可任意分配,因为在运行时它最终会被迁移到要用到它们的地方。

并行计算机系统架构——访存模型-CC-NUMACC-NUMA(Coherent-CacheNonuniformMemoryAccess)模型是高速缓存一致性非均匀存储访问模型的简称。其特点是:大多数使用基于目录的高速缓存一致性协议;保留SMP结构易于编程的优点,也改善常规SMP的可扩放性;CC-NUMA实际上是一个分布共享存储的DSM多处理机系统;它最显著的优点是程序员无需明确地在节点上分配数据,系统的硬件和软件开始时自动在各节点分配数据,在运行期间,高速缓存一致性硬件会自动地将数据迁移至要用到它的地方。

并行计算机系统架构——访存模型-NORMANORMA(No-RemoteMemoryAccess)模型是非远程存储访问模型的简称。NORMA的特点是:所有存储器是私有的;绝大数NUMA都不支持远程存储器的访问;在DSM中,NORMA就消失了。

并行计算机系统架构——访存模型-系统架构12并行计算及系统架构并行计算机基础并行软件环境3高性能机群4并行软件编写指令层,非常细的粒度数据层,细粒度控制层,中粒度任务层,大粒度

前两层大都由硬件和编译器负责处理,程序员通常处理后两层的并行

并行程序设计方式隐式并行程序设计:常用传统的语言编程成顺序源编码,把“并行”交给编译器实现自动并行程序的自动并行化是一个理想目标,存在难以克服的困难语言容易,编译器难显式并行程序设计:在用户程序中出现“并行”的调度语句显式的并行程序开发则是解决并行程序开发困难的切实可行的语言难,编译器容易并行软件环境并行程序设计模型隐式并行(ImplicitParallel)数据并行(DataParallel)共享变量(SharedVariable)消息传递(MessagePassing)并行软件环境-软件设计模型隐式并行(ImplicitParallel)

概况:程序员用熟悉的串行语言编程编译器或运行支持系统自动转化为并行代码特点:语义简单可移植性好单线程,易于调试和验证正确性效率很低并行软件环境-软件设计模型数据并行(DataParallel)概况:SIMD的自然模型局部计算和数据选路操作特点:单线程并行操作于聚合数据结构(数组)松散同步单一地址空间隐式交互作用显式数据分布并行软件环境-软件设计模型共享变量(SharedVariable)概况:PVP,SMP,DSM的自然模型特点:多线程:SPMD,MPMD异步单一地址空间显式同步隐式数据分布隐式通信并行软件环境——软件设计模型消息传递(MessagePassing)概况:MPP,COW的自然模型特点:多线程异步多地址空间显式同步显式数据映射和负载分配显式通信并行软件环境——并行编程标准数据并行语言标准Fortran90,HPF(1992),Fortran95/2001:显式数据分布描述,并行DO循环.线程库标准(ThreadLibrary)–Win32API.–POSIXthreads线程模型.编译制导(CompilerDirectives)–OpenMP:portablesharedmemoryparallelism消息传递库标准(MessagePassingLibraries)–MPI

:MessagePassingInterface–PVM:ParallelVirtualMachine共享变量编程消息传递编程数据并行编程并行软件环境——并行编程标准所有并行编程标准可分为以下三类:数据并行HPF,Fortran90用于SMP,DSM共享编程OpenMP用于SMP,DSM消息传递MPI,PVM用于所有并行计算机三者可混合使用:如对以SMP为节点的Cluster来说,可以在节点间进行消息传递,在节点内进行共享变量编程.并行软件环境——基于消息传递的并行程序设计消息传递并行程序设计指用户必须通过显式地发送和接收消息来实现处理机间的数据交换。在这种并行编程中,每个并行进程均有自己独立的地址空间,相互之间访问不能直接进行,必须通过显式的消息传递来实现。这种编程方式是大规模并行处理机(MPP)和机群(Cluster)采用的主要编程方式。并行计算粒度大,特别适合于大规模可扩展并行算法由于消息传递程序设计要求用户很好地分解问题,组织不同进程间的数据交换,并行计算粒度大,特别适合于大规模可扩展并行算法.消息传递是当前并行计算领域的一个非常重要的并行程序设计方式并行软件环境——基于消息传递的并行程序设计MassagePassingInterface:是消息传递函数库的标准规范,由MPI论坛开发,支持Fortran和C一种新的库描述,不是一种语言。共有上百个函数调用接口,在Fortran和C语言中可以直接对这些函数进行调用MPI是一种标准或规范的代表,而不是特指某一个对它的具体实现MPI是一种消息传递编程模型,并成为这种编程模型的代表和事实上的标准并行软件环境——基于消息传递的并行程序设计发展的两个阶段MPI1.1:1995MPICH:是MPI最流行的非专利实现,由Argonne国家实验室和密西西比州立大学联合开发,具有更好的可移植性.MPI1.2~2.0:动态进程,并行I/O,支持F90和C++(1997).高可移植性MPI已在IBMPC机上、MSWindows上、所有主要的Unix工作站上和所有主流的并行机上得到实现。使用MPI作消息传递的C或Fortran并行程序可不加改变地运行在IBMPC、MSWindows、Unix工作站、以及各种并行机上。并行软件环境——基于消息传递的并行程序设计开发时间:始于1989年开发单位:美国橡树岭(OakRidge)国家实验室、美国Tennessee大学和Emory大学联合研制特点:具有较好的适应性、可扩展性、可移植性和易使用性等特点,源代码可以获取,现已被用户广泛采纳。现状:目前对它的研究和开发工作仍在各大学和研究机构进行.随着它的不断流行,已经被移植到PVP、SMP、MPP、工作站和机群系统。PVM出现的时间较MPI早,且是一个自包含系统(MPI不是自包含的),同时PVM不是一个标准(MPI是个标准)。目前,PVM和MPI正在互相靠拢。PVM(ParallelVirtualMachine)并行虚拟机并行软件环境——基于消息传递的并行程序设计PVM系统的组成(两部分):PVM监控进程(DaemonProcess),称为pvmd,它常驻在虚拟机的每一台节点机上。PVM可调用的库,称为libpvm3.a,它与用户的应用程序链接,用于进程管理,消息传递和虚拟机管理。在PVM中,节点(anode)称为主机(ahost).进程(aprocess)称为任务(atask).

并行虚拟机的组成1~多台主机(硬件)唯一1个masterpvmd,运行在称为控制台的主机上0~多个slavepvmdPVM(ParallelVirtualMachine)并行虚拟机并行软件环境——共享存储并行机模型体系结构特点:多台处理机通过互联网络共享一个统一的内存空间,通过单一内存地址来实现处理机间的协调.内存空间也可由多个存储器模块构成.每台处理机可以执行相同或不同的指令流,每台处理机可以直接访问到所有数据.处理机间通信是借助于共享主存来实现的.可扩展性差,当处理机需要同时访问共享全局变量时,产生内存竞争现象而严重影响效率,比较适合中小规模应用问题的计算和事务处理.共享存储并行机模型并行软件环境——共享存储并行机模型共享存储器编程标准Pthreads(线程

温馨提示

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

评论

0/150

提交评论