第七章 多处理机

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

7.4.2 性能模型与分析
假定一个应用程序含T个任务,在N台处理机上运行,每个 任务的执行时间为E,不同处理机间一次通讯开销时间为C。 1.N=2且计算与通讯不能重叠 如果将I个任务分配给一台处理机,余下的T-I给另一台处理 机,则R=Emax{T-I,I}+C(T-I)I 据此,可得到如图7.19P198。由图可见,E/C的大小不影响 总执行时间,只影响总通讯时间。当E/C<=T/2时,所有任务分 配给一台处理机,可使总运行时间R最少;而E/C>T/2时,将任 务分配给两台处理机,可使总运行时间R最少。 2.N>2且计算与通讯不能重叠 若将IK个任务分配给第K台处理机,则 R=Emax{IK}+C/2∑IK (T-IK) 由于∑IK =T,故R=Emax{IK}+C/2(T2-∑IK2)
7.3.2 程序并行性的分析
任务间能否并行,除了算法以外,很大程度还取决于程序 的结构。程序中各类数据相关是限制程序并行的重要因素。数 据相关既存在于指令之间,也存在于程序段之间。 程序段之间也可能出现数据相关(类似于流水处理中的“先 写后读”相关)、数据反相关(类似于流水处理中的“先读后写” 相关)和数据输出相关(类似于流水处理中的“写-写”相关)等多 种数据相关。 一般,两个程序段之间若有数据相关,不能并行,只在特 殊情况下可以交换串行;若有数据反相关,可以并行执行,但 必须保证其写入共享主存时的先读后写次序,不能交换串行; 若有数据输出相关,可以并行执行,但同样需保证其写入的先 后次序,不能交换串行;若同时有先写后读和先读后写两种相 关,以交换数据为目的时,必须并行执行,且读写要完全同步, 不许顺序串行和交换串行;若没有任何相关或仅有源数据相同 时,可并行、顺序串行和交换串行。
多处理机存在的主要技术问题: 硬件结构上,如何解决处理机、存储器模块及I/O 子系统间的互连 如何最大限度开发系统的并行性,以实现多处理机 各级的全面并行 如何选择任务的粒度,使并行度高,辅助开销小 如何协调多处理机中各并行执行的任务和进程间的 同步 资源分配和任务调度 一旦某个处理机故障,如何对系统进行重组织 多处理机机数增多时,如何提供良好的编程环境, 减轻程序的复杂性
7.3 程序并行性
7.3.1 并行算法 7.3.2 程序并行性的分析 7.3.3 并行程序设计语言
7.3.1 并行算法
多处理机低层次的并行通过向量化实现;高层次的任务和 作业的并行主要看算法、编译、语言及操作系统来开发。 算法必须适应具体的计算机结构。串行处理机上习惯采用 的循环和迭代算法往往不适合于多处理机,采用直接解法有时 反而能揭示更多的并行性。 类似于图7.12P191所示,问题运算过程可以表示成树型结 构,这样提高运算的并行性就是如何对树进行变换,减少运算 的级数,即降低树高。树型结构可以用交换率、结合率和分配 率来变换。如图7.13P192到图7.14P192的变换。 运算的级数就是树高TP;P代表所需处理机的数目;顺序 运算的级数T1与P台处理机运算的级数TP的比值为加速比SP; SP/P=EP称为效率。SP>=1时,会使EP<=1,即运算的加速总 是伴随效率的下降。
发送信息的处理机拥有一个惟一的令牌,它是普通传送 的信息中不会出现的特定标记。同时只能有一台处理机持有 这个令牌。 环形互连的物理参数容易控制,非常适合于有高通讯带 宽的光纤通讯。但是,随着环网上处理机机数的增加,网络 的带宽会严重降低,造成系统效率下降。 3.交叉开关形式 交叉开关形式不同于单总线,用纵横开关阵列将横向的 处理机P及I/O通道与纵向的存储器模块M连接起来,如图 7.7P188所示。 交叉开关形式是多总线朝总线数增加方向发展的极端情 况,总线数等于全部相连的模块数(n+i+m),且m>=i+n,n个 处理机和i个I/O设备都能分到总线与m个存储器模块之一连 通并行的通讯。互连网络不争用开关,可以大大提高互连传 输频宽,提高系统效率。任何处理机或I/O通道与任何存储 器模块交换信息时,只在交叉开关处有一个单位的传输延迟。 此时,影响多处理机系统性能的瓶颈不再是互连网络,而是 共享的存储器。
第7章 多处理机
7.1 多处理机的特点及主要技术问题 7.2 多处理机的硬件结构 7.3 程序并行性 7.4 多处理机的性能 7.5 多处理机的操作系统 习题
7.1 多处理机的特点及主要技术问题
多处理机具有两台以上的处理机,在操作系统控制下通过 共享的主存或输入/输出子系统或高速通讯网络进行通讯。使用 多处理机的目的:一是用多处理机进行多任务处理协同求解一 个大而复杂的问题来提高速度;二是依靠冗余的处理机及其重 组来提高系统的可靠性、适应性和可用性。因为应用目的和结 构的不同,多处理机可以有同构型、异构型和分布型三种。 多处理机属于多指令流多数据流系统,与单指令流多数据 流系统的并行处理有很大的差别: 结构灵活性 程序并行性 并行任务派生 进程同步 资源分配和任务调度
7.2 多处理机的硬件结构
7.2.1 紧耦合和松耦合 7.2.2 机间互连形式
7.2.1 紧耦合和松耦合
1.紧耦合多处理机 紧耦合多处理机通过共享主存实现处理机之间的通讯, 其通讯速率受限于主存频宽。各处理机与主存经互连网络连 接,处理机数受限于互连网络带宽及各处理机访主存冲突的 概率。 为减少访主存冲突,主存采用模m多体交叉存取。模数m 越大,发生冲突的概率越低,但要解决好数据在各存储器模 块中的分配和定位。各处理机可以自带小容量局部存储器存 放该处理机运行进程的核心代码和常用系统表格;还可自带 cache以减少访主存次数。 图7.1P184是紧耦合多处理机的两种构形。它们的主要差 别是处理机是否带有专用cache.系统由p台处理机、m个存储 器模块和d个I/O通道组成。通过处理机-存储器互联网络 (PMIN)、I/O-处理机互联网络(IOPIN)和中断信号互联网络 (ISIN)进行互联。
7.4 多处理Βιβλιοθήκη Baidu的性能
7.4.1 任务粒度与系统性能 7.4.2 性能模型与分析
7.4.1 任务粒度与系统性能
使用多处理机的主要目的是用多个处理机并发执行多个任 务来提高解题速度。但是,在实际解题算法中,总是会有不可 并行的部分,解题过程需花费辅助开销,用于并行检测、并行 任务的派生和汇合、处理机间的通讯传输、同步、系统控制和 调度,这使得多处理机的性能比期望的要小得多。 任务粒度的大小会显著影响多处理机的性能和效率。任务 粒度过小,辅助开销大,系统效率低;粒度过大,并行度低, 性能不会提高。因此,要合理选择任务粒度的大小,并使其尽 可能均匀,还要采取措施减少辅助开销,以保证系统性能随处 理机数目的增加能有较大的提高。 衡量任务粒度大小的一个依据就是程序用于有效计算的执 行时间E与处理机间的通讯等辅助开销时间C的比值。只要E/C 值较大,开发并行性才有好处。 此外,任务粒度还与系统的应用有关。系统设计应使其能 与应用问题的粒度取得较佳适配。
交叉开关的每一个交叉点都是一套如图7.7P188所示的结 点开关,不仅要有多路转接逻辑,还要有处理访问存储器模 块冲突的仲裁硬件,加上总线有一定的宽度,因此整个交叉 开关阵列非常复杂。 4.多端口存储器形式 如果每个存储器模块有多个访问端口,将分布在交叉开 关矩阵中的控制、转移和优先级仲裁逻辑分别移到相应存储 器模块的接口中,就构成了如图7.10P189所示的多端口存储 器形式的结构。存储器模块的每一个端口负责处理一个处理 机P或I/O通道的访存请求。每个存储器模块按照对它的各个 端口指定的优先级来分解对它的访问冲突。 5.开关枢纽结构形式 参照多端口存储器的思想,把互连结构的开关设置在各 处理机或接口内部,组成分布式结构,则称为开关枢纽结构 形式。每台处理机通过它的开关枢纽与其他处理机连接组成 各种有分布结构的多处理机。开关枢纽的选择,应使组成的 多处理机有较佳的拓扑结构和良好的互连特性。
处理机-存储器互连网络实现各处理机与各存储器模块的 连接,使之经仲裁后,每个存储器模块在一个存储周期只响 应其中一台处理机的访存请求。为了减少各处理机同时访问 同一存储器模块的冲突,存储器模块数m一般等于或大于处 理机数p。每台处理机自带局部存储器的方案,可以减少访 主存信息量,降低访主存冲突概率,也可以减少处理机-存 储器互连网络的使用冲突。如果再有cache就可以进一步减 少这种冲突。 处理机间通过中断信号互连网络,由一台处理机向另一 台处理机发出中断信号来实现处理机间的进程同步。 处理机和连接外设的I/O通道,经I/O-处理机互连网络来 实现通讯。一般,多数多处理机采用非对称互联,即如图 7.2P185所示,连到一台处理机的设备不能被另一台处理机 直接访问。 紧耦合多处理机常用于并行执行作业中的多个任务,以 提高系统的速度性能。因此各处理机一般是同构形的,即系 统是多个同类型至少是功能相同的处理机组成。
2.松耦合多处理机 松耦合多处理机中,每台处理机都有一个容量较大 的局部存储器,用于存储经常用的指令和数据,以减少 紧耦合系统中存在的访主存冲突。不同处理机间或者通 过通道互连实现通讯,以共享某些外部设备;或者通过 消息传送系统MTS来交换信息,这时各台处理机都带有 自己的外部设备。 一般,松耦合多处理机较适合做粗粒度的并行计算。 处理的作业分割成若干相对独立的任务,在各个处理机 上并行,而任务间的信息流量较小。如果各处理机任务 交互作用较少时。这种耦合度很松的系统是很有效的, 可看作一个分布系统。 图7.4P186给出了典型的经消息传送系统互连的松耦 合非层次型多处理机。
根据双处理机的分析,N台处理机总运行时间最短的情况, 或者是将所有任务集中分配给一台处理机上以免去通讯开销, 或者将任务尽可能平均分配给所有各处理机。 究竟采用平均分配还是集中分配,可以通过计算这两种任 务分配策略的总运行时间差来决定。经过分析,发现当E/C>T/2 时,采用平均分配;反之,则采用集中分配。 平均分配时,分析发现,当E/C>>T(N-1)/2时,并行系统的 加速比Sp可接近N。即当任务数T及处理机数N均较少而E/C又较 大时,并行系统的加速比随处理机机数N的增加而接近线性地提 高。但当N增大到较大时,Sp就趋近于2E/(CT),只与E/C及任务 数T有关,而与机数N基本无关。 3.额外开销与计算工作可以重叠 当ET/N>=CT2(1-1/N)/2时,辅助开销将被完全覆盖。如果N 值很大,让总运行时间最少时,有N<=2E/(CT),即选择的最佳 机数与可提供的任务数T成反比。
7.2.2 机间互连形式
多处理机机间互连的形式是决定多处理机性能的一个重要 因素。在满足高通讯速率、低成本的条件下,互连还应灵活多 样,以实现各种复杂的乃至不规则的互连而不发生冲突 1.总线形式 多个处理机、存储器模块和外围设备通过接口和公用总线 相连,采用分时或多路转接技术传送。 为解决多处理机同时访问公用总线冲突,有静态优先级、 固定时间片、动态优先级、先来先服务等多种总线仲裁算法 总线形式适于机数少的多处理机。它结构简单、造价低、 可扩充性好;但总线性能和可靠性受物理因素的影响 2.环形互连形式 构造了一种逻辑总线,让各处理机之间点点相连成环状, 称为环形互连,如图7.6P187所示。在这种多处理机上,信息的 传递过程由发送进程将信息送到环上,经环形网络不断向下一 台处理机传递,直到信息又回到发送者为止
7.3.3 并行程序设计语言
为加强程序并行性的识别能力,有必要在程序语言 中增加能明确表示并发进程的成分,这就要使用并行 程序设计语言。 并行程序设计语言的基本要求是能使程序员在其程 序中灵活方便地表示出各类并行性,并能在各种并行/ 向量计算机系统中高效地实现。 并行进程的特点是这些进程在时间上重叠执行,一 个进程未结束,另一个进程就开始了。 包含并行性的程序在多处理机上运行时,需要有相 应的控制机构来管理,其中包括并行任务的派生和汇 合。并行任务的派生和汇合常用软件手段控制。
相关文档
最新文档