系统结构考点之任务粒度
还算熟悉,主要是对多处理机没有印象了。
如题:2021年10月
![](https://img-blog.csdnimg.cn/69b3d3e815994fcd97e540631338214a.png#pic_center)
分析
主要是看下多处理机。即使不看课本内容,这个题也可以做对。
基本知识
多处理机的概念
有两台以上的处理机,共享I/O子系统,机间经共享主存或高速通信网络通信,在统一操作系统控制下,协同求解大而复杂问题的计算机系统。(相当于多核的CPU)
所以多处理机是一个MIMD(多指令流多数据流)系统。
多处理机与单指令流多数据流的阵列处理机差别
最大差别来源于并行性的等级不同。
阵列处理机主要是针对向量、数组处理,实现向量指令操作级并行,是开发并行性中的同时性。
多处理机实现的则是更高一级的作业或任务间的并行,是开发并行性中的并发性。这里要注意,与单处理机系统中的并发是不同的,单处理机宏观上每一时刻仅能有一道程序执行,微观上这些程序只能分时交替执行。多处理机就是有多个程序同时运行。
任务粒度对多处理机性能的影响(本题的考点)
任务粒度过小,辅助开销大,系统效率低。
任务粒度过大,并行度低,性能不会很高。这与操作系统,系统时钟设置有一定的相似性。
衡量任务粒度大小的依据
程序用于有效计算的执行时间E与处理机间的通信 等辅助开销时间C的比值。只有E/C值较大时,对并行性才有好处。
任务粒度还与系统的应用有关。图像及多目标跟踪因为贾彰 通信开销少,宜于细粒度处理。
冗长计算才能得到结果的题目,宜于粗粒度处理。
扩展知识
多处理机的硬件结构
紧耦合多处理机
通过共享主存实现处理机间通信的,各处理机与主存经互连网络连接。
松耦合多处理机
每台处理机都有一个容量较大的局部存储器,用于存储经常的指令和数据,以减少紧耦合系统中存在的访主存冲突。不同处理机间或者通过通道互连实现通信,以共享某些外围设备;或通过消息传送系统(MTS,Message Transfer System)来交换信息,这时各台处理机可带有自己的外围设备。松耦合多处理机较适合做粗粒度的并行计算。
机间互连形式
总线、环形互连、交叉开关、多端口存储或蠕虫穿洞寻径网络等几种形式。
总线形式
多个存储机、存储器模块和外围设备通过接口与公用总线相连,采用分时或多路转接技术传送。有IBM stretch UNIVAC larg等
环形互连形式
各台处理机之间点点相连成环状
交叉开关形式
用纵横开关阵列将横向的处理机P及I/o通道与纵向的存储器M连接起来。
多端口存储器形式
每个存储器模块有多个访问端口,将分布在交叉开关矩阵中的控制、转移和优先级仲裁逻辑分别转移到相应存储器模块的接口中,就构成了多端口存储器形式的结构。
蠕虫穿洞寻径网络
机间采用小容量缓冲存储器,用于消息分组寻径存储转发。在蠕虫网络中,将消息分组又分割成一系列更小的小组,以异步流水方式按序不间断地传送,各个分组允许交叉传送。曙光1000多处理机就采用蠕虫网络来减少存储转发所需的通信时间。
开关枢纽结构形式
参照多端口存储器的思想,把互连结构的开关设置在各处理机或接口内部,组成分布式结构,称为开关枢纽结构形式。
存储器组织
多处理机的主存一般都采用由多个模块构成的并行存储器。这种并行存储器是按交叉方式编址的。低位交叉想像一个坐标轴,x轴为模块数m,y轴为块内地址n,交叉编址就是以第一行模块数为起点0,x轴方向增到m-1.再返回第一个模块的第二行块内地址,从m处起…依次进行。
什么是低位交叉编址呢?所谓的低位就是低位存在块内地址低位
低位交叉指,主存物理地址的低log2m位代表选择模块,高log2n位代码选择模块内的单元。整个存储器单元按物理地址顺序轮流地分布在各个存储器模块中。
什么又是高位交叉呢?高位就是高位存在块内地址的高位。
与低位交叉相反,整个存储单元按物理地址顺序从模块0到模块m-1依次连续分布,且模块内部顺序单元的物理地址也是连续的。在流水、向量或阵列处理机中,一般不会采用高位交叉编址方案。高位交叉编址相当于集中存储于一个存储模块中,所以对多处理机而言,提出本地存储器概念,对于不共享集中数据时,处理时更好,对减少访存冲突是很有效的。
对于每个处理机有自己的cache时,采用 二维的并行存储器构形 更好。存储器共有c X m 个相同的模块,排成c列。每一列为m个模块。其中,m应大于等于cache中一个信息块所含的单元数b,各列之间采用高位交叉编址,列内各模块之间则采用低位交叉编址。每列都有一个列控制部件,用于控制每列经公用总线转接到互连网络上。这种存储器形式可以很好地匹配cache的带宽。
址。每列都有一个列控制部件,用于控制每列经公用总线转接到互连网络上。这种存储器形式可以很好地匹配cache的带宽。