并行计算 第一章复习提纲
· 21 min read
并行计算范围
基础知识--并行平台
- 单指令流多数据流(SIMD): 单一控制部件向每个处理部件分派指令;
- 控制语句会影响 SIMD 的性能
- 只有一个全局控件
- 设计研发周期长
- 多指令流多数据流(MIMD): 计算机的每个处理器都能够独立于其他处理器执行不同的程序;
- 需要在每个处理器上安装程序和操作系统
- 单程序多数据(SPMD): 是MIMD模型的简单变形, 相当于将每一个MIMD中的计算指令用任务标识符指定的条件插入到一个大的if-else程序块中
SIMD vs MIMD
SIMD 硬件要求少, 但 研发要求高, 不适合许多具有不规则特性的应用程序,切需要为其设计硬件体系, 不够经济
基础知识--并行平台的数据通道/通信模型
任务见数据交换方式
并行任务间有两种主要的数据交换方式:
-
访问共享数据空间
-
交换消息
1. 共享地址平台
共享地址空间是指并行平台支持一个公共的数据空间,所有处理器都能访问该空间。
处理器通过修改存储在共享地址空间的数据来实现交互。
一致性访问
- 一致内存访问(UMA): 处理器访问系统中任何内存字(不包括cache)的时间都相同
- 非一致内存访问(NUMA): 访问某些内存字的时间长于其他内存字的访问时间
共享地址空间与共享内存计算机
共享内存计算机,即内存在物理上被多个处理器共享的一种体系结构,每个处理器对任意的内存断有等同的访问权,属于UMA模型。共享地址空间计算机, 属于NUMA模型。
2. 消息传递平台
消息传递平台由p个处理节点构成,每个节点都有自己的独立地址空间。
运行在不同节点上的进程之间的交互必须用消息来完成,基本的消息交互操作是send和receive。
在由p个节点的共享地址空间计算机上,很容易模拟含有同样节点个数的消息传递体系结构;反之,在消息传递计算机上模拟共享地址空间体系结构的代价很高。