跳转至

Ch17 并行处理

并行处理机分类

  • 单指令单数据流(SISD):传统单处理器。
  • 单指令多数据流(SIMD):同一指令对不同数据组在不同处理器执行。
  • 多指令单数据流(MISD):未实现。
  • 多指令多数据流(MIMD):分为紧耦合、松耦合。

紧耦合

  • 处理器共享存储器,通过共享存储器相互通信

对称多处理器(SMP)

  1. 定义
    • 共享内存、IO,通过共享总线分时共享
    • 存储器在任何范围内的存储时间对各个处理器大致相同
    • 所有处理器能完成同样的功能(对称),地位平等
    • 系统由一个集中式操作系统控制
  2. 优点:
    • 性能好,可以并行执行
    • 可用性,单个故障总体不会停机
    • 增量式增长和可扩展性

非一致性内存访问(NUMA)

存储器在不同范围内的存储时间对不同处理器是不同的

Cache 一致性问题与 MESI 协议

  1. 问题:
    • 同一数据在不同的 Cache 中都有副本
    • CPU 读取数据时会先检查 Cache,导致不同的 CPU 眼里的内存不一样
    • 回写显然会导致不一致,写直达也会,不过可以通过监听消除
  2. 目录协议
    • 收集维护有关数据块的副本放在哪里的信息
    • 目录放在主存中
    • 优点:适用于多总线或复杂的大型系统
    • 缺点:产生了中央瓶颈
  3. 监听协议
    • Cache 必须识别每一行是否共享、是否与主存相同
    • 优点:适合使用总线的多处理机
    • 缺点:增大了总线传输量
    • 有两种策略:
      1. 写-失效:适用于回写
        • 多个监听者,单个修改者
        • 某 Cache 写操作时,其他 Cache 中的该行数据失效
        • 发出写操作的处理器将获得数据独享直到其他 Cache 访问该行
        • 例子:MESI 协议
      2. 写-更新:适用于写直达
        • 多个读者,多个写者
        • 更新的字被广播到其他 Cache

MESI 协议

  • M(Modified):已修改,数据仅在本 Cache,未写回主存。
  • E(Exclusive):独占,数据在本 Cache 和主存,其他 Cache 无副本。
  • S(Shared):共享,数据在本 Cache 和主存,其他 Cache 有副本。
  • I(Invalid):失效,数据不在本 Cache 或已过时。

MESI 协议状态转换

松耦合(如集群)

  • 独立处理器或 SMP 互联,分布式存储器,通信通过网络。
  • 优点:可扩展性强、可用性高、性价比高。

集群与 SMP 对比

  • 共同点:
    • 提供多处理器支持高端应用
    • 均商用化,SMP 历史更久。
  • SMP 优点:
    • 易于配置管理
    • 接近单处理器模型
    • 占用物理空间小
    • 耗电少
    • 稳定
  • 集群优点:
    • 运行中可增减机器
    • 高增量
    • 绝对可扩展性强
    • 高可用性