本课目标
理解并行计算的基本思想;掌握Flynn分类法;区分共享存储与分布式存储;了解多核、多处理器、集群与GPU加速的基本概念;理解并行粒度、通信开销与 Amdahl 定律的关系。
11.1 并行计算概述
并行计算 Parallel Computing:将一个大任务拆分成多个小任务,分配给多个处理单元同时执行,以缩短总执行时间、提升系统吞吐能力。
并行计算的核心动机:
- 提速:同一任务更快完成;
- 扩大吞吐:单位时间处理更多任务;
- 处理更大问题:单个处理器无法容纳或完成的任务,通过多处理器协同处理。
并行系统可以从两个维度理解:
- 时间并行:指令流水线、超标量等,同一时刻执行指令的不同阶段;
- 空间并行:多个处理器或计算核心同时执行不同指令。

11.2 Flynn 分类法
Flynn 分类法按照指令流和数据流的并行特性,将计算机系统分为四类:
| 类型 | 中文名称 | 英文名称 | 特点 | 代表 |
|---|---|---|---|---|
| SISD | 单指令流单数据流 | Single Instruction, Single Data | 单处理器,顺序执行 | 传统单核 CPU |
| SIMD | 单指令流多数据流 | Single Instruction, Multiple Data | 同一指令操作多个数据 | GPU、向量处理器 |
| MISD | 多指令流单数据流 | Multiple Instruction, Single Data | 多个指令处理同一数据 | 实际较少 |
| MIMD | 多指令流多数据流 | Multiple Instruction, Multiple Data | 多指令、多数据并行 | 多核 CPU、集群 |
重点记忆:SIMD 适合数据并行,MIMD 适合任务并行。

11.3 共享存储与分布式存储
并行处理器之间如何共享数据,是并行体系结构的关键问题。
1. 共享存储多处理器 SMP
多个 CPU 通过统一地址空间共享主存。
- 优点:编程相对容易,通信延迟低;
- 缺点:内存访问冲突与缓存一致性问题复杂,扩展性有限。
2. 分布式存储多处理器
每个处理器拥有自己的局部内存,通过消息传递交换数据。
- 优点:扩展性好,适合大规模系统;
- 缺点:编程复杂度高,数据分布与通信同步需要显式处理。
11.4 多核、多处理器与集群
| 层级 | 中文 | 英文 | 说明 |
|---|---|---|---|
| 多核 | 单芯片多核心 | Multi-core | 同一 CPU 芯片内有多个核心 |
| 多处理器 | 多 CPU 系统 | Multi-processor | 多个 CPU 通过系统连接协同 |
| 集群 | 多节点互联 | Cluster | 独立计算机通过网络连接 |
11.5 并行粒度与通信开销
并行粒度表示任务拆分的大小:
- 粗粒度:任务大,通信次数少,但负载可能不均衡;
- 细粒度:任务小,并行度高,但通信与同步开销大。
并行程序总时间可理解为:
并行性能提升受三个因素限制:
- 串行部分:无法并行的代码;
- 通信开销:数据交换耗时;
- 同步开销:等待其他线程完成。
11.6 并行系统实例
- 多核 CPU:桌面与服务器主流,同时执行多个任务;
- GPU:高并行数据处理,适合图形、AI、科学计算;
- 集群:用于大规模数据处理、云计算与高性能计算;
- 向量处理器:早期超级计算机结构,现被 GPU 与 SIMD 继承。
本课小结
并行计算机通过多个处理单元同时执行任务,可从指令级、数据级、任务级和请求级理解。Flynn 分类法将系统分为 SISD、SIMD、MISD、MIMD。并行体系结构主要有共享存储与分布式存储两类,多核、多处理器和集群是不同层级的并行系统。并行性能受串行部分、通信开销和同步开销共同限制。
思考练习
- 并行计算的主要动机是什么?
- Flynn 分类法中 SIMD 和 MIMD 的区别是什么?
- 共享存储与分布式存储各有什么优缺点?
- 多核、多处理器、集群的区别是什么?
- 并行粒度为什么会影响并行性能?
0 条笔记