当前位置:
文档之家› 第11章__并行计算机体系结构简介
第11章__并行计算机体系结构简介
集群机系统的主要生命力来自其经济有效性, 它采用高性能的普通日用品IA芯片、公开系统 的主板、免费的公开源码操作系统与并行编程 接口,使超级计算机系统的造价告别了天文数 字,让具有一般规模的公司都用的起。基于集 群机特点,它的规模可大可小。
2. Linux集群的特点 集群机根据采用的操作系统不同而称为某某集 群,例如采用Linux就称为Linux集群,采用 UNIX就称为UNIX集群。下面介绍Linux集群的 特点。
1. UMA多处理器系统 UMA计算机的特点是CPU访问所有的内存模块 的时间都相同,即读取每个内存字的时间是相等 的。访问速度按最慢内存模块为准。程序员不会 感觉有速度问题存在,这就是一致的含义。这种 一致性可以保证系统的性能可以预测,也有利于 程序员编写高效率代码。 如图11-5所示
图11-5 基于总线的多处理器系统
CSM 包含多种组件,使 Linux 群集的管理更加 容易: · 分布式管理服务器 · 事件应答资源管理器。 · 远程硬件控制 · 配置文件管理 · 分布式 Shell:能够在群集的所有节点上远程运 行命令和脚本,并可以选择组合多个服务器的输 出结果。
11.4 第六代超级计算机概念
• 这是一个比较超前的概念,目前并没有得到普 遍认可,本书把两位专家的见解供读者阅读, 这两位专家是李晓渝和邓越凡。李晓渝——巨 星超级计算技术有限公司总裁,曾任斯坦福大 学的首席系统设计师;邓越凡——南开大学计 算研究所所长,美国纽约州立大学石溪分校教 授。
Linux集群可分为三类: 第一类是高可用性集群,运行于两个或多个节 点上,目的是在系统出现某些故障的情况下, 仍能继续对外提供服务。 第二类是负载均衡集群,目的是提供和节点个 数成正比的负载能力,这种集群很适合提供大 访问量的Web服务。 第三类是超级计算集群,按照计算关联程度的 不同,又可以分为两种。一种是任务片方式, 要把计算任务分成任务片,再把任务片分配给 各节点,在各节点上分别计算后再把结果汇总, 生成最终计算结果。另一种是并行计算方式, 节点之间在计算过程中大量地交换数据,可以 进行具有强耦合关系的计算。
MESI协议是一种比较常用的写回Cache一致性协议,它 是用协议中用到的四种状态的首字母(M、E、S、I) 来命名的。目前,Pentium 4和许多其他的CPU都使用了 MESI协议来监听总线。每个Cache项都处于下面四种状 态之一: (1)无效(Invalid)——该Cache项包含的数据无效。 (2)共享(Shared)——多个Cache中都有这块数据,内 存中的数据是最新的。 (3)独占(Exclusive)——没有其他Cache包括这块数据, 内存中的数据是最新的。 (4)修改(Modified)——该项的数据是有效的,内存 中的数据是无效的,而且在其他Cache中没有该数据项 的拷贝。
2. COW工作站集群(Cluster of Workstation) 它是另一种多计算机系统,也被称为工作站网络。 COW系统是由数百台PC机或者工作站通过商用 网络连接在一起构成的。 COW系统主要有两种:集中式和分散式 集中式的COW是装在一个大机架上的工作站或 者PC机的集群,这些计算机都是同构的,而且 除了网卡和磁盘之外没有其他的外设。这是当今 第五代计算机的模型。
向量运算举例
• 假定有一个向量运算:D=A×(B+C) • 式中A,B,C,D都是长度为N的向量。 若按常规处理,则流水线不能连续流动。 • D1=A1×(B1+C1) • D2=A2×(B2+C2) D2=A2 B2+C2
⋮
• DN=AN×(BN+CN) • 计算这个向量流水线要反复进行加法 和乘法的切换,即流水线功能切换。
11.3 MIMD并行计算机
• MIMD系统可以分为多处理器系统和多计算机系统两 大类。 • 多处理器系统特点:所有CPU共享同一个物理内存, 每个CPU不带自己的内存或少量带有,由统一操作系 统管理,整个物理内存空间由许多内存模块组成。 • 多计算机系统特点:每个CPU都有自己的内存,即自 己独立的物理地址空间;执行自己的操作系统,再加 上对外通信的通信处理器。 • 图11-4a和图11-4b分别说明了多处理器系统与多计 算机系统的区别。
每个CPU都带有Cache,当同时操作内存中某 一块数据时,会出现Cache一致性问题。例如, CPU1与CPU2同时读取内存中一块数据到自己的 Cache中,CPU1先对Cache内容进行了修改,此 后CPU2读自己Cache中数据就已成为旧内容,因 为CPU1修改自己的Cache后还没有写回内存,而 CPU2 CPU2读的数据相对CPU1来讲是旧数据。解决 CPU1 Cache一致性问题有两种方法,一种是监听型的 Cache(本书不再详述,请查阅有关书籍),另 一种是“MESI”Cache一致性协议。
MPP有三大特点,第一为它使用了高性能的私 用的互连网络,可以在低时延和高带宽的条件 下传递消息。 另一特点是它们具有强大的输入输出能力。 第三个特点是如何进行容错。在使用数千个 CPU的情况下,每星期有若干CPU失效是常见的 事情。如果,因一个CPU失效,而导致运行一天 的任务被中止是不能容忍的。 MPP系统还需要使用大量定制的软件和库。
11.3.1 多处理器系统
根据共享内存的实现方式可以把多处理器系统 分成三类: 分别是一致性内存访问(Uniform Memory Access, UMA) 非一致性内存访问(Non Uniform Memory Access, NUMA) 基于cache的内存访问(Cache Only Memory Access, COMA)
图11-1 并行计算机分类
11.2 SIMD并行计算机
SIMD计算机:用于解决使用向量和阵列这样 比较规整的数据结构的复杂的科学计算和工程 计算问题。 这种计算机特点:只有一个控制单元,每次 只能执行一条指令,但是每一条指令可同时对 多个数据进行操作。 SIMD分为:阵列处理机和向量处理机。
1. 阵列处理机(array processor) 特点: 一个单一的控制单元提供信号驱动 多个处理单元同时运行,如图11-2所示。 组成:PU由1个处理单元PE同它的局部存储 器组成。 控制部件方式:向全体PE“播送”控制信号, 所有PE在同一个总的时钟信号下同步工作。 PE组成:可以简单到每个PE由1位ALU组成, 也可大到32位ALU,或者带浮点计算能力的 ALU。
NUMA计算机也存在Cache一致性问题,除前 面介绍过的MESI协议外,还有一个SCI (Scalable Coherent Interface,可伸缩的一致性接 口)的Cache一致性协议。
3. COMA多处理器系统 在COMA系统中,把每个CPU的主存看成Cache 来处理,物理地址空间被划分成Cache块,这些 块根据需要在系统中来回移动,Cache块不再有 宿主计算机了。 它要解决的新问题:如何对Cache块进行寻址和 Cache块丢弃了最后一个拷贝怎么办。 COMA系统号称比NUMA有更好的性能,但 实际建造的COMA系统很少。
多处理器系统特点:软件设计简单,易 实现,硬件设计比较复杂。 多计算机系统特点:正好相反。
图11-4a 多处理器系统
图11-4b 多计算机系统
MIMD并行计算机设计中的互 连网络问题
• MIMD并行计算机设计中面临的问题之 一:互连网络。 • 多计算机系统中用互连网络把多个计算 机连接是显而易见的,多处理器系统同 样存在这个问题。
第三代计算机(MPP)与第五代计算机: 相同:(Cluster)在体系结构上是同构的,同属 于分布式内存处理方式(DMP—Distributed Memory Processing) 差别:是否采用物美价廉的普通商品组件。MPP 与Cluster从互连角度看,区别在于MPP使用专 用高性能互连网络,而Cluster使用商用网络。 从CPU角度看MPP要用单独设计的高性能处理 器,而Cluster采用高性能成品处理器,从价格 方面看,MPP比Cluster要贵的多。
图11-6 多计算机系统结构
多计算机系统一般分成两大类:MPP和COW。 1. MPP 大 规 模 并 行 处 理 机 ( Massively Parallel Processor) 这是一种价值数百万到上亿美元的超级计算机 系统。MPP系统已取代了原有SIMD计算机、向 量超级计算机和阵列处理机,成为当今大型机、 巨型机的主流。 大多数的MPP系统都使用标准的CPU作为它们 的处理器。 大的系统都使用几百片以上的CPU集合而成,巨 型机使用几千片CPU。
如改变处理顺序,先对所有元素执行加法运算 (N个加法),然后对所有元素执行乘法运算 (N个乘法),其顺序如下: Bi + Ci → Di (i从1到N) Di×Ai → Di (i从1到N) 这样就能保证流水线畅通。 Cray-1的体系结构与后来的RISC体系结构 类似,它成为了很好的研究范例,许多现代 的向量超级计算机都受到它的影响。
2. NUMA多处理器系统 NUMA系统也为所有CPU提供单一的地址空 间,与UMA不同处是靠近CPU的内存模块的 访问速度比其他的内存模块快得多。 NUMA计算机的主要特点: (1)所有的CPU都看到一个单一的地址空间。 (2)使用LOAD和STORE指令访问远程内存。 (3)访问远程内存比访问本地内存慢。
图11-2 阵列处理机组成图
• 2. 向量处理机 • SIMD计算机中另一类是向量处理机(vector processor)。 • 70年代前后,为了处理向量计算研发两种类 型的巨型计算机系统:流水线处理机和并行处 理机。 • 两者比较优缺点:并行处理机的结构复杂, 成本高,因而流水线处理机发展很快。它是处 理向量计算的主要手段,因此已把它称为向量 处理机。 •
11.3.3 集群机系统Cluster
1. Cluster简介 计算机体系结构的研究就是当时的超级计 算机的研究,超级计算机共经历了五代。第 一代为早期的单芯片系统,第二代为向量处 理系统,第三代为大规模并行处理系统,第 四代为共享内存处理系统。