第7章多处理机
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第7章 多处理机
按照PE与IOP之间互连方式: 对称型:每个IOP能连接到所有PE上 非对称型:每个IOP只与一个PE连接 冗余对称型:一个PE与多个IOP连接 按照存储器的访问方式: 均匀存储器,UMA模型 非均匀存储器,NUMA模型 只有Cache,COMA模型 另外,多向量处理机,机群系统(Cluster) 等也称为多处理机系统。
I/O子系统,机间经共享主存或高速通信网络通
信,在操作系统控制下,协同求解大而复杂问 题的计算机系统。
第7章 多处理机
多处理机系统的特点 1、结构灵活 并行处理机:专用,PE数很多(几千 个),固定有限的通信。 多处理机: 通用,几十个,高速灵活的 通信。 2、程序并行性 并行处理机的并行性存在于指令内部,识 别比较容易。 多处理机的并行性存在于指令外部,在多 个任务之间,识别难度较大。
第7章 多处理机
多处理机系统有多种分类方法: 按照处理机之间的连接程度:紧密耦合多 处理机和松散耦合多处理机。 按照是否共享主存储器:共享存储器多处 理机和分布存储器多处理机。 按照处理机是否相同:同构型多处理机和 异构型多处理机。 按照处理机的个数:大规模并行处理机 MPP和对称多处理机SMP。
总级数由 5 减为4。因此,将上式改写成 E2=(a+h)+(bc+bg)+bdef
第7章 多处理机
图 7.19 利用交换律、结合律和分配律降低树高
第7章 多处理机
表达式运算并行性的识别,除了依靠算法以外,
还可以依靠编译程序。有一些编译算法可以经过或
不经过逆波兰后缀表达式直接从给定的算术表达式
产生能并行执行的机器指令。
图 7.7 交叉开关形式
第7章 多处理机
图 7.8 交叉开关中结点开关的结构
第7章 多处理机
图 7.9 用 4×4 16×16 的两级交叉开关网络
第7章 多处理机 4). 多端口存储器形式
图 7.11 四端口存储器形式的结构
第7章 多处理机 5). 开关枢纽结构形式
图 7.12 X-TREE多处理机结构框图
第7章 多处理机
一个简单的例子: Y = A+B*C*D/E+F 用两个处理机: CPU1: B*C, A+F, A+B*C*D/E+F CPU2: D/E, B*C*D/E,
第7章 多处理机
3、并行任务派生 并行处理机把同种操作集中在一起,由指 令直接启动各PE同时工作。 多处理机用专门的指令来表示并发关系, 一个任务开始执行时能够派生出与它并行执 行的另一些任务。如果任务数多于处理机数, 多余的任务进入排队器等待。
第7章 多处理机
(1) 硬件结构上如何解决好处理机、 存储器模块 及I/O子系统之间的互连。
(2) 如何最大限度地开发系统的并行性,以实现 多处理机各级的全面并行。
(3) 如何选择分割任务和子任务的大小,即任务 的粒度大小, 使并行度高, 而辅助开销小。 (4) 如何协调好多处理机中各并行执行的任务和 进程间的同步问题。
第7章 多处理机
图 7.17 不同算法影响树高的例子
第7章 多处理机
首先从算术表达式的最直接形式出发,利用交 换律把相同的运算集中在一起。再利用结合律把参 加这些运算的操作数(称原子)配对,尽可能并行运算, 从而组成树高最小的子树。最后,再把这些子树结 合起来。例如,给定表达式 E2=a+b(c+def+g)+h 需 7 级运算,如图 7.18(a)所示。利用交换律和结合
第7章 多处理机
如果让Pi和Pj并行,Pj的C新成了A原*E原,显然不是应 有的结果,因此Pi和Pj是不能并行的。如果将Pi和Pj执 行顺序颠倒,交换串行,即先执行Pj, 而后再执行Pi, 很明显同样也会得不到应有的正确结果。如果能够交 换串行就可以让空闲处理机先去执行 Pj,从而有利于 宏观上提高多个程序段间的并行,加快作业执行的速 度,改进系统的运行效率。然而,有一种特殊情形, 即当Pi和Pj服从交换律时, Pi
例如,
Z=E+A*B*C/D+F
第7章 多处理机
利用普通的串行编译算法, 产生三元指令组为
1 *A B
2 * 1 C
3 / 2 D
4 + 3 E 5 + 4 F 6 = 5 Z
第7章 多处理机
指令之间都是相关的,需5级运算。如采用并行
编译算法,
1 * A B
2 / C D
3 * 1 2
4 + E F 5 + 3 4 6 = 5 Z 分配给两个处理机, 只需 3 级运算。
Байду номын сангаас
第7章 多处理机
以软件为基础解决 Cache 一致性的作法,主要优
点是可以减少硬件的复杂性,降低对互连网络通信量
的要求, 因而性能价格比可以较高,比较适用于处理
机数多的多处理机。 但应当指出的是, 现在以软件
为基础的办法虽已提出了好几种方案, 但由于可靠性 及编译程序的编写困难, 都还没有真正在商品化多处 理机上使用,只在某些试验性系统上使用,如伊利诺 大学的Cedar机。
关,也可能通过它们之间的其他语句形成间接的数据
相关关系 .
第7章 多处理机
(1)
如果 Pi的左部变量在 Pj 的右部变量集内,且 Pj必 须取出 Pi 运算的结果来作为操作数,就称 Pj“ 数据相 关”于Pi。 Pi Pj A=B+D C=A*E
相当于流水中发生的“先写后读”相关。 顺序 Pi Pj A新=B原+D原 C新=A新*E原=(B原+D原)*E原
图 7.4 通过消息传送系统连接的松耦合多处理机结构
第7章 多处理机
图 7.5 Cm*多处理机结构
第7章 多处理机
2. 机间互连形式 1).
多个处理机、存储器模块和外围设备通过接口与 公用总线相连,采用分时或多路转接技术传送。其中, 单总线方式结构简单、成本低,系统上增减模块方便, 但对总线的失效敏感。而且,处理机数增加会增大访 问总线冲突的概率而导致系统效率急剧下降。虽然可 以在处理机中设置局部存储器和专用外围设备来减少 访问总线的冲突,但这种单总线形式也只适用于处理 机数较少的场合。IBM Stretch和UNIVAC Larg多处 理机采用的就是单总线方式。
第7章 多处理机
7.3 多处理机的并行性
7.3.1 并行算法 1. 算法必须适应具体的计算机结构。串行处理机
上习惯采用的循环和迭代算法往往不适合于多处理
机,而采用直接解法有时反倒能揭示更多的并行性。 例如,E1=a+bx+cx2+dx3 利用霍纳(Horner)
E1=a+x(b+x(c+x(d)))
相当于流水中发生的“先读后写”相关。 顺序 Pi C新=A原+E原
Pj
A新=B原+D原
第7章 多处理机
可以看出,当Pi与Pj并行时,只要硬件上能保证Pi对
相关单元A先读出,就能得到正确的结果。然而若将
Pi和Pj交换串行,
Pj
第7章 多处理机
3. 存储器组织 并行主存储器的构成
图 7.13 m个模块的低位交叉编址
第7章 多处理机
图 7.14 m个模块的高位交叉编址
第7章 多处理机
图 7.14 本地存储器的概念
第7章 多处理机
图 7.16 多处理机的二维并行存储器构形
第7章 多处理机
7.2. 紧耦合多处理机多Cache的一致性问题
Pj
A=2*A
A=3*A
虽不能并行执行,却允许它们交换串行。最终 A 新 为 6*A原, 和顺序串行的结果一致。
第7章 多处理机
(2) 如果Pj的左部变量在Pi的右部变量集内,且当Pi 未取用其变量的值之前,是不允许被 Pj 所改变的, 就称Pi“数据反相关”于Pj。 Pi Pj C=A+E A=B+D
律改写为 E2=(a+h)+b((c+g)+def)
第7章 多处理机
图 7.18 利用交换律和结合律降低树高
第7章 多处理机
利用分配律进一步降低树高,在恰当平衡各子树
的级数的情况下,往往能收到较好的效果。例如上式, 计算 (c+g) 的子树时只用一级,而计算 def 的子树要用 2 级,相加乘b需再增加 2 级。如果把b写进括号内, 则计算bdef仍 2级已够,却省去了后来的一次乘b,使
由于各处理机与主存经互连网络连接,系统中处理
机数就受限于互连网络带宽及多台处理机同时访问
主存发生冲突的概率。
第7章 多处理机
图 7.1 紧耦合多处理机的结构
第7章 多处理机
图 7.2 带非对称I/O子系统的多处理机
第7章 多处理机
图 7.3 采用冗余连接的非对称I/O子系统
第7章 多处理机 2). 松耦合多处理机
为解决多个 Cache之间的不一致。主要有两类做 法。一类是以硬件为基础的做法,另一类则主要是
以软件为基础的做法。
以硬件为基础实现 Cache一致性的办法有多个。
最 普 遍 采 用 的 办 法 叫 监 视 Cache 协 议 (Snoopy
Protocol)法,各个处理机中的 Cache控制器随时都在
第7章 多处理机
有两种办法可以用来提高总线形式的系统效率。
一种办法是,采用优质高频同轴电缆来提高总线的
传输速率;进一步使用光纤通信, 其信息速率可达 109~1010 b/s。另一种办法是,采用多总线方式来减
少访问总线的冲突概率。如美国的 Tandem-16 和
Pluribus 就采用双总线方式来提供一定的总线冗余
第7章 多处理机
4、进程同步 并行处理机仅一个CU,自然是同步的。 多处理机执行不同的指令,工作进度不 会也不必保持相同。先做完的要停下来等待。 有数据相关和控制相关也要停下来等待。要 采取特殊的同步措施来保持程序所要求的正 确顺序。
第7章 多处理机
5、资源分配和进程调度 并行处理机的PE是固定的,采用屏蔽手 段改变实际参加操作的PE数目。 多处理机执行并发任务,需用处理机的数 目不固定,各个处理机进入或退出任务的时 刻不相同,所需共享资源的品种、数量又随 时变化。提出资源分配和进程调度问题,它 对整个系统的效率有很大的影响。
第7章 多处理机
7.3.2 程序并行性的分析 假定一个程序包含P1、P2、…、Pi、 …、Pj、 …、
Pn 等 n 个程序段,其书写的顺序反映了该程序正常执
行的顺序。为了便于分析,设 Pi和 Pj程序段都是一条
语句,Pi在Pj之前执行,且只讨论Pi和Pj之间数据的直
接相关关系。实际上, Pi和 Pj即使表面上没有数据相
(5) 如何将各个任务分配到一个或多个处理机上, 解决好处理机调度、任务调度和资源分配问题, 防 止死锁。 (6) 一旦某个处理机发生故障,如何对系统进行 重新组织而不使其瘫痪。
第7章 多处理机
7.1.2 多处理机的硬件结构
1.紧耦合和松耦合
1). 紧耦合多处理机 紧耦合多处理机是通过共享主存来实现处理机 间通信的,其通信速率受限于主存的频宽。但是,
第7章 多处理机
第7章 多处理机
7.1 多处理机的概念、问题和硬件结构 7.2 紧耦合多处理机多Cache的一致性问题 7.3 多处理机的并行性 7.4 多处理机的性能 7.5 多处理机的操作系统
第7章 多处理机
7.1 多处理机的概念、问题和硬件结构
7.1.1多处理机的基本概念和要解决的技术问题 多处理机是指有两台以上的处理机,共享
和增大系统总的信息传送率。日本的实验多处理机
EPOS 采用的是四总线方式。德国西门子公司的结 构式多处理机SMS 采用的是八总线方式。而上节介
绍的Cm*多微处理机则采用分级的多总线方式。
第7章 多处理机 2). 环形互连形式
图 7.6 机间采用环形互连的多处理机
第7章 多处理机 3). 交叉开关形式
监视着其他Cache的行动。对于采用总线互连共享主
存的多处理机, 可利用总线的播送来实现。
第7章 多处理机
目录表的具体作法又可分 3 种。一种是全映象目 录表法。表中每项有N个标志位对应于多处理机中全 部N台处理机的Cache。系统中全部Cache均可同时存 有同一个信息块的副本。不过,这样的目录表很庞大, 硬件及控制均较复杂。另一种是有限目录表法。表中 每项的标志位少于N个。因此,限制了一个数据块在 各 Cache中能存放的副本数目。这两种目录表都是集 中地存入在共享的主存之中,因此需要由主存向各处 理机广播。第三种是链式目录表法。它把目录分散存 放在各个 Cache中,主存只存有一个指针,指向一台 处理机。要查找所有放有同一个信息块的 Cache时, 先找到一台处理机的 Cache,然后顺链逐台查找,直 到找到目录表中的指针为空时为止。