1、自主创新安全可控自主创新安全可控高性能并行计算架构浪潮电子信息产业股份有限公司2013-11-18自主创新安全可控自主创新安全可控12并行计算及系统架构并行计算机基础并行软件环境3高性能机群4自主创新安全可控自主创新安全可控并行计算机基础并行计算(Parallel Computing)高性能计算(High Performance Computing)超级计算(Super Computing)任何高性能计算和超级计算都离不开使用并行技术高性能计算HPC (High Performance Computing) 指通常使用很多处理器(作为单个机器的一部分)或者某一集群中组织的多台计算机(作为单个计
2、 算资源操作)的计算系统和环境。自主创新安全可控自主创新安全可控并行计算机基础发展历程专用时代包括向量机,MPP系统,SGI NUMA 系统,SUN大型SMP系统,也包括我国的神威,银河,曙光1000等。之所以称为“专用”,并不是说它们只能运行某种应用,是指它们的组成部件是专门设计的,它们的CPU板,内存板,I/O板,甚至操作系统,都是不能在其它系统中使用的。由于技术上桌面系统与高端系统的巨大差异,和用户群窄小。普及时代高性能计算机价格下降,应用门槛降低,应用开始普及。两个技术趋势起到重要作用。商品化趋势使得大量生产的商品部件接近了高性能计算机专有部件标准化趋势使得这些部件之间能够集成一个系统
3、中,其中X86处理器、以太网、内存部件、Linux都起到决定性作用。机群系统是高性能计算机的一种,它的技术基础和工业基础都是商品化和标准化。自主创新安全可控自主创新安全可控并行计算机基础TOP10nonameinformation1天河二号天河二号是由中国国防科技大学开发的超级计算机,今年以持续计算速度每秒3.39亿亿次的优越性能位居榜首。天河二号有16,000个节点,每个节点两个Intel Xeon IvyBridge的处理器及合共3,120,000个计算核心的三个至强披处理器。2泰坦泰坦是安装在美国能源部(DOE)的橡树岭国家实验室Cray XK7系统的超级计算机。泰坦使用261,632其
4、的NVIDIA K20 x加速器核心,取得了持续计算速度每秒1.76亿亿次的记录。泰坦是名单上最节能的系统之一,共消耗8.21兆瓦,并提供2,143 MFLOPS / W。3红杉红杉是安装在美国能源部劳伦斯利弗莫尔国家实验室的一台IBM蓝色基因/ Q系统超级计算机。红杉与2011出世,使用1572864核心并已取得了持续计算速度每秒1.72亿次的性能记录。红杉也是名单上最节能的系统之一,共消耗7.84兆瓦,提供2,031.6 MFLOPS / W4K富士通的“K计算机”安装在日本神户的理化学研究所高级计算科学研究院( AICS ),现在以持续计算速度每秒1.05亿亿次的记录位列第四,使用705
5、,024 SPARC64处理核心。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分类根据指
6、令流和数据流的不同,通常把计算机系统分为四类: 单指令流单数据流(SISD -Single Instruction stream Single Datastream) 单指令流多数据流(SIMD- Single Instruction stream Multiple Datastream ) 多指令流单数据流(MISD- Multiple Instruction stream Single Datastream ) 多指令流多数据流(MIMD- Multiple Instruction stream Multiple Datastream )自主创新安全可控自主创新安全可控并行计算机系统架构结
7、构分类自主创新安全可控自主创新安全可控并行计算机系统架构结构分类-SMP SMP对称多处理机系统对称共享存储:系统中的任何处理机均可直接访问任何内存模块的存储单元和I/O模块连接的I/O 设备,且访问的延迟、带宽和访问成功率是一致的。所有内存模块的地址单元是统一编码的,各个处理机之间的地位相同。操作系统可以运行在任意一个处理机上。自主创新安全可控自主创新安全可控并行计算机系统架构结构分类-SMP优势单一的操作系统映像:全系统只有一个操作系统,为每个处理器提供负载均衡。局部高速缓存及其数据一致性:每个处理器均有自己的高速缓存,它们可以拥有独立的局部数据,但是这些数据必须保持与存储器中的数据是一致
8、的。低通信延迟:通过共享数据缓存区来完成处理器的通信,延迟远小于网络通信。共享总线的带宽:所有处理器通过一个总线完成对内存模块的数据和I/O设备的访问。支持消息传递、共享存储模式的并行程序设计。劣势欠可靠:总线、存储器或操作系统失效可导致系统全部瘫痪。可扩展性差:由于所有处理机共享同一个总线,而总线跟不上处理器速度和内存容量的发展步伐。因此,SMP 并行计算机系统的处理机个数一般少于64 个。自主创新安全可控自主创新安全可控并行计算机系统架构结构分类-DSMDSM分布式共享存储多处理机分布共享存储: 内存模块物理上局部于各个处理器内部,但逻辑上(用户)是共享存储的;这种结构也称为基于Cache
9、目录的非一致内存访问(CC-NUMA)结构;与SMP的主要区别:DSM在物理上有分布在各个节点的局部内存从而形成一个共享的存储器;自主创新安全可控自主创新安全可控并行计算机系统架构结构分类-DSM特点并行计算机以节点为单位:每个节点由一个或多个CPU 组成,每个CPU 拥有自己的局部高速缓存(Cache),并共享局部存储器和I/O 设备,所有节点通过高性能网络互联。物理上分布存储:内存模块分布在各节点中,并通过高性能网络相互连接。单一的内存地址空间:将分布式的内存模块统一编址,形成了逻辑上的共享存储器。非一致内存访问(NUMA)模式:远端访问的延迟一般是本地访问延迟的3 倍左右。单一的操作系统
10、映像:类似SMP,用户只看到一个操作系统,各个节点动态负载均衡。基于高速缓存的数据一致性:采用基于目录的高速缓存一致性协议来保证各节点的局部高速缓存数据与存储器中的数据是一致的,既CC-NUMA 结构。低通信延迟与高通信带宽:专用的高速互联网络使得节点间访问延迟小,通信带宽高。可扩展性高:DSM 并行计算机可扩展到上千个节点。支持消息传递、共享存储并行程序设计。自主创新安全可控自主创新安全可控并行计算机系统架构结构分类-MPP MPP大规模并行处理机系统MPP一般是指超大型(Very Large-Scale)计算机系统,由数万、数十万个处理器组成的大规模并行机。自主创新安全可控自主创新安全可控
11、并行计算机系统架构结构分类-MPP MPP特点节点数量多,这些节点由局部网卡通过高性能互联网络连接。每个节点都相对独立,并拥有一个或多个微处理机。这些微处理机都有局部高速缓存,并通过局部总线或互联网络与局部内存模块和I/O 设备相连接。MPP 的各个节点均拥有不同的操作系统映像,一般情况下,用户可以将作业提交给作业管理系统,由它来调度当前系统中有效的计算节点来执行该作业。同时,MPP系统也允许用户登录到指定的节点,或到某些特定的节点上运行作业。各个节点上的内存模块是相互独立的,且不存在全局内存单元的统一硬件编址。一般情况下,各个节点只能直接访问自身的局部内存模块。如果需要直接访问其它节点的内存
12、模块,则必须有操作系统提供特殊的软件支持。自主创新安全可控自主创新安全可控并行计算机系统架构结构分类-COW COW工作站集群系统 COW系统是由大量的PC机或者工作站通过商用网络连接在一起构成的。 COW可以完全使用可以买到的商用组件装配而成,这些商用组件都是大规模生产的产品,因此能够获得较高的性价比。自主创新安全可控自主创新安全可控并行计算机系统架构结构分类-COW COW特点COW的每个节点都是一个完整的工作站(不包括监视器,键盘,鼠标等),一个节点也可以是一台PC或SMP;各节点通过一种低成本的商品网络(如以太网、FDDI和ATM开关等)互连(有的商用机群也使用定做的网络);各节点内总
13、是有本地磁盘,而MPP节点内却没有;节点内的网络接口是松耦合到I/O总线上的,而MPP内的网络接口是连到处理节点的存储总线上的,因而可谓是紧耦合式的;一个完整的操作系统驻留在每个节点中,而MPP中通常只是个微核,COW的操作系统是工作站UNIX,加上一个附加的软件层以支持单一系统映像、并行度、通信和负载平衡等。自主创新安全可控自主创新安全可控并行计算机系统架构结构分类-对比属性PVPSMPDSMMPPCOW结构类型MIMDMIMDMIMDMIMDMIMD处理器类型专用定制商用商用商用商用互连网络定制交叉开关总线、交叉开关定制网络定制网络商用网络通信机制共享变量共享变量共享变量消息传递消息传递地
14、址空间单地址空间单地址空间单地址空间多地址空间多地址空间系统存储器集中共享集中共享分布共享分布非共享分布非共享访存模型UMAUMANUMANORMANORMA代表机器Cray C-90,Cray T-90,银河1号IBM R50,SGI Power Challenge,曙光1号Stanford DASH,Cray T 3DIntel Paragon, IBMSP2,曙光1000/2000Berkeley NOW,Alpha Farm自主创新安全可控自主创新安全可控并行计算机系统架构访存模型自主创新安全可控自主创新安全可控并行计算机系统架构访存模型-UMA UMA(Uniform Memory
15、Access)模型是均匀存储访问模型的简称。其特点是: 物理存储器被所有处理器均匀共享; 所有处理器访问任何存储字取相同的时间; 每台处理器可带私有高速缓存; 外围设备也可以一定形式共享。自主创新安全可控自主创新安全可控并行计算机系统架构访存模型-NUMA NUMA(Nonuniform Memory Access)模型是非均匀存储访问模型的简称。特点是: 被共享的存储器在物理上是分布在所有的处理器中的,其所有本地存储器的集合就组成了全局地址空间; 处理器访问存储器的时间是不一样的;访问本地存储器LM或群内共享存储器CSM较快,而访问外地的存储器或全局共享存储器GSM较慢(此即非均匀存储访问名
16、称的由来); 每台处理器照例可带私有高速缓存,外设也可以某种形式共享。 自主创新安全可控自主创新安全可控并行计算机系统架构访存模型-COMA COMA(Cache-Only Memory Access)模型是全高速缓存存储访问的简称。其特点是: 各处理器节点中没有存储层次结构,全部高速缓存组成了全局地址空间; 利用分布的高速缓存目录D进行远程高速缓存的访问; COMA中的高速缓存容量一般都大于2 级高速缓存容量; 使用COMA时,数据开始时可任意分配,因为在运行时它最终会被迁移到要用到它们的地方。 自主创新安全可控自主创新安全可控并行计算机系统架构访存模型-CC-NUMA CC-NUMA(Co
17、herent-Cache Nonuniform Memory Access)模型是高速缓存一致性非均匀存储访问模型的简称。其特点是: 大多数使用基于目录的高速缓存一致性协议; 保留SMP结构易于编程的优点,也改善常规SMP的可扩放性; CC-NUMA实际上是一个分布共享存储的DSM多处理机系统; 它最显著的优点是程序员无需明确地在节点上分配数据,系统的硬件和软件开始时自动在各节点分配数据,在运行期间,高速缓存一致性硬件会自动地将数据迁移至要用到它的地方。 自主创新安全可控自主创新安全可控并行计算机系统架构访存模型-NORMA自主创新安全可控自主创新安全可控并行计算机系统架构访存模型-系统架构自
18、主创新安全可控自主创新安全可控12并行计算及系统架构并行计算机基础并行软件环境3高性能机群4自主创新安全可控自主创新安全可控并行软件编写指令层,非常细的粒度数据层,细粒度控制层,中粒度任务层,大粒度 前两层大都由硬件和编译器负责处理,程序员通常处理后两层的并行 自主创新安全可控自主创新安全可控并行程序设计方式 隐式并行程序设计: 常用传统的语言编程成顺序源编码,把“并行”交给编译器实现自动并行 程序的自动并行化是一个理想目标,存在难以克服的困难 语言容易,编译器难 显式并行程序设计: 在用户程序中出现“并行”的调度语句 显式的并行程序开发则是解决并行程序开发困难的切实可行的 语言难,编译器容易
19、自主创新安全可控自主创新安全可控并行软件环境并行程序设计模型 隐式并行(Implicit Parallel) 数据并行(Data Parallel) 共享变量(Shared Variable) 消息传递(Message Passing)自主创新安全可控自主创新安全可控并行软件环境-软件设计模型隐式并行(Implicit Parallel) 概况: 程序员用熟悉的串行语言编程 编译器或运行支持系统自动转化为并行代码 特点: 语义简单 可移植性好 单线程,易于调试和验证正确性 效率很低自主创新安全可控自主创新安全可控并行软件环境-软件设计模型数据并行(Data Parallel) 概况: SIMD
20、的自然模型 局部计算和数据选路操作 特点: 单线程 并行操作于聚合数据结构(数组) 松散同步 单一地址空间 隐式交互作用 显式数据分布自主创新安全可控自主创新安全可控并行软件环境-软件设计模型共享变量(Shared Variable) 概况: PVP, SMP, DSM的自然模型 特点: 多线程:SPMD, MPMD 异步 单一地址空间 显式同步 隐式数据分布 隐式通信自主创新安全可控自主创新安全可控并行软件环境软件设计模型消息传递(Message Passing) 概况: MPP, COW的自然模型 特点: 多线程 异步 多地址空间 显式同步 显式数据映射和负载分配 显式通信自主创新安全可控
21、自主创新安全可控并行软件环境并行编程标准z 数据并行语言标准Fortran90, HPF(1992), Fortran95/2001:显式数据分布描述,并行DO循环.z 线程库标准(Thread Library) Win32 API. POSIX threads线程模型.z 编译制导(Compiler Directives) OpenMP : portable shared memory parallelismz 消息传递库标准(Message Passing Libraries) MPI : Message Passing Interface PVM : Parallel Virtual M
22、achine共享变量编程消息传递编程数据并行编程自主创新安全可控自主创新安全可控并行软件环境并行编程标准 所有并行编程标准可分为以下三类: 数据并行 HPF, Fortran90 用于SMP, DSM 共享编程 OpenMP 用于SMP, DSM 消息传递 MPI, PVM 用于所有并行计算机 三者可混合使用: 如对以SMP为节点的Cluster来说, 可以在节点间进行消息传递,在节点内进行共享变量编程.自主创新安全可控自主创新安全可控并行软件环境基于消息传递的并行程序设计 消息传递并行程序设计 指用户必须通过显式地发送和接收消息来实现处理机间的数据交换。 在这种并行编程中,每个并行进程均有自
23、己独立的地址空间,相互之间访问不能直接进行,必须通过显式的消息传递来实现。 这种编程方式是大规模并行处理机(MPP)和机群(Cluster)采用的主要编程方式。 并行计算粒度大,特别适合于大规模可扩展并行算法 由于消息传递程序设计要求用户很好地分解问题,组织不同进程间的数据交换,并行计算粒度大,特别适合于大规模可扩展并行算法. 消息传递是当前并行计算领域的一个非常重要的并行程序设计方式自主创新安全可控自主创新安全可控并行软件环境基于消息传递的并行程序设计 Massage Passing Interface:是消息传递函数库的标准规范,由MPI论坛开发,支持Fortran和C 一种新的库描述,不
24、是一种语言。共有上百个函数调用接口,在Fortran和C语言中可以直接对这些函数进行调用 MPI是一种标准或规范的代表,而不是特指某一个对它的具体实现 MPI是一种消息传递编程模型,并成为这种编程模型的代表和事实上的标准自主创新安全可控自主创新安全可控并行软件环境基于消息传递的并行程序设计 发展的两个阶段 MPI 1.1: 1995 MPICH:是MPI最流行的非专利实现,由Argonne国家实验室和密西西比州立大学联合开发,具有更好的可移植性. MPI 1.22.0:动态进程, 并行 I/O, 支持F90和C+(1997). 高可移植性 MPI已在IBM PC机上、MS Windows上、所
25、有主要的Unix工作站上和所有主流的并行机上得到实现。使用MPI作消息传递的C或Fortran并行程序可不加改变地运行在IBM PC、MS Windows、Unix工作站、以及各种并行机上。自主创新安全可控自主创新安全可控并行软件环境基于消息传递的并行程序设计开发时间: 始于1989年开发单位: 美国橡树岭(Oak Ridge)国家实验室、美国Tennessee大学和Emory大学联合研制特点: 具有较好的适应性、可扩展性、可移植性和易使用性等特点, 源代码可以免费获取, 现已被用户广泛采纳。现状: 目前对它的研究和开发工作仍在各大学和研究机构进行. 随着它的不断流行, 已经被移植到PVP、S
26、MP、MPP、工作站和机群系统。PVM出现的时间较MPI早,且是一个自包含系统(MPI不是自包含的),同时PVM不是一个标准(MPI是个标准)。目前,PVM和MPI正在互相靠拢。PVM(Parallel Virtual Machine)并行虚拟机自主创新安全可控自主创新安全可控并行软件环境基于消息传递的并行程序设计PVM系统的组成(两部分): PVM监控进程(Daemon Process), 称为pvmd, 它常驻在虚拟机的每一台节点机上。 PVM可调用的库, 称为libpvm3.a, 它与用户的应用程序链接, 用于进程管理, 消息传递和虚拟机管理。在PVM中, 节点(a node)称为主机(
27、a host). 进程(aprocess)称为任务(a task). 并行虚拟机的组成 1多台主机(硬件) 唯一1个master pvmd, 运行在称为控制台的主机上 0多个slave pvmdPVM(Parallel Virtual Machine)并行虚拟机自主创新安全可控自主创新安全可控并行软件环境共享存储并行机模型体系结构特点体系结构特点:多台处理机通过互联网络共享一个统一的内存空间,通过单一内存地址单一内存地址来实现处理机间的协调.内存空间也可由多个存储器模块构成.每台处理机可以执行相同或不同的指令流,每台处理机可以直接访问到所有数据.处理机间通信是借助于共享主存来通信是借助于共享主
28、存来实现的实现的.可扩展性差,当处理机需要同时访问共享全局变量时,产生内存竞争现象而严重影响效率,比较适合中小规模应用问题的计算和事务处理.共享存储并行机模型自主创新安全可控自主创新安全可控并行软件环境共享存储并行机模型 共享存储器编程标准 Pthreads(线程标准) X3H5(线程标准) OpenMP(最常用的共享存储并行编程方式,是我们讨论的重点.) 共享存储器编程特点 显式多线程库调用.(Pthreads). 编译制导语句,OpenMP等. 语言 C,Fortran77,Fortran90/95,C+自主创新安全可控自主创新安全可控12并行计算及系统架构并行计算机基础并行软件环境3高性
29、能机群4自主创新安全可控自主创新安全可控高性能机群 高性能机群(cluster)系统是互相连接的多个独立计算机的集合,这些计算机可以是单机或多处理器系统(PC、工作站或SMP),每个结点都有自己的存储器、I/O设备和操作系统。 机群对用户和应用来说是一个单一的系统,它可以提供低价高效的高性能环境和快速可靠的服务。 通常指的是COW、NORMA自主创新安全可控自主创新安全可控高性能层次架构应用层机群操作系统层(DCOS)系统软件层(OS, 编译器)硬件层(节点, 网络等)自主创新安全可控自主创新安全可控高性能机群架构自主创新安全可控自主创新安全可控高性能机群硬件组成l 机柜(含供电电源);l 节
30、点机(计算节点,登陆节点, I/O节点,监控节点);l 互连网络,每种网络连接机群的全部或部分节点: 管理网(百兆以太网); 数据网(千兆以太网); 计算网(Infiniband等); 监控网(监控系统网络); KVM网(SKVM系统); 存储网(SAN存储网络);l 存储系统:盘阵或SAN存储;自主创新安全可控自主创新安全可控高性能机群软件石油领域:Geoeast、paradigm、cgg、omega、VSS物理化学:VASP、Gaussian材料化学:Materials Studio环保领域:MM5、Grapes、WRF结构力学:ABAQUS、NASTRAN性能评估:LINPACK、HPCC、NPB等等流体力学:fluent、CFX、Star_CD分子动力学:NAMD、GROWMACS、AMBER生物计算:BLAST、FASTA、MEME并行文件系统和数据库:DCFS2、PVFS2、Lustre、Oracle RAC机群管理和监控系统:DCOS、DCMMII、Rocks、OSCAR自主创新安全可控自主创新安全可控谢谢!