目录
PRAM模型(Parallel Random Access Machine,随机存取并行机器)
一、并行计算概念
基本思想:用多个处理器来协同求解同一问题。
并行计算系统形式:含有多个处理器的超级计算机or以某种方式互连的若干台独立计算构成的集群。
二、Flynn分类法
概念:Michael.J.Flynn提出的根据指令流/数据流的多倍性特性对计算机系统进行分类的方法。
- 指令流:机器执行的指令序列
- 数据流:由指令流调用的数据序列,包括输入数据和中间结果
4类:SISD,SIMD,MISD,MIMD
SISD 单指令流单数据流
传统的顺序执行的单处理器计算机
SIMD 单指令流多数据流
同时用相同的指令 对不同的数据进行操作。以并行处理机(阵列处理机)为代表,包括多个重复的处理单元。
对于数据并行类问题能达到很高的处理速度。
MISD
n个处理单元,按n条不同指令的要求对同一数据流进行不同的处理。
理论模型,没有投入实际应用。
MIMD
同时有多条指令对不同的数据进行操作。
每个处理机在各自唯一的数据流上执行各自的指令流。
MIMD分类
- 共享内存MIMD(SMP)
- 分布式共享内存MIMD(DSM)
- 分布式内存MIMD(MPP、COW)
- SPMD Single-Program 同时执行相同的程序对不同数据操作。
- MPMD Muitiple-Program 同时有多个程序对不同的数据进行操作。
指令:计算机能实现的基本操作
程序:为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合;一系列按一定顺序排列的指令。
三、并行算法
1. 定义和概念
并行算法:
一些可同时执行的进程的集合,这些进程互相作用协调动作从而达到给定问题的求解。
进程间通信:
- 同一台处理机中,读/写OS提供的共享数据缓存区实现。
- 不同处理机中,通过网络实现。
同步:
时间上强制各执行进程在某一点必须互相等待。
可用软件、硬件、固件的办法来实现。
通讯:
- 共享存储多处理器使用:global read(X, Y) & global write(X, Y)
- 分布存储多计算机使用:send(X, i) & receive(Y, j)
2. 并行计算模型
PRAM模型(Parallel Random Access Machine,随机存取并行机器)
- 又称SIMD-SM模型。
- 有一个集中的共享存储器和一个