第七章中的霍纳法则、资源时间图以及FORK JOIN后续结合具体的应用题目细说。
第八章理解两种非冯诺依曼型计算机的基本概念。
第七章 多处理机
7.1 多处理机的概念、问题和硬件结构
(1)多处理机的概念(p223,简答题)
多处理机是指有两台以上的处理机,共享 I/O 子系统,机间经共享主存或高速通信网络通信,在统一操作系统控制下,协同求解大而复杂问题的计算机系统。
(2)设计多处理机的目的。(p223,简答题)
① 通过多台处理机对多个作业、任务进行并行执行来提高解题速度,从而提高系统的整体性能;
② 使用冗余的多个处理机通过重新组织来提高系统的可靠性、适应性和可用性。
(3)由于应用的目的和结构不同,多处理机有 同构型、异构型 和 分布型 三种。(p223)
(4)多处理机与阵列处理机在指令流和并行等级的区别。(p223,简答题) 阵列处理机:单指令流多数据流,主要针对向量、数组处理,实现向量指令操作级的并行,是开发并行性的同时性;
多处理机:多指令流多数据流,实现的是更高一级的作业或任务间的并行,是开发并行性的并发性。
(5)多处理机有紧耦合和松耦合两种不同的构形。(p224,简答题)
(6)松耦合多处理机中,每台处理机都有一个容量较大的 局部存储器,用于存储经常用的指令和数据,以减少紧耦合系统中存在的 访主存 冲突。(p226)
(7)采用分布式结构的多处理机机间互连形式为开关枢纽结构。(p232)
7.1.1 多处理机的基本概念和要解决的技术问题
7.1.2 多处理机的硬件结构
1.紧耦合和松耦合
2.机间互连形式
3.存储器的组织
7.2 紧耦合多处理机多 Cache 的一致性问题
多cache的一致性问题的解决办法
(1)紧耦合多处理机中解决多 Cache 一致性的办法。(p236~237,简答题)
① 解决进程迁移引起的多 Cache 不一致性,可以通过禁止进程迁移的方法予以解决,也可以在进程挂起时,靠硬件方法将 Cache 中该进程改写过的信息块 强制写回主存相应位置。
② 以硬件为基础实现多 Cache 的一致性,主要有监视 Cache 协议法,即各个处理机中的 Cache 控制器随时都在监视着其他 Cache 的行动。另一种是目录表法,建立一个目录表,记录每一个数据块的使用情况。
③ 以软件为基础实现多 Cache 的一致性,例如依靠编译程序的分析,不把一些公用的可写数据存入 Cache 中。
7.3 多处理机的并行性和性能
多处理机的性能
(1)多处理机程序并行性(p240~242)
① “先写后读” 数据相关:不能并行执行,特殊情况可以交换串行
② “先读后写” 数据反相关:不能交换串行,硬件上保证对相关单元先读后写次序就可以并行
③ “写写” 数据输出相关:不能交换串行,保证先写后写顺序就能并行
④ 同时 “先写后读” 和 “先读后写” 两种相关:必须并行执行,不能顺序串行也不能交换串行。
理解:
“先写后读” 如:A=B+D; C=A*E
第二步的输入用到第一步的输出,能交换串行的特殊情况是 A=2*A; A=3*A
“先读后写” 如:C=A+E; A=B*D
第二步会输出第一步的输入
“写写” 如:A=B+D; A=C+E
两步的输出相同
同时 “先写后读” 和 “先读后写” 如:A=B; B=A
交换数据
交换就是两步计算交换顺序,串行就是顺序执行
(2)多处理机任务粒度(p247)
任务粒度过小,辅助开销大,系统效率低;
任务粒度过大,并行度低,性能不会很高。
处理机之间通信较少的应用程序宜用 细粒度 处理,要求冗长计算才能得到结果的题目宜用 粗粒度 处理。
7.4 多处理机的操作系统
(1)多处理机操作系统有 3 种类型: 主从型、各自独立型 和 浮动型。(p248)
机群系统
(1)对称多处理机的各个处理器的地位是均等的,可以同等地访问 共享存储器、I/O 设备和运行操作系统。(p250)
第八章 数据流计算机和归纳机
传统的 Von Neumann (冯·诺依曼结构)型计算机采用控制驱动方式;非 Von Neumann 型计算机包括使用数据流语言,基于数据驱动的数据流计算机;使用函数语言,基于需求驱动的归约机。(p256)
计算机可分为:
- 采用控制驱动方式的传统的 Von Neumann型计算机
- 非Von Neumann型计算机
- 基于数据驱动的数据流计算机
- 使用函数语言,基于需求驱动的归约机
数据流计算机
(1)数据流计算机中的数据驱动的策略是 提前求值。(p258)
(2)根据对 数据令牌 处理的方式不同,数据流计算机可以划分为 静态 和 动态 两种类型。(p263)
数据令牌是一种表示某一操作数或参数已准备就绪的标志。一旦执行某一 操作的所有操作数令牌都到齐,则标志着这一操作是什么操作,以及操作结果所得出的数据令牌应发送到哪些等待此数据令牌的操作的第几个操作数部件等有关信息。
(3)数据流机器存在的问题。(p264)
① 数据流机主要目的是为了提高操作级并行的开发水平,但如果题目本身数据相关性很强,内涵并行性成分不多时,就会使效率反而比传统的 Von Neumann 型机的还要低。
② 在数据流机器中为给数据建立、识别、处理标记,需要花费较多的辅助开销和较大的存储空间。
③ 数据流机不保存数组。对标量运算有利,而对数组、递归及其他高级操作比较难管理。
④ 数据流语言的变量代表数值而不是存储单元位置,使程序员无法控制存储分配。为有效回收不用的存储单元,增大了编译程序的难度。
⑤ 数据流机互连网络设计困难,输入 / 输出系统仍不够完善。
⑥ 数据流机没有程序计数器,给诊断和维护带来了困难。
归约机
(1)归约机结构的特点。(p265,简答题)
① 归约机应当是面向函数式语言,或以函数式语言为机器语言的非 Von Neumann 型机器;
② 具有大容量物理存储器并采用大虚存容量的虚拟存储器,具备高效的动态存储分配和管理的软、硬件支持;
③ 处理部分应当是一种有多个处理器或多个处理机并行的结构形式;
④ 采用适合于函数式程序运行的多处理器 (机) 互连的结构,最好采用树形方式的互连结构或多层次复合的互连结构形式;
⑤ 尽量把运行进程的结点机安排成紧靠该进程所需用的数据,并使运行时需相互通信的进程所占用的处理机也靠近,让各处理机的负荷平衡。
(2)根据机器内部对函数表达式所用存储方式的不同,将归约方式分成 串归约 和 图归约 两类。(p265)