版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、,高性能并行计算架构,浪潮电子信息产业股份有限公司 2013-11-18,1,2,并行计算及系统架构,并行计算机基础,并行软件环境,3,高性能机群,4,并行计算机基础,并行计算(Parallel Computing) 高性能计算(High Performance Computing) 超级计算(Super Computing) 任何高性能计算和超级计算都离不开使用并行技术 高性能计算HPC (High Performance Computing) 指通常使用很多处理器(作为单个机器的一部分)或者某一集群中组织的多台计算机(作为单个计 算资源操作)的计算系统和环境。,并行计算机基础发展历程,专用
2、时代包括向量机,MPP系统,SGI NUMA 系统,SUN大型SMP系统,也包括我国的神威,银河,曙光1000等。之所以称为“专用”,并不是说它们只能运行某种应用,是指它们的组成部件是专门设计的,它们的CPU板,内存板,I/O板,甚至操作系统,都是不能在其它系统中使用的。由于技术上桌面系统与高端系统的巨大差异,和用户群窄小。 普及时代高性能计算机价格下降,应用门槛降低,应用开始普及。两个技术趋势起到重要作用。商品化趋势使得大量生产的商品部件接近了高性能计算机专有部件标准化趋势使得这些部件之间能够集成一个系统中,其中X86处理器、以太网、内存部件、Linux都起到决定性作用。机群系统是高性能计算
3、机的一种,它的技术基础和工业基础都是商品化和标准化。,并行计算机基础TOP10,1,2,并行计算及系统架构,并行计算机基础,并行软件环境,3,高性能机群,4,并行计算机系统架构类型,Flynn分类: SISD, SIMD, MIMD, MISD 结构模型: PVP, SMP, MPP, DSM, COW 访存模型: UMA, NUMA, COMA, CC-NUMA, NORMA,并行计算机系统架构Flynn分类,根据指令流和数据流的不同,通常把计算机系统分为四类: 单指令流单数据流(SISD -Single Instruction stream Single Datastream) 单指令流多
4、数据流(SIMD- Single Instruction stream Multiple Datastream ) 多指令流单数据流(MISD- Multiple Instruction stream Single Datastream ) 多指令流多数据流(MIMD- Multiple Instruction stream Multiple Datastream ),并行计算机系统架构结构分类,并行计算机系统架构结构分类-SMP,SMP对称多处理机系统 对称共享存储:系统中的任何处理机均可直接访问任何内存模块的存储单元和I/O模块连接的I/O 设备,且访问的延迟、带宽和访问成功率是一致的。所
5、有内存模块的地址单元是统一编码的,各个处理机之间的地位相同。操作系统可以运行在任意一个处理机上。,并行计算机系统架构结构分类-SMP,优势 单一的操作系统映像:全系统只有一个操作系统,为每个处理器提供负载均衡。 局部高速缓存及其数据一致性:每个处理器均有自己的高速缓存,它们可以拥有独立的局部数据,但是这些数据必须保持与存储器中的数据是一致的。 低通信延迟:通过共享数据缓存区来完成处理器的通信,延迟远小于网络通信。 共享总线的带宽:所有处理器通过一个总线完成对内存模块的数据和I/O设备的访问。 支持消息传递、共享存储模式的并行程序设计。 劣势 欠可靠:总线、存储器或操作系统失效可导致系统全部瘫痪
6、。 可扩展性差:由于所有处理机共享同一个总线,而总线跟不上处理器速度和内存容量的发展步伐。因此,SMP 并行计算机系统的处理机个数一般少于64 个。,并行计算机系统架构结构分类-DSM,DSM分布式共享存储多处理机 分布共享存储: 内存模块物理上局部于各个处理器内部,但逻辑上(用户)是共享存储的;这种结构也称为基于Cache目录的非一致内存访问(CC-NUMA)结构; 与SMP的主要区别:DSM在物理上有分布在各个节点的局部内存从而形成一个共享的存储器;,并行计算机系统架构结构分类-DSM,特点 并行计算机以节点为单位:每个节点由一个或多个CPU 组成,每个CPU 拥有自己的局部高速缓存(Ca
7、che),并共享局部存储器和I/O 设备,所有节点通过高性能网络互联。 物理上分布存储:内存模块分布在各节点中,并通过高性能网络相互连接。 单一的内存地址空间:将分布式的内存模块统一编址,形成了逻辑上的共享存储器。 非一致内存访问(NUMA)模式:远端访问的延迟一般是本地访问延迟的3 倍左右。 单一的操作系统映像:类似SMP,用户只看到一个操作系统,各个节点动态负载均衡。 基于高速缓存的数据一致性:采用基于目录的高速缓存一致性协议来保证各节点的局部高速缓存数据与存储器中的数据是一致的,既CC-NUMA 结构。 低通信延迟与高通信带宽:专用的高速互联网络使得节点间访问延迟小,通信带宽高。 可扩展
8、性高:DSM 并行计算机可扩展到上千个节点。 支持消息传递、共享存储并行程序设计。,并行计算机系统架构结构分类-MPP,MPP大规模并行处理机系统 MPP一般是指超大型(Very Large-Scale)计算机系统,由数万、数十万个处理器组成的大规模并行机。,并行计算机系统架构结构分类-MPP,MPP特点 节点数量多,这些节点由局部网卡通过高性能互联网络连接。 每个节点都相对独立,并拥有一个或多个微处理机。这些微处理机都有局部高速缓存,并通过局部总线或互联网络与局部内存模块和I/O 设备相连接。 MPP 的各个节点均拥有不同的操作系统映像,一般情况下,用户可以将作业提交给作业管理系统,由它来调
9、度当前系统中有效的计算节点来执行该作业。同时,MPP系统也允许用户登录到指定的节点,或到某些特定的节点上运行作业。 各个节点上的内存模块是相互独立的,且不存在全局内存单元的统一硬件编址。一般情况下,各个节点只能直接访问自身的局部内存模块。如果需要直接访问其它节点的内存模块,则必须有操作系统提供特殊的软件支持。,并行计算机系统架构结构分类-COW,COW工作站集群系统 COW系统是由大量的PC机或者工作站通过商用网络连接在一起构成的。 COW可以完全使用可以买到的商用组件装配而成,这些商用组件都是大规模生产的产品,因此能够获得较高的性价比。,并行计算机系统架构结构分类-COW,COW特点 COW
10、的每个节点都是一个完整的工作站(不包括监视器,键盘,鼠标等),一个节点也可以是一台PC或SMP; 各节点通过一种低成本的商品网络(如以太网、FDDI和ATM开关等)互连(有的商用机群也使用定做的网络); 各节点内总是有本地磁盘,而MPP节点内却没有; 节点内的网络接口是松耦合到I/O总线上的,而MPP内的网络接口是连到处理节点的存储总线上的,因而可谓是紧耦合式的; 一个完整的操作系统驻留在每个节点中,而MPP中通常只是个微核,COW的操作系统是工作站UNIX,加上一个附加的软件层以支持单一系统映像、并行度、通信和负载平衡等。,并行计算机系统架构结构分类-对比,并行计算机系统架构访存模型,并行计
11、算机系统架构访存模型-UMA,UMA(Uniform Memory Access)模型是均匀存储访问模型的简称。其特点是: 物理存储器被所有处理器均匀共享; 所有处理器访问任何存储字取相同的时间; 每台处理器可带私有高速缓存; 外围设备也可以一定形式共享。,并行计算机系统架构访存模型-NUMA,NUMA(Nonuniform Memory Access)模型是非均匀存储访问模型的简称。特点是: 被共享的存储器在物理上是分布在所有的处理器中的,其所有本地存储器的集合就组成了全局地址空间; 处理器访问存储器的时间是不一样的;访问本地存储器LM或群内共享存储器CSM较快,而访问外地的存储器或全局共享
12、存储器GSM较慢(此即非均匀存储访问名称的由来); 每台处理器照例可带私有高速缓存,外设也可以某种形式共享。,并行计算机系统架构访存模型-COMA,COMA(Cache-Only Memory Access)模型是全高速缓存存储访问的简称。其特点是: 各处理器节点中没有存储层次结构,全部高速缓存组成了全局地址空间; 利用分布的高速缓存目录D进行远程高速缓存的访问; COMA中的高速缓存容量一般都大于2 级高速缓存容量; 使用COMA时,数据开始时可任意分配,因为在运行时它最终会被迁移到要用到它们的地方。,并行计算机系统架构访存模型-CC-NUMA,CC-NUMA(Coherent-Cache
13、Nonuniform Memory Access)模型是高速缓存一致性非均匀存储访问模型的简称。其特点是: 大多数使用基于目录的高速缓存一致性协议; 保留SMP结构易于编程的优点,也改善常规SMP的可扩放性; CC-NUMA实际上是一个分布共享存储的DSM多处理机系统; 它最显著的优点是程序员无需明确地在节点上分配数据,系统的硬件和软件开始时自动在各节点分配数据,在运行期间,高速缓存一致性硬件会自动地将数据迁移至要用到它的地方。,并行计算机系统架构访存模型-NORMA,NORMA(No-Remote Memory Access)模型是非远程存储访问模型的简称。NORMA的特点是: 所有存储器是
14、私有的; 绝大数NUMA都不支持远程存储器的访问; 在DSM中,NORMA就消失了。,并行计算机系统架构访存模型-系统架构,1,2,并行计算及系统架构,并行计算机基础,并行软件环境,3,高性能机群,4,并行软件编写,指令层,非常细的粒度 数据层,细粒度 控制层,中粒度 任务层,大粒度 前两层大都由硬件和编译器负责处理,程序员通常处理后两层的并行,并行程序设计方式,隐式并行程序设计: 常用传统的语言编程成顺序源编码,把“并行”交给编译器实现自动并行 程序的自动并行化是一个理想目标,存在难以克服的困难 语言容易,编译器难 显式并行程序设计: 在用户程序中出现“并行”的调度语句 显式的并行程序开发则
15、是解决并行程序开发困难的切实可行的 语言难,编译器容易,并行软件环境,并行程序设计模型 隐式并行(Implicit Parallel) 数据并行(Data Parallel) 共享变量(Shared Variable) 消息传递(Message Passing),并行软件环境-软件设计模型,隐式并行(Implicit Parallel) 概况: 程序员用熟悉的串行语言编程 编译器或运行支持系统自动转化为并行代码 特点: 语义简单 可移植性好 单线程,易于调试和验证正确性 效率很低,并行软件环境-软件设计模型,数据并行(Data Parallel) 概况: SIMD的自然模型 局部计算和数据选路
16、操作 特点: 单线程 并行操作于聚合数据结构(数组) 松散同步 单一地址空间 隐式交互作用 显式数据分布,并行软件环境-软件设计模型,共享变量(Shared Variable) 概况: PVP, SMP, DSM的自然模型 特点: 多线程:SPMD, MPMD 异步 单一地址空间 显式同步 隐式数据分布 隐式通信,并行软件环境软件设计模型,消息传递(Message Passing) 概况: MPP, COW的自然模型 特点: 多线程 异步 多地址空间 显式同步 显式数据映射和负载分配 显式通信,并行软件环境并行编程标准,数据并行语言标准 Fortran90, HPF(1992), Fortra
17、n95/2001:显式数据分布描述,并行DO循环. 线程库标准(Thread Library) Win32 API. POSIX threads线程模型. 编译制导(Compiler Directives) OpenMP : portable shared memory parallelism 消息传递库标准(Message Passing Libraries) MPI : Message Passing Interface PVM : Parallel Virtual Machine,共享变量编程,消息传递编程,数据并行编程,并行软件环境并行编程标准,所有并行编程标准可分为以下三类: 数据并
18、行 HPF, Fortran90 用于SMP, DSM 共享编程 OpenMP 用于SMP, DSM 消息传递 MPI, PVM 用于所有并行计算机 三者可混合使用: 如对以SMP为节点的Cluster来说, 可以在节点间进行消息传递,在节点内进行共享变量编程.,并行软件环境基于消息传递的并行程序设计,消息传递并行程序设计 指用户必须通过显式地发送和接收消息来实现处理机间的数据交换。 在这种并行编程中,每个并行进程均有自己独立的地址空间,相互之间访问不能直接进行,必须通过显式的消息传递来实现。 这种编程方式是大规模并行处理机(MPP)和机群(Cluster)采用的主要编程方式。 并行计算粒度大
19、,特别适合于大规模可扩展并行算法 由于消息传递程序设计要求用户很好地分解问题,组织不同进程间的数据交换,并行计算粒度大,特别适合于大规模可扩展并行算法. 消息传递是当前并行计算领域的一个非常重要的并行程序设计方式,并行软件环境基于消息传递的并行程序设计,Massage Passing Interface:是消息传递函数库的标准规范,由MPI论坛开发,支持Fortran和C 一种新的库描述,不是一种语言。共有上百个函数调用接口,在Fortran和C语言中可以直接对这些函数进行调用 MPI是一种标准或规范的代表,而不是特指某一个对它的具体实现 MPI是一种消息传递编程模型,并成为这种编程模型的代表
20、和事实上的标准,并行软件环境基于消息传递的并行程序设计,发展的两个阶段 MPI 1.1: 1995 MPICH:是MPI最流行的非专利实现,由Argonne国家实验室和密西西比州立大学联合开发,具有更好的可移植性. MPI 1.22.0:动态进程, 并行 I/O, 支持F90和C+(1997). 高可移植性 MPI已在IBM PC机上、MS Windows上、所有主要的Unix工作站上和所有主流的并行机上得到实现。使用MPI作消息传递的C或Fortran并行程序可不加改变地运行在IBM PC、MS Windows、Unix工作站、以及各种并行机上。,并行软件环境基于消息传递的并行程序设计,开发
21、时间: 始于1989年 开发单位: 美国橡树岭(Oak Ridge)国家实验室、美国Tennessee大学和Emory大学联合研制 特点: 具有较好的适应性、可扩展性、可移植性和易使用性等特点, 源代码可以免费获取, 现已被用户广泛采纳。 现状: 目前对它的研究和开发工作仍在各大学和研究机构进行. 随着它的不断流行, 已经被移植到PVP、SMP、MPP、工作站和机群系统。 PVM出现的时间较MPI早,且是一个自包含系统(MPI不是自包含的),同时PVM不是一个标准(MPI是个标准)。目前,PVM和MPI正在互相靠拢。,PVM(Parallel Virtual Machine)并行虚拟机,并行软
22、件环境基于消息传递的并行程序设计,PVM系统的组成(两部分): PVM监控进程(Daemon Process), 称为pvmd, 它常驻在虚拟机的每一台节点机上。 PVM可调用的库, 称为libpvm3.a, 它与用户的应用程序链接, 用于进程管理, 消息传递和虚拟机管理。 在PVM中, 节点(a node)称为主机(a host). 进程(aprocess)称为任务(a task). 并行虚拟机的组成 1多台主机(硬件) 唯一1个master pvmd, 运行在称为控制台的主机上 0多个slave pvmd,PVM(Parallel Virtual Machine)并行虚拟机,并行软件环境共
23、享存储并行机模型,体系结构特点: 多台处理机通过互联网络共享一个统一的内存空间,通过单一内存地址来实现处理机间的协调. 内存空间也可由多个存储器模块构成. 每台处理机可以执行相同或不同的指令流,每台处理机可以直接访问到所有数据. 处理机间通信是借助于共享主存来实现的. 可扩展性差,当处理机需要同时访问共享全局变量时,产生内存竞争现象而严重影响效率,比较适合中小规模应用问题的计算和事务处理.,共享存储并行机模型,并行软件环境共享存储并行机模型,共享存储器编程标准 Pthreads(线程标准) X3H5(线程标准) OpenMP(最常用的共享存储并行编程方式,是我们讨论的重点.) 共享存储器编程特点 显式多线程库调用.(Pthreads). 编译
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理安全管理中的药物安全
- 护理礼仪的案例分析
- 护理人员职业发展与继续教育
- 护理老年病学教学课件与教案制作
- 高考作文10篇(题目+范文+审题立意)
- 护理团队协作与沟通机制优化
- 2026届广州一模物理试题+答案
- 护理直播中的护理记录规范
- 《土与火的艺术》教学课件-2025-2026学年苏少版(新教材)小学美术二年级下册
- 矿产资源规划与政策研究
- 2026年安徽省高职单招职业适应性测试考试题库带答案详解
- 2026年食品安全与环境管理的关系
- 2026湖南省卫生健康委直属事业单位招聘185人考试备考题库及答案解析
- 《慢性支气管炎诊断与治疗指南(2025年版)》
- 水运工程结构防腐蚀施工规范 JTS-T 209-2020
- PFNA手术体位摆放的配合
- 医院宣传工作培训课件
- 测量管理体系标准宣贯ppt课件
- 前期手续横道图
- 计算机各种进制转换练习题(附答案)参考模板
- 东北地区的产业分布
评论
0/150
提交评论