1 / 56

第 13 章 并行计算机体系结构

第 13 章 并行计算机体系结构. 13.1 计算机体系结构概述 13.2 并行计算机系统概述 13.3 并行计算机系统的设计问题 13.4 SIMD 计算机简介 13.5 共享内存的多处理机 13.6 基于消息传递的多计算机系统. 13.1 计算机体系结构概述. 冯 · 诺依曼机器机构 ( 1 )改变冯 · 诺依曼机器的串行执行模式 ( 2 )改变冯 · 诺依曼机器的控制驱动方式. 13.1.1 计算机体系结构的发展. 今天计算机体系结构的研究内容. 进一步提高单个微处理器的性能 基于微处理器的多处理器体系结构。

decima
Download Presentation

第 13 章 并行计算机体系结构

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第13章 并行计算机体系结构 13.1 计算机体系结构概述 13.2 并行计算机系统概述 13.3 并行计算机系统的设计问题 13.4 SIMD计算机简介 13.5 共享内存的多处理机 13.6 基于消息传递的多计算机系统

  2. 13.1 计算机体系结构概述 • 冯·诺依曼机器机构 (1)改变冯·诺依曼机器的串行执行模式 (2)改变冯·诺依曼机器的控制驱动方式 13.1.1计算机体系结构的发展

  3. 今天计算机体系结构的研究内容 • 进一步提高单个微处理器的性能 • 基于微处理器的多处理器体系结构。 • 全面提高计算机的系统性能: 可用性,可维护性,可缩放性。 • 新型器件的处理器。

  4. 13.1.2 计算机系统的分类 • 当前计算机的种类 • Flynn分类法 • SISD • SIMD • MISD • MIMD • 冯氏分类法 • Handle分类法 • Kuck分类法

  5. 当前计算机的种类 • 1989 IEEE电气与电子工程师委员会提出的计算机分类: • 个人计算机 Personal Computer (PC) • 工作站 WorkStation (WS) • 小型机 Mini Computer • 中型机 Mainframe • 小巨型机 Minisupercomputer • 巨型机 Supercomputer • * 网络并行计算机

  6. Flynn分类法 • 1966 Flynn分类法:根据指令流和数据流的多倍性对计算机系统结构进行分类, • 基本思想:是计算机工作过程是指令流的执行和数据流的处理。 • 指令流:机器执行的指令序列 • 数据流:由指令流调用的数据序列(包括输入数 据和中间结果) • 多倍性:在系统性能的瓶颈部件上处于同一执行 阶段的指令或数据的最大个数。

  7. IS DS IS I/O CU PU MU 1.单指令流单数据流 SISD • 典型的SISD机器:传统的顺序计算机 • SISD机器结构: CU:控制部件 IS:指令流 PU:处理部件 DS:数据流 MU:存储部件

  8. 2.单指令流多数据流 SIMD • 单指令流一多数据流 SIMD 超级计算机 单控制器、多处理单元和多对数据进行处理 PU:处理单元 MM:本地存储器(分布存储器)

  9. DS I/O IS IS DS …… CU1 PE1 …… MM1 … MMn … CUn PEn 3. 多指令流单数据流 MISD • 多指令流一单数据流 MISD • 多个处理器,对同一数据流进行处理 MM主存贮模块,SM共享存储器

  10. IS IS 共享存储器为:紧耦合 分布存储器为:松耦合 SM IS CU1 PE1 MM1 I/O … … … MMn I/O CUn PEn IS 4.多指令流多数据流MIMD • 多机系统----多个处理器系统或多计算机系统每个处理机可以独立执行指令和处理数据一般并行计算机大多采用这种结构。

  11. 13.2 并行计算机系统概述 • 单处理器发展接近极限,多处理器联结在一起计算机成为发展主流。 • 并行计算机发展 (1)对计算机的性能要求越来越高。 (2)大量商品化的处理器的出现(RISC) (3)处理器间通信技术的发展 • 多处理器计算机 1、小到中等规模处理器:小于100个处理器 2、大规模处理器:大于100个处理器

  12. 12.2.1 并行计算机系统的分类 分成4类: SIMD阵列处理机、SIMD向量处理机、MIMD多处理机和MIMD多计算机。

  13. 计算机系统结构 SISD SIMD MISD MIMD 向量计算机 阵列计算机 多计算机 多处理机 UMA COMA NUMA MPP COW 总线 交换机构 CC-NUMA NC-NUMA 网格 超立方体 消息传递 共享内存

  14. 12.2.2 并行性、可扩展性和可编程性 • 1、并行性 • 在同一时刻或同一时间间隔内完成两种或两种以上的 • 工作。分成同时性和并发性。 • 三种并行计算机 (1)并行地运行多个独立的任务 (2)运行多个并行进程组成的单一任务 (3)使用高度流水线和多个ALU同时操作一个指令 流的并行计算机。

  15. 粗粒度并行:并行运行不同的软件而相互之间没有或者很少通信的情况。细粒度并行粗粒度并行:并行运行不同的软件而相互之间没有或者很少通信的情况。细粒度并行 松藕合系统:把具有多个独立的完整的CPU与CPU之间又通过低速链路连接的系统。 紧藕合系统:把组件相对较小,相互之间通过高带宽的通信网络连接起来的系统。

  16. 2、可扩展性 可扩展性: 是指通过增加处理器数目、投入更多的存储器部件,从而使系统具有更高的性能或功能。 处理单元(特性、大小和数量)和内存单元(特性、大小和数量)如何连接关系到可扩展性的优劣。

  17. 3、可编程性 可编程性涉及操作系统、编译器、语言支持等多个方面的问题。 多处理机其可编程性好于多计算机系统。

  18. 13.5 共享内存的多处理机系统 • 多处理机系统是具有多个CPU,并且所有的CPU共享一个地址空间的计算机系统。又称共享内存系统 • 如Sun Enterprise 10000、Sequent NUMA-Q、SGI Origin 2000 和HP/Convex Exemplar等。

  19. cpu p p p p 共享内存 p p p p p p p p p p p p 16个CPU共享一个公共内存的多处理机系统

  20. CPU CPU M 13.5.1 一致性内存访问的UMA多处理机系统 一、基于总线结构的多处理机系统: (1)不使用Cache

  21. CPU CPU M cache cache (2)使用Cache (3)使用Cache和私有内存 私有内存 私有内存 CPU CPU M cache cache

  22. 二、Cache一致性协议 • 共享内存多处理器体系采用大容量cache可以大大减少一个处理器对存储带宽的需求。Cache既支持共享数据,又支持私有数据。但会引起一致性问题。 • Cache一致性协议:由Cache、CPU和内存共同实现的防止多个Cache中出现相同数据的不同版本的规则集合。

  23. 实现cache一致性协议的关键是跟踪每一个共享数据块的状态。有两种协议分别使用不同的技术跟踪共享状态:实现cache一致性协议的关键是跟踪每一个共享数据块的状态。有两种协议分别使用不同的技术跟踪共享状态: 1、基本目录的协议--物理存储器内数据块的共享状态只保留在一个称为目录的地方。 2、监听协议--包含有物理存储器数据块的备份的cache也含有该数据块的共享状态的备份,即不集中保存状态。Cache通常连在一条共享存储器总线上,所有cache控制器监控或监听总线以确定它是否含有总线上请求的数据块的一个备份。

  24. 两种监听协议 • 保证一个处理器在写一个数据项之前防止其他处理器对该数据项的访问,即保证处理器能进行独占访问。 1、写直达Cache一致性协议

  25. 2、写回Cache一致性协议 MESI协议:4种状态 (1)无效(invalid) (2)共享(shared) (3)独占(exclusive) (4)修改(modified)

  26. (1)交叉开关 内存 000 001 010 011 100 110 111 101 000 001 010 CPU 011 100 101 110 111 3、交叉开关和多级交换网络 • 优点:交叉开关网络是一种无阻塞的网络。 • 缺点:一个n×n的交叉开关有n2个交叉点。

  27. A X 2×2 交换结点 B Y 模块 地址 操作码 值 2、多级交换网络 • 2×2的小交换结点 • 消息格式 Read或Write 内存模块 操作要写入的32位字 模块内地址

  28. Omega多级交换网络 内存 CPU 000 1A 2A 3A 000 001 001 010 010 1B 2B 3B 011 011 100 100 1C 2C 3C 101 101 110 110 1D 2D 3D 111 111 n个CPU和n个内存模块需要(n/2)log2n 个交换结点, Omega多级交换网络是阻塞的网络。 例:CPU011从内存模块110读取一个字

  29. 13.5.2 非一致性内存访问的NUMA多处理机系统 • UMA的主要特点: • (1)基于单总线,CPU数量几十个。 • (2)基于交叉开关或多级交换网络,需要大量昂贵的 • 硬件,CPU数量也不可能太多。 • NUMA多处理机系统的特点: • (1)所有的CPU都看到一个单一的地址空间。 • (2)使用LOAD和STORE指令访问远程内存。 • (3)访问远程内存访问本地内存慢。

  30. CPU 内存 CPU 内存 CPU 内存 MMU MMU MMU 局部总线 局部总线 局部总线 • NUMA多处理机系统分类: • (1)NC-NUMA • (2)CC-NUMA 基于两级总线的NUMA计算机

  31. CPU 内存 CPU 内存 CPU 内存 目录 目录 目录 … 局部总线 局部总线 局部总线 256个结点的基于目录的多处理机系统

  32. 13.6 基于消息传递的多计算机系统 • 多处理机系统 • 使用LOAD和STORE指令存取共享内存,采用监听总线、交叉开关、多级交换网络和基于监听协议或目录的机制。 • 限制:很难扩展到很大的规模。 SUN Enterprise 10000 64个CPU Sequent NUMA-Q 356个CPU

  33. 设计和分析互联网络的几个问题 1、互联网络的拓扑结构 2、互联网络的交换结点 3、互联网络的寻径算法

  34. 1、互联网络的拓扑结构 互联网络的拓扑结构是描述链路和交换结点是如何组织安排的。 度:和某个结点相连的边的数量。 对称网络:网络中所有节点的度都相等。 非对称网络:网络中节点的度不相等。 互联网络的拓扑结构有:P337 星形、全相连、树形、环形、网格、双向环、超立方体、四维的超立方体

  35. 互联网络的特性: (1)直径:在网络拓扑图中相距最远的两个结点之间的距离。 (2)传输能力:每秒钟能传输多少数据,用对分带宽来衡量。

  36. 互联网络有两种:共享和交换 一、共享 1、占用网络者要先申请,经仲裁后方可使用网络介质。 2、仲裁有集中式和分布式。由于网络节点多,常用分布式。 3、分布常用仲裁策略:载波侦听多重访问及冲突检测 (CSMA/CD) 4、共享方式只允许两个节点通信,效率低。

  37. 二、交换 • 为了改进共享低效,可以将每个节点连到一个交换器上,从而每一对节点能同时进行通信。称为交换式。 • 分为两种:全连接互连网络和Omega互连网络 • 1、全连接:所有节点自由通信,硬件开销大,有n*n个交叉点。 • 2、 Omega互连:具有最小的硬件开销,为n/2log2n个交叉点,但通信会受到限制。当两个节点通信时,其它部分节点会引起阻塞。 • 3、胖树:每层间的连接带宽一样。 • 4、环结构:令牌环,单向传递,得到令牌的节点才有权发送信息

  38. 2、互联网络的交换结点 电路交换:保留线路中的一部分带宽给某两个结点通迅。 分组交换:不预先保留带宽,由消息自由在交换器间转递。 混合网络:两者的结合。 解决时延问题:捷径虫蚀法 遇到阻塞时: 1)虫蚀法 2)捷径法

  39. 3、互联网络的寻径算法 • 寻径算法:决定一个分组从源结点到目的结点的过程中经过的结点序列的算法。 • 寻径算法 • 分为两大类: • (1)源寻径 • (2)分布式寻径

  40. 13.3.2 并行计算机系统的性能问题 1、硬件性能指标 (1)延迟时间 发送方开销+飞行时间+传输时间+接收方开销 (2)带宽 由处理器、存储器和互联网络带宽决定。 对分带宽、聚集带宽、平均带宽

  41. 2、软件性能指标 加速比 3、获得更高的性能

  42. 13.3.2 并行计算机系统的软件问题 并行计算机软件的4种设计方法: (1)为普通的串行语言增加特殊的库函数 (2)为编程语言增加通信和控制原语的库函数 (3)为现有的编程语言增加一些特殊的结构 (4)发明一种全新的并行处理语言 5个关键问题 控制模式、并行粒度、计算模式、通信方式和同步原语

  43. 13.4 SIMD计算机简介 • 13.4.1阵列处理机 • 基本思想:一个单一的控制单元提供信号驱动多个处理单元同时运行(P346 图13.8) • 特点: • 1)处理单元可以是CPU或ALU和本地内存组成。 • 2)一个控制单元驱动,执行是同步的。

  44. 阵列处理机的不同组织 1)处理单元的结构不同 2)处理单元的连接方式不同 3)处理单元的自治能力不同

  45. 13.4.2 向量处理机 三种向量处理方法: 1)横向处理方法 2)纵向处理方法 3)纵横向处理方法

More Related