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

下载本文档

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

文档简介

高性能并行计算架构 浪潮电子信息产业股份有限公司2013 11 18 1 2 并行计算及系统架构 并行计算机基础 并行软件环境 3 高性能机群 4 并行计算机基础 并行计算 ParallelComputing 高性能计算 HighPerformanceComputing 超级计算 SuperComputing 任何高性能计算和超级计算都离不开使用并行技术高性能计算HPC HighPerformanceComputing 指通常使用很多处理器 作为单个机器的一部分 或者某一集群中组织的多台计算机 作为单个计算资源操作 的计算系统和环境 并行计算机基础 发展历程 专用时代包括向量机 MPP系统 SGINUMA系统 SUN大型SMP系统 也包括我国的神威 银河 曙光1000等 之所以称为 专用 并不是说它们只能运行某种应用 是指它们的组成部件是专门设计的 它们的CPU板 内存板 I O板 甚至操作系统 都是不能在其它系统中使用的 由于技术上桌面系统与高端系统的巨大差异 和用户群窄小 普及时代高性能计算机价格下降 应用门槛降低 应用开始普及 两个技术趋势起到重要作用 商品化趋势使得大量生产的商品部件接近了高性能计算机专有部件标准化趋势使得这些部件之间能够集成一个系统中 其中X86处理器 以太网 内存部件 Linux都起到决定性作用 机群系统是高性能计算机的一种 它的技术基础和工业基础都是商品化和标准化 并行计算机基础 TOP10 1 2 并行计算及系统架构 并行计算机基础 并行软件环境 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 并行计算机系统架构 结构分类 并行计算机系统架构 结构分类 SMP SMP对称多处理机系统对称共享存储 系统中的任何处理机均可直接访问任何内存模块的存储单元和I O模块连接的I O设备 且访问的延迟 带宽和访问成功率是一致的 所有内存模块的地址单元是统一编码的 各个处理机之间的地位相同 操作系统可以运行在任意一个处理机上 并行计算机系统架构 结构分类 SMP 优势单一的操作系统映像 全系统只有一个操作系统 为每个处理器提供负载均衡 局部高速缓存及其数据一致性 每个处理器均有自己的高速缓存 它们可以拥有独立的局部数据 但是这些数据必须保持与存储器中的数据是一致的 低通信延迟 通过共享数据缓存区来完成处理器的通信 延迟远小于网络通信 共享总线的带宽 所有处理器通过一个总线完成对内存模块的数据和I O设备的访问 支持消息传递 共享存储模式的并行程序设计 劣势欠可靠 总线 存储器或操作系统失效可导致系统全部瘫痪 可扩展性差 由于所有处理机共享同一个总线 而总线跟不上处理器速度和内存容量的发展步伐 因此 SMP并行计算机系统的处理机个数一般少于64个 并行计算机系统架构 结构分类 DSM DSM分布式共享存储多处理机分布共享存储 内存模块物理上局部于各个处理器内部 但逻辑上 用户 是共享存储的 这种结构也称为基于Cache目录的非一致内存访问 CC NUMA 结构 与SMP的主要区别 DSM在物理上有分布在各个节点的局部内存从而形成一个共享的存储器 并行计算机系统架构 结构分类 DSM 特点并行计算机以节点为单位 每个节点由一个或多个CPU组成 每个CPU拥有自己的局部高速缓存 Cache 并共享局部存储器和I O设备 所有节点通过高性能网络互联 物理上分布存储 内存模块分布在各节点中 并通过高性能网络相互连接 单一的内存地址空间 将分布式的内存模块统一编址 形成了逻辑上的共享存储器 非一致内存访问 NUMA 模式 远端访问的延迟一般是本地访问延迟的3倍左右 单一的操作系统映像 类似SMP 用户只看到一个操作系统 各个节点动态负载均衡 基于高速缓存的数据一致性 采用基于目录的高速缓存一致性协议来保证各节点的局部高速缓存数据与存储器中的数据是一致的 既CC NUMA结构 低通信延迟与高通信带宽 专用的高速互联网络使得节点间访问延迟小 通信带宽高 可扩展性高 DSM并行计算机可扩展到上千个节点 支持消息传递 共享存储并行程序设计 并行计算机系统架构 结构分类 MPP MPP大规模并行处理机系统MPP一般是指超大型 VeryLarge Scale 计算机系统 由数万 数十万个处理器组成的大规模并行机 并行计算机系统架构 结构分类 MPP MPP特点节点数量多 这些节点由局部网卡通过高性能互联网络连接 每个节点都相对独立 并拥有一个或多个微处理机 这些微处理机都有局部高速缓存 并通过局部总线或互联网络与局部内存模块和I O设备相连接 MPP的各个节点均拥有不同的操作系统映像 一般情况下 用户可以将作业提交给作业管理系统 由它来调度当前系统中有效的计算节点来执行该作业 同时 MPP系统也允许用户登录到指定的节点 或到某些特定的节点上运行作业 各个节点上的内存模块是相互独立的 且不存在全局内存单元的统一硬件编址 一般情况下 各个节点只能直接访问自身的局部内存模块 如果需要直接访问其它节点的内存模块 则必须有操作系统提供特殊的软件支持 并行计算机系统架构 结构分类 COW COW工作站集群系统COW系统是由大量的PC机或者工作站通过商用网络连接在一起构成的 COW可以完全使用可以买到的商用组件装配而成 这些商用组件都是大规模生产的产品 因此能够获得较高的性价比 并行计算机系统架构 结构分类 COW COW特点COW的每个节点都是一个完整的工作站 不包括监视器 键盘 鼠标等 一个节点也可以是一台PC或SMP 各节点通过一种低成本的商品网络 如以太网 FDDI和ATM开关等 互连 有的商用机群也使用定做的网络 各节点内总是有本地磁盘 而MPP节点内却没有 节点内的网络接口是松耦合到I O总线上的 而MPP内的网络接口是连到处理节点的存储总线上的 因而可谓是紧耦合式的 一个完整的操作系统驻留在每个节点中 而MPP中通常只是个微核 COW的操作系统是工作站UNIX 加上一个附加的软件层以支持单一系统映像 并行度 通信和负载平衡等 并行计算机系统架构 结构分类 对比 并行计算机系统架构 访存模型 并行计算机系统架构 访存模型 UMA UMA UniformMemoryAccess 模型是均匀存储访问模型的简称 其特点是 物理存储器被所有处理器均匀共享 所有处理器访问任何存储字取相同的时间 每台处理器可带私有高速缓存 外围设备也可以一定形式共享 并行计算机系统架构 访存模型 NUMA NUMA NonuniformMemoryAccess 模型是非均匀存储访问模型的简称 特点是 被共享的存储器在物理上是分布在所有的处理器中的 其所有本地存储器的集合就组成了全局地址空间 处理器访问存储器的时间是不一样的 访问本地存储器LM或群内共享存储器CSM较快 而访问外地的存储器或全局共享存储器GSM较慢 此即非均匀存储访问名称的由来 每台处理器照例可带私有高速缓存 外设也可以某种形式共享 并行计算机系统架构 访存模型 COMA COMA Cache OnlyMemoryAccess 模型是全高速缓存存储访问的简称 其特点是 各处理器节点中没有存储层次结构 全部高速缓存组成了全局地址空间 利用分布的高速缓存目录D进行远程高速缓存的访问 COMA中的高速缓存容量一般都大于2级高速缓存容量 使用COMA时 数据开始时可任意分配 因为在运行时它最终会被迁移到要用到它们的地方 并行计算机系统架构 访存模型 CC NUMA CC NUMA Coherent CacheNonuniformMemoryAccess 模型是高速缓存一致性非均匀存储访问模型的简称 其特点是 大多数使用基于目录的高速缓存一致性协议 保留SMP结构易于编程的优点 也改善常规SMP的可扩放性 CC NUMA实际上是一个分布共享存储的DSM多处理机系统 它最显著的优点是程序员无需明确地在节点上分配数据 系统的硬件和软件开始时自动在各节点分配数据 在运行期间 高速缓存一致性硬件会自动地将数据迁移至要用到它的地方 并行计算机系统架构 访存模型 NORMA NORMA No RemoteMemoryAccess 模型是非远程存储访问模型的简称 NORMA的特点是 所有存储器是私有的 绝大数NUMA都不支持远程存储器的访问 在DSM中 NORMA就消失了 并行计算机系统架构 访存模型 系统架构 1 2 并行计算及系统架构 并行计算机基础 并行软件环境 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 多个slavepvmd PVM ParallelVirtualMachine 并行虚拟机 并行软件环境 共享存储并行机模型 体系结构特点 多台处理机通过互联网络共享一个统一的内存空间 通过单一内存地址来实现处理机间的协调 内存空间也可由多个存储器模块构成 每台处理机可以执行相同或不同的指令流 每台处理机可以直接访问到所有数据 处理机间通信是借助于共享主存来实现的 可扩展性差 当处理机需要同时访问共享全局变量时 产生内存竞争现象而严重影响效率 比较适合中小规模应用问题的计算和事务处理 共享存储并行机模型 并行软件环境 共享存储并行机模型 共享存储器编程标准Pthreads 线程标准 X3H5 线程标准 OpenMP 最常用的共享存储并行编程方式 是我们讨论的重点 共享存储器编程特点显式多线程库调用 Pthreads 编译制导语句 OpenMP等 语言C Fortran77 Fortran90

温馨提示

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

评论

0/150

提交评论