Ch17 并行处理¶
并行处理机分类¶
-
单指令单数据流(SISD):传统单处理器。
-
单指令多数据流(SIMD):同一指令对不同数据组在不同处理器执行。
-
多指令单数据流(MISD):未实现。
-
多指令多数据流(MIMD):分为紧耦合、松耦合。
紧耦合¶
- 处理器共享存储器,通过共享存储器相互通信
对称多处理器(SMP)¶
-
定义
-
共享内存、IO,通过共享总线分时共享
-
存储器在任何范围内的存储时间对各个处理器大致相同
-
所有处理器能完成同样的功能(对称),地位平等
-
系统由一个集中式操作系统控制
-
-
优点:
-
性能好,可以并行执行
-
可用性,单个故障总体不会停机
-
增量式增长和可扩展性
-
非一致性内存访问(NUMA)¶
存储器在不同范围内的存储时间对不同处理器是不同的
Cache 一致性问题与 MESI 协议¶
-
问题:
-
同一数据在不同的 Cache 中都有副本
-
CPU 读取数据时会先检查 Cache,导致不同的 CPU 眼里的内存不一样
-
回写显然会导致不一致,写直达也会,不过可以通过监听消除
-
-
目录协议
-
收集维护有关数据块的副本放在哪里的信息
-
目录放在主存中
-
优点:适用于多总线或复杂的大型系统
-
缺点:产生了中央瓶颈
-
-
监听协议
-
Cache 必须识别每一行是否共享、是否与主存相同
-
优点:适合使用总线的多处理机
-
缺点:增大了总线传输量
-
有两种策略:
-
写-失效:适用于回写
-
多个监听者,单个修改者
-
某 Cache 写操作时,其他 Cache 中的该行数据失效
-
发出写操作的处理器将获得数据独享直到其他 Cache 访问该行
-
例子:MESI 协议
-
-
写-更新:适用于写直达
-
多个读者,多个写者
-
更新的字被广播到其他 Cache
-
-
-
MESI 协议¶
-
M(Modified):已修改,数据仅在本 Cache,未写回主存。
-
E(Exclusive):独占,数据在本 Cache 和主存,其他 Cache 无副本。
-
S(Shared):共享,数据在本 Cache 和主存,其他 Cache 有副本。
-
I(Invalid):失效,数据不在本 Cache 或已过时。

松耦合(如集群)¶
-
独立处理器或 SMP 互联,分布式存储器,通信通过网络。
-
优点:可扩展性强、可用性高、性价比高。
集群与 SMP 对比¶
-
共同点:
-
提供多处理器支持高端应用
-
均商用化,SMP 历史更久。
-
-
SMP 优点:
-
易于配置管理
-
接近单处理器模型
-
占用物理空间小
-
耗电少
-
稳定
-
-
集群优点:
-
运行中可增减机器
-
高增量
-
绝对可扩展性强
-
高可用性
-