第7章多处理机
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第7章 多处理机
第7章 多处理机
7.1 多处理机的特点及主要技术问题 7.2 多处理机的硬件结构 7.3 程序并行性 7.4 多处理机的性能 7.5 多处理机的操作系统
第7章 多处理机
7.1 多处理机的特点及主要技术问题
1) 2) 程序并行性 3) 4) 进程同步 5) 资源分配和任务调度
第7章 多处理机
图 7.10 四端口存贮器形式的结构
第7章 多处理机 5. 开关枢纽结构形式
图 7.11 X-TREE多处理机结构框图
第7章 多处理机
7.2.3 存贮器组织
1. 并行主存贮器的构成
图 7.12 m个模块的低位交叉编址
第7章 多处理机 图 7.13 m个模块的高位交叉编址
第7章 多处理机 图 7.14 本地存贮器的概念
第7章 多处理机
目录表的具体作法又可分 3 种。一种是全映象目录表法。 表中每项有N个标志位对应于多处理机中全部N台处理机的 Cache。 系统中全部Cache均可同时存有同一个信息块的副本。 不过, 这样的目录表很庞大, 硬件及控制均较复杂。 另一种 是有限目录表法。 表中每项的标志位少于N个。因此,限制了 一个数据块在各Cache中能存放的副本数目。这两种目录表都 是集中地存入在共享的主存之中,因此需要由主存向各处理机 广播。第三种是链式目录表法。它把目录分散存放在各个 Cache中,主存只存有一个指针,指向一台处理机。 要查找所 有放有同一个信息块的Cache时,先找到一台处理机的Cache, 然后顺链逐台查找, 直到找到目录表中的指针为空时为止。
Baidu Nhomakorabea
第7章 多处理机 图 7.15 多处理机的二维并行存贮器构形
第7章 多处理机
2. 多Cache的一致性问题
为解决多个Cache之间的不一致。主要有两类做法。一类 是以硬件为基础的做法,另一类则主要是以软件为基础的做 法。
以硬件为基础实现Cache一致性的办法有多个。 最普遍采 用的办法叫监视Cache协议(Snoopy Protocal)法,各个处理机中 的Cache控制器随时都在监视着其他Cache的行动。对于采用 总线互连共享主存的多处理机, 可利用总线的播送来实现。
第7章 多处理机
7.2.2 机间互连形式
1. 总线形式
多个处理机、存贮器模块和外围设备通过接口与公用总线 相连,采用分时或多路转接技术传送。其中,单总线方式结构 简单、成本低, 系统上增减模块方便,但对总线的失效敏感。 而且,处理机数增加会增大访问总线冲突的概率而导致系统效 率急剧下降。虽然可以在处理机中设置局部存贮器和专用外围 设备来减少访问总线的冲突,但这种单总线形式也只适用于处 理机数较少的场合。IBM Stretch和UNIVAC Larg多处理机采用 的就是单总线方式。
第7章 多处理机
以软件为基础解决Cache一致性的作法,主要优点是可以 减少硬件的复杂性,降低对互连网络通信量的要求, 因而性能 价格比可以较高,比较适用于处理机数多的多处理机。 但应当 指出的是, 现在以软件为基础的办法虽已提出了好几种方案, 但由于可靠性及编译程序的编写困难, 都还没有真正在商品化 多处理机上使用,只在某些试验性系统上使用,如伊利诺大学 的Cedar机。
(1) 硬件结构上如何解决好处理机、 存贮器模块及I/O子 系统之间的互连。
(2) 如何最大限度地开发系统的并行性, 以实现多处理机 各级的全面并行。
(3) 如何选择分割任务和子任务的大小, 即任务的粒度大 小, 使并行度高, 而辅助开销小。
(4) 如何协调好多处理机中各并行执行的任务和进程间的 同步问题。
第7章 多处理机
有两种办法可以用来提高总线形式的系统效率。一种办 法是,采用优质高频同轴电缆来提高总线的传输速率;进一 步使用光纤通信, 其信息速率可达109~1010 b/s。另一种办法 是,采用多总线方式来减少访问总线的冲突概率。如美国的 Tandem-16 和Pluribus就采用双总线方式来提供一定的总线冗 余和增大系统总的信息传送率。日本的实验多处理机EPOS 采用的是四总线方式。德国西门子公司的结构式多处理机 SMS采用的是八总线方式。 而上节介绍的Cm*多微处理机则 采用分级的多总线方式。
(5) 如何将各个任务分配到一个或多个处理机上, 解决好 处理机调度、任务调度和资源分配问题, 防止死锁。
(6) 一旦某个处理机发生故障,如何对系统进行重新组织 而不使其瘫痪。
第7章 多处理机
7.2 多处理机的硬件结构
7.2.1 紧耦合和松耦合
1. 紧耦合多处理机 紧耦合多处理机是通过共享主存来实现处理机间通信的, 其通信速率受限于主存的频宽。但是,由于各处理机与主存 经互连网络连接,系统中处理机数就受限于互连网络带宽及 多台处理机同时访问主存发生冲突的概率。
第7章 多处理机 图 7.16 不同算法影响树高的例子
第7章 多处理机
首先从算术表达式的最直接形式出发,利用交换律把相 同的运算集中在一起。再利用结合律把参加这些运算的操作 数(称原子)配对,尽可能并行运算,从而组成树高最小的子 树。最后,再把这些子树结合起来。例如,给定表达式
第7章 多处理机 图 7.1 紧耦合多处理机的结构
第7章 多处理机 图 7.2 带非对称I/O子系统的多处理机
第7章 多处理机 图 7.3 采用冗余连接的非对称I/O子系统
第7章 多处理机 2. 松耦合多处理机
图 7.4 通过消息传送系统连接的松耦合多处理机结构
第7章 多处理机 图 7.5 Cm*多处理机结构
第7章 多处理机
7.3 程 序 并 行 性
7.3.1 并行算法
1. 算术表达式的并行运算 算法必须适应具体的计算机结构。串行处理机上习惯采 用的循环和迭代算法往往不适合于多处理机,而采用直接解 法有时反倒能揭示更多的并行性。 例如,E1=a+bx+cx2+dx3 利用霍纳(Horner)
E1=a+x(b+x(c+x(d)))
第7章 多处理机 2. 环形互连形式
图 7.6 机间采用环形互连的多处理机
第7章 多处理机 3. 交叉开关形式
图 7.7 交叉开关形式
第7章 多处理机 图 7.8 交叉开关中结点开关的结构
第7章 多处理机
图 7.9 用 4×4 16×16 的两级交叉开关网络
第7章 多处理机 4. 多端口存贮器形式
第7章 多处理机
7.1 多处理机的特点及主要技术问题 7.2 多处理机的硬件结构 7.3 程序并行性 7.4 多处理机的性能 7.5 多处理机的操作系统
第7章 多处理机
7.1 多处理机的特点及主要技术问题
1) 2) 程序并行性 3) 4) 进程同步 5) 资源分配和任务调度
第7章 多处理机
图 7.10 四端口存贮器形式的结构
第7章 多处理机 5. 开关枢纽结构形式
图 7.11 X-TREE多处理机结构框图
第7章 多处理机
7.2.3 存贮器组织
1. 并行主存贮器的构成
图 7.12 m个模块的低位交叉编址
第7章 多处理机 图 7.13 m个模块的高位交叉编址
第7章 多处理机 图 7.14 本地存贮器的概念
第7章 多处理机
目录表的具体作法又可分 3 种。一种是全映象目录表法。 表中每项有N个标志位对应于多处理机中全部N台处理机的 Cache。 系统中全部Cache均可同时存有同一个信息块的副本。 不过, 这样的目录表很庞大, 硬件及控制均较复杂。 另一种 是有限目录表法。 表中每项的标志位少于N个。因此,限制了 一个数据块在各Cache中能存放的副本数目。这两种目录表都 是集中地存入在共享的主存之中,因此需要由主存向各处理机 广播。第三种是链式目录表法。它把目录分散存放在各个 Cache中,主存只存有一个指针,指向一台处理机。 要查找所 有放有同一个信息块的Cache时,先找到一台处理机的Cache, 然后顺链逐台查找, 直到找到目录表中的指针为空时为止。
Baidu Nhomakorabea
第7章 多处理机 图 7.15 多处理机的二维并行存贮器构形
第7章 多处理机
2. 多Cache的一致性问题
为解决多个Cache之间的不一致。主要有两类做法。一类 是以硬件为基础的做法,另一类则主要是以软件为基础的做 法。
以硬件为基础实现Cache一致性的办法有多个。 最普遍采 用的办法叫监视Cache协议(Snoopy Protocal)法,各个处理机中 的Cache控制器随时都在监视着其他Cache的行动。对于采用 总线互连共享主存的多处理机, 可利用总线的播送来实现。
第7章 多处理机
7.2.2 机间互连形式
1. 总线形式
多个处理机、存贮器模块和外围设备通过接口与公用总线 相连,采用分时或多路转接技术传送。其中,单总线方式结构 简单、成本低, 系统上增减模块方便,但对总线的失效敏感。 而且,处理机数增加会增大访问总线冲突的概率而导致系统效 率急剧下降。虽然可以在处理机中设置局部存贮器和专用外围 设备来减少访问总线的冲突,但这种单总线形式也只适用于处 理机数较少的场合。IBM Stretch和UNIVAC Larg多处理机采用 的就是单总线方式。
第7章 多处理机
以软件为基础解决Cache一致性的作法,主要优点是可以 减少硬件的复杂性,降低对互连网络通信量的要求, 因而性能 价格比可以较高,比较适用于处理机数多的多处理机。 但应当 指出的是, 现在以软件为基础的办法虽已提出了好几种方案, 但由于可靠性及编译程序的编写困难, 都还没有真正在商品化 多处理机上使用,只在某些试验性系统上使用,如伊利诺大学 的Cedar机。
(1) 硬件结构上如何解决好处理机、 存贮器模块及I/O子 系统之间的互连。
(2) 如何最大限度地开发系统的并行性, 以实现多处理机 各级的全面并行。
(3) 如何选择分割任务和子任务的大小, 即任务的粒度大 小, 使并行度高, 而辅助开销小。
(4) 如何协调好多处理机中各并行执行的任务和进程间的 同步问题。
第7章 多处理机
有两种办法可以用来提高总线形式的系统效率。一种办 法是,采用优质高频同轴电缆来提高总线的传输速率;进一 步使用光纤通信, 其信息速率可达109~1010 b/s。另一种办法 是,采用多总线方式来减少访问总线的冲突概率。如美国的 Tandem-16 和Pluribus就采用双总线方式来提供一定的总线冗 余和增大系统总的信息传送率。日本的实验多处理机EPOS 采用的是四总线方式。德国西门子公司的结构式多处理机 SMS采用的是八总线方式。 而上节介绍的Cm*多微处理机则 采用分级的多总线方式。
(5) 如何将各个任务分配到一个或多个处理机上, 解决好 处理机调度、任务调度和资源分配问题, 防止死锁。
(6) 一旦某个处理机发生故障,如何对系统进行重新组织 而不使其瘫痪。
第7章 多处理机
7.2 多处理机的硬件结构
7.2.1 紧耦合和松耦合
1. 紧耦合多处理机 紧耦合多处理机是通过共享主存来实现处理机间通信的, 其通信速率受限于主存的频宽。但是,由于各处理机与主存 经互连网络连接,系统中处理机数就受限于互连网络带宽及 多台处理机同时访问主存发生冲突的概率。
第7章 多处理机 图 7.16 不同算法影响树高的例子
第7章 多处理机
首先从算术表达式的最直接形式出发,利用交换律把相 同的运算集中在一起。再利用结合律把参加这些运算的操作 数(称原子)配对,尽可能并行运算,从而组成树高最小的子 树。最后,再把这些子树结合起来。例如,给定表达式
第7章 多处理机 图 7.1 紧耦合多处理机的结构
第7章 多处理机 图 7.2 带非对称I/O子系统的多处理机
第7章 多处理机 图 7.3 采用冗余连接的非对称I/O子系统
第7章 多处理机 2. 松耦合多处理机
图 7.4 通过消息传送系统连接的松耦合多处理机结构
第7章 多处理机 图 7.5 Cm*多处理机结构
第7章 多处理机
7.3 程 序 并 行 性
7.3.1 并行算法
1. 算术表达式的并行运算 算法必须适应具体的计算机结构。串行处理机上习惯采 用的循环和迭代算法往往不适合于多处理机,而采用直接解 法有时反倒能揭示更多的并行性。 例如,E1=a+bx+cx2+dx3 利用霍纳(Horner)
E1=a+x(b+x(c+x(d)))
第7章 多处理机 2. 环形互连形式
图 7.6 机间采用环形互连的多处理机
第7章 多处理机 3. 交叉开关形式
图 7.7 交叉开关形式
第7章 多处理机 图 7.8 交叉开关中结点开关的结构
第7章 多处理机
图 7.9 用 4×4 16×16 的两级交叉开关网络
第7章 多处理机 4. 多端口存贮器形式