自学教程 学编程从这里开始

并行计算机体系结构

本课目标

理解并行计算的基本思想;掌握Flynn分类法;区分共享存储与分布式存储;了解多核、多处理器、集群与GPU加速的基本概念;理解并行粒度、通信开销与 Amdahl 定律的关系。

11.1 并行计算概述

并行计算 Parallel Computing:将一个大任务拆分成多个小任务,分配给多个处理单元同时执行,以缩短总执行时间、提升系统吞吐能力。

并行计算的核心动机:

  1. 提速:同一任务更快完成;
  2. 扩大吞吐:单位时间处理更多任务;
  3. 处理更大问题:单个处理器无法容纳或完成的任务,通过多处理器协同处理。

并行系统可以从两个维度理解:

  • 时间并行:指令流水线、超标量等,同一时刻执行指令的不同阶段;
  • 空间并行:多个处理器或计算核心同时执行不同指令。

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 并行粒度与通信开销

并行粒度表示任务拆分的大小:

  • 粗粒度:任务大,通信次数少,但负载可能不均衡;
  • 细粒度:任务小,并行度高,但通信与同步开销大。

并行程序总时间可理解为:

Tparallel=Tcomputation+Tcommunication+TsynchronizationT_{parallel}=T_{computation}+T_{communication}+T_{synchronization}

并行性能提升受三个因素限制:

  1. 串行部分:无法并行的代码;
  2. 通信开销:数据交换耗时;
  3. 同步开销:等待其他线程完成。

11.6 并行系统实例

  • 多核 CPU:桌面与服务器主流,同时执行多个任务;
  • GPU:高并行数据处理,适合图形、AI、科学计算;
  • 集群:用于大规模数据处理、云计算与高性能计算;
  • 向量处理器:早期超级计算机结构,现被 GPU 与 SIMD 继承。

本课小结

并行计算机通过多个处理单元同时执行任务,可从指令级、数据级、任务级和请求级理解。Flynn 分类法将系统分为 SISD、SIMD、MISD、MIMD。并行体系结构主要有共享存储与分布式存储两类,多核、多处理器和集群是不同层级的并行系统。并行性能受串行部分、通信开销和同步开销共同限制。

思考练习

  1. 并行计算的主要动机是什么?
  2. Flynn 分类法中 SIMD 和 MIMD 的区别是什么?
  3. 共享存储与分布式存储各有什么优缺点?
  4. 多核、多处理器、集群的区别是什么?
  5. 并行粒度为什么会影响并行性能?
标签:

0 条笔记