多处理机
是指有两台以上的处理机,共享I/O 子系统,机间经共享主存或高速通信网络通信,在统一操作系统控制下,协同求解大而复杂问题的计算机系统。(填)
多处理机与阵列处理机的比较如下:(答)
- 多处理机是属于多指令流多数据流的系统。它与单指令多数据流的阵列处理机相比,有很大的差别。
- 并行性的等级不同,阵列处理机主要是针对向量、数组处理,实现向量指令操作级的并行,是开发并行性中的同时性。
- 多处理机实现的则是更高一级的作业或任务间的并行,是开发并行性中的并发性。
- 通过共享主存机间互联网络实现异步通信,在系统管理上,要更多的依靠操作系统等软件手段,有效地解决资源分析和管理。
多处理机有紧耦合和松耦合两种不同的构形(选、答)
- 紧耦合多处理机。紧耦合多处理机是通过共享主存来实现处理机间通信的,其通信速率受限于主存频宽。各处理机与主存经互联网络连接,处理机数受限于互联网络带宽及各处理机访主存冲突的概率。
- 松耦合多处理机。松耦合多处理机中,每台处理机都有一个容量较大的局部存储器,用于存储经常用的指令和数据,以减少紧耦合系统中存在的访主存冲突,松耦合多处理机较适合做粗细度的并行计算。
在紧耦合多处理机中各处理机而言,又有同构对称型
和异构非对称型
两种。 (选、填)
当多处理机用于并行任务时,常采用同构对称型的紧耦合多处理机。(选、填)
采用异构非对称型多处理机时,其处理机不同于从处理机。(选、填)
多处理机的互联一般采用总线
、环形互联
、交叉开关
、多端口存储器
或蠕虫穿洞
寻径网络等几种形式。(选)
为解决多个处理机同时访问公用总线的冲突,研制了静态优先级
、固定时间片
、动态优先级
、先来先服务
等多种总线仲裁算法。(选、填)
环形互连的缺点(答)
- 由于互连是点点连接,不是总连接,其物理参数容易得到控制,非常适合于有高速通信带宽的光纤通信。
- 光纤通信是很难用在总线式互连系统上的。
- 环形互连的缺点是信息在每个接口处都会有一个单位的传输延迟,当互连的处理机机数增加时,环中的信息传输延迟增大。
- 令牌环可以看成是一种周期短,延迟长的流水线。
多端口存储器形式的中心是多端口存储器模块
。多个存储器模块的相应端口连接在一起,每一个端口负责处理一个处理P或I/O 通道的访存请求。(选、填)
蠕虫穿洞寻径网络的含义如下(答)
- 机间采用小容量缓冲存储器,用于消息分组寻径存储转发。
- 在蠕虫网络中,将消息分组又分割成一系列更小的组。
- 同一分组中所有小组以异步流水方式按序不间断地传送,并且同一分组中的所有小组,只有头部的小组知道其所在的整个分组传送的目的地,用硬件方式进行传送的应答。
- 各个小组允许交叉传送,但不同分组中的各个小组不能相互混在一起传送,利用虚拟通道思想,使存在于发送和接收结点之间的一条物理通道能被多个虚拟通道分时共享。
多Cache的一致性问题的产生原因如下(答)
- 在多处理中,情况比较复杂。由于每个处理机都有自己的专用Cache,当主存中同一个信息块在多个Cache 中都有时,会出现多个Cache 之间的相应信息块的内容不一致的问题。
- 使用写直达法,处理机进行写操作,可以保证其Cahe与主存的内容不一致,但不能保证有此副本的其他处理机的Cache 信息快与主存中的一致。
- 而且,在多处理机上,为了提高系统的效率,有时还允许进程迁移,将一个尚未执行完而被挂起的进程调度到另一个空闲的处理机上去执行,使系统中处理的负荷保持均衡,这样做也会造成Cache与主存之间的不一致 。
- 因为被迁移的进程中最近修改过的信息只保留在原处理机的Cache中。迁到新的处理机后,改进程就会使用主存中已过期的旧信息,使进程不能正确地得到恢复而出错。
- 另外,当系统绕过Cache 的输入/输出操作时,也会导致多Cache块之间及Cache 与主存对应块的内容不一致。
多Cache的一致性问题的解决办法如下(答)
- 解决进程迁移引起的多Cache之间的不一致性。对于进程迁移引起的多Cache之间的不一致性问题,可以通过禁止进程迁移的办法予以解决,也可以在进程挂起时,靠硬件方法将Cache中该进程改写过的信息块强制写回主存相应位置的办法来解决。
- 以硬件为基础实现多Cache 的一致性。最普遍采用的办法是监视Cache 协议法,监视Cache协议法实现很简单,但只适用于总线互连的处理机。而且不管是写作废还是写更新,都要占用总线不少的时间。
- 以软件为基础实现多Cache 的一致性。以硬件作为基础的做法将增大对互连网络的通信量,多处理机很多时硬件也非常复杂。因此,提出了一些以软件作为基础的做法。
- 以软件为基础解决Cache 一致性的做法,主要优点是可以降低硬件的复杂性,降低对互连网络通信量的要求,因而性能价格比可以较高,比较适用于处理机数多的处理机。
按运算基本对象,并行算法可分为数值型
和非数值型
两类。(选、填)
按并行进程间的操作顺序不同,并行算法又分为同步型、异步型、独立型3种。(选、填)
根据各处理机计算任务的大小(即任务粒度)不同,并行算法又分为细粒度
、中粒度
和细粒度
3种。(选、填)
程序并行性的分析如下(答)
- 数据相关。如果 <math xmlns="http://www.w3.org/1998/Math/MathML"> P P </math>Pi的左部变量在 <math xmlns="http://www.w3.org/1998/Math/MathML"> P P </math>Pj的右部变量集内,且 <math xmlns="http://www.w3.org/1998/Math/MathML"> P P </math>Pj必须取出 <math xmlns="http://www.w3.org/1998/Math/MathML"> P P </math>Pi运算的结果来作为操作数,就称 <math xmlns="http://www.w3.org/1998/Math/MathML"> P P </math>Pj 数据相关与 <math xmlns="http://www.w3.org/1998/Math/MathML"> P P </math>Pi。相当于流水中发生的先写后读相关。
- 数据反相关。如果 <math xmlns="http://www.w3.org/1998/Math/MathML"> P P </math>Pj的左部变量在 <math xmlns="http://www.w3.org/1998/Math/MathML"> P P </math>Pi的右部变量集内,且当 <math xmlns="http://www.w3.org/1998/Math/MathML"> P P </math>Pi 未取用其变量的值之前,是不允许被 <math xmlns="http://www.w3.org/1998/Math/MathML"> P P </math>Pj 所改变的,就称 <math xmlns="http://www.w3.org/1998/Math/MathML"> P P </math>Pi 数据反相关与 <math xmlns="http://www.w3.org/1998/Math/MathML"> P P </math>Pj。相当于流水中发生的先读后写相关。
- 数据输出相关。如果 <math xmlns="http://www.w3.org/1998/Math/MathML"> P P </math>Pi 的左部变量也是 <math xmlns="http://www.w3.org/1998/Math/MathML"> P P </math>Pj 的左部变量,且 <math xmlns="http://www.w3.org/1998/Math/MathML"> P P </math>Pj 存入其算得的值必须在 <math xmlns="http://www.w3.org/1998/Math/MathML"> P P </math>Pi存入之后,则称 <math xmlns="http://www.w3.org/1998/Math/MathML"> P P </math>Pj 数据输出相关与 <math xmlns="http://www.w3.org/1998/Math/MathML"> P P </math>Pi。
- 除了上述3种相关外,如果两个程序段的输入变量互为输出变量,同时具有先写后读和先读后写两种相关,以交换数据为目的,则两者必须并行执行,既不能顺序串行,也不能交换串行。
- 如果两个程序段之间不存在任何一种数据相关,即无共同变量,或共同变量只出现在右部的源操作数,则两个程序段可以无条件地并行执行,也可以顺序串行或交换串行。
并行算法
需要用并行程序来实现,为了加强程序并行性的识别能力,就要使用并行程序设计语言。(选、填)
并行程序设计语言的基本要求是:能使程序在其程序中灵活、方便地表示出各类并行性,能在各种并行/向量计算机系统中高效地实现。(选、填)
并行进程的特点是这些进程在时间上重叠地执行,一个进程未结束,另一个进程就已开始。(选、填)
并行任务的派生
是使一个任务在执行的同时,派生出可与它并行执行的其他一个或多个任务,分配给不同的处理机完成。
衡量任务粒度大小的依据是(答)
- 程序用于有效计算的执行时间E与处理机间的通信等辅助开销的时间C 的比值。
- 只有E/C 的值较大时,开发并行性才有好处。
- 如果最大并行度会带来最大的通信等辅助开销,倒不如增大任务粒度,降低并行度来减少辅助开销。因此为获得最佳的性能,必须对并行性和额外开销进行权衡。
主从型操作系统的优点是(答)
- 主从型操作系统的结构比较简单;整个管理程序只在一个处理机上运行,除非某些需递归调用或多重调用公用程序,一般都不必是可再入的。
- 只有一个处理机访问执行表,不存在系统管理控制表格的访问冲突和阻塞,简化了管理控制的实现。
- 所有这些均使操作系统能最大限度地利用已有的单处理机多道程序分时操作系统的成果,只需要对它稍加扩充即可。因此,实现起来简单、经济、方便,是目前大多数处理机操作系统所采用的方式。
主从型操作系统的缺点是(答)
- 对主机的可靠性要求很高。一旦发生故障,很容易使整个系统瘫痪,这时必须有操作员来干预才行。
- 如果主处理机不是设计成专用的,操作员可用其他处理机作为新的主处理机来重新启动系统。
- 不够灵活,同时要求处理机必须能快速执行其管理功能,提前等待请求。
- 负荷过重的情况下,会影响整个系统的性能,特别是当大部分任务都很短时,频繁的要求主处理机完成大量的管理性操作,系统的效率会显著降低。
主从型操作系统的适用场合是(答)
主从型操作系统使用于工作负荷固定,从处理机能力明显低于主处理机,或由功能相差很大的处理机组成的异构型多处理机。
各自独立型操作系统的优点是(答)
- 很适应分布处理的模块化结构特点,减少对大型控制专用处理机的需求。
- 某个处理机发生故障,不会引起整个系统的瘫痪,有较高的可靠性。
- 每台处理机都有其专用控制表格,使访问系统表格的冲突较少,也不会有许多公用的执行表,同时控制进程和用户进程一起进行调度,能取得较高的系统效率。
各自独立型操作系统的缺点是(答)
- 实现复杂。尽管每台处理机都有自己的专业控制表格,但仍有一些共享表格,会增加共享表格的访问冲突,导致进程调度的复杂性和开销的加大。
- 某台处理机一旦发生故障,想要恢复和重新执行未完成的工作比较困难。
- 每台处理机都有自己专用的输入/输出设备和文件,使整个系统给的输入/输出结构变换需要操作员干预。
- 各处理机负荷的平衡比较困难。各台处理机需有局部存储器存放管理程序副本,降低了存储器的利用率。
各自独立型操作系统的使用场合是(答)
各自独立型操作系统适用于松耦合多处理机。
浮动操作系统
是介于主从型
和各自独立型操作系统
之间的一种折中方式,其管理程序可以在处理器之间浮动。(选、填)
在一段较长的时间里指定某一台处理机的控制处理机,但是具体指定哪一台处理机以及担任多长时间控制处理都是不固定的。(选、填)
多处理机的发展
机群系统
是将多个高性能的工作站或高档微型计算机,使用高速的通信网络加以互连组成的系统。(选、填)
机群系统中的主机和网络可以是同构
的,也可以是异构
的。主机间通信主要采用信息传递
。从结构和节点间的通信来看,是一种分布式存储方式
;从用户来看,表示的是一个完整的并行系统。(选、填)
机群系统比起传统的并行处理系统有如下明显的优点(答)
- 系统有高的性能价格比。
- 系统的开发周期短。
- 系统的可扩展性好。
- 系统的资源利用率高。
- 用投资风险小。
- 用户编程方便。