Files
final-exam/计算机系统结构/复习文档/多处理器与并行处理.md
T

5.1 KiB
Raw Blame History

tags, create time
tags create time
计算机系统结构
复习
并行处理
2026-06-15 10:00

多处理器与并行处理

概述

本文档讲解多处理器系统的基本概念、存储一致性模型、通信开销分析以及并行系统性能评估。多处理器和并行处理是现代计算机系统结构的重要方向,涉及软硬件协同设计的多个层面。

[!tip] 考试重点 存储一致性的三个条件是论述题高频考点。远程访问对并行系统性能影响的计算(CPI 分析)在综合题中出现。

正文

一、多处理器系统概述

1.1 分类

类型 特征 Flynn 分类 典型代表
单处理器 单指令单数据 SISD 传统 PC
向量处理器 单指令多数据 SIMD GPU、TPU
多处理器 多指令多数据,共享内存 MIMD 服务器集群
多计算机 多指令多数据,分布式内存 MIMD 超算集群

1.2 SIMD vs MIMD

特性 SIMD MIMD
指令流 单一控制流 多个独立控制流
数据流 同一操作作用于多个数据 各处理器独立处理不同数据
适用场景 规则的数据并行(矩阵运算) 不规则的并行任务
灵活性 低(需同步) 高(独立执行)

二、存储一致性(Cache Coherence)

2.1 问题背景

在多处理器系统中,每个处理器都有自己的 Cache。当多个处理器访问共享数据时,可能出现数据不一致的问题。

处理器 P 写入 X = 1
    ↓ (Cache 更新)
处理器 Q 的 Cache 中 X 仍为旧值

2.2 一致性定义

一个存储系统如果满足以下三个条件,则称是一致的:

[!important] 存储一致性的三个条件

条件 1(写后读一致性):处理器 P 写 X 后又读 X,若期间无其他处理器写 X,则 P 读到的是自己写入的值。

条件 2(写传播一致性):处理器 P 写 X 后,处理器 Q 读 X,若期间无其他写操作,则 Q 读到的是 P 写入的值。

条件 3(写顺序一致性):对 X 的两次写之间若无其他处理器写 X,则最后写入的值保留(写顺序对所有处理器可见)。

2.3 一致性协议

协议 原理 适用场景
监听协议(Snooping) 所有 Cache 监听总线上的事务 小规模多处理器(总线互连)
目录协议(Directory) 用目录记录每个内存块的状态 大规模多处理器(交叉开关互连)

MSI 协议(监听协议的基础):

状态 含义
M(Modified) 该行已被修改,与主存不一致,只有本 Cache 有最新副本
S(Shared) 该行未被修改,多个 Cache 可能有副本
I(Invalid) 该行无效

[!question] 监听协议为什么不适合大规模系统? 监听协议要求所有 Cache 监听总线,总线带宽成为瓶颈。当处理器数量增加时,总线冲突急剧增加,监听协议的可扩展性很差。目录协议通过点对点通信避免了这个问题。

三、并行系统性能分析

3.1 远程访问的影响

在分布式共享内存系统中,远程内存访问的延迟远高于本地访问。

CPI 计算:

CPI = CPI_{base} + \text{远程访问率} \times \text{远程访问延迟(时钟数)}

[!example] 远程访问性能影响 32 个处理器的集群,本地执行时间 10ns,CPI = 1.0。若有 0.5% 指令需远程访问(2000ns):

远程访问时钟 = 2000 / 10 = 200

CPI = 1.0 + 0.5\% \times 200 = 2.0

结论:0.5% 的远程访问使 CPI 翻倍,性能下降 50%。

3.2 并行计算的挑战

挑战 说明 应对方法
并行性有限 Amdahl 定律限制了并行加速的上限 优化串行部分、提高并行比例
通信开销 处理器间数据交换的延迟 优化通信模式、减少同步
负载不均衡 各处理器工作量不等 动态调度、任务细分

3.3 计算/通信比

\text{计算/通信比} = \frac{\text{计算量}}{\text{通信量}}
  • 随数据规模增加而增大(计算量增长快于通信量)
  • 随处理器数目增加而减小(每个处理器分到的计算减少,但通信开销相对增加)

[!tip] 提高并行效率的关键 尽量提高计算/通信比:增大问题规模、优化通信模式(减少全局通信)、使用高带宽低延迟的互连网络。

四、设计定量原理在并行系统中的应用

  1. 以经常性事件为重点:优化本地访问路径(高频事件),而非远程访问
  2. Amdahl 定律:并行加速受限于串行部分的比例
  3. CPU 性能公式:远程访问增加了有效 CPI
  4. 局部性原理:数据局部性越好,远程访问越少,并行效率越高

关联笔记