一、并行计算机系统结构分类
按照Flynn分类方法,可把计算机分成SISD、SIMD、MISD和MIMD四类。
SISD——单指令单数据流——传统的顺序执行单处理器计算机
SIMD——单指令多数据流——各处理机以同步的形式执行同一条指令
MISD——多指令单数据流——被证明不可能,至少不实际
MIMD——多指令多数据流——能够实现作业、指令、任务等各级全面并行
1、MIMD计算机分类
对称式共享存储器多处理机(SMP或UMA)——由于处理器个数较少,各处理器可共享一个集中式的物理存储器
分布式存储器多处理机——支持较多的处理器,存储器在物理上是分布的
2、分布式多处理机的优缺点
(1)如果大多数的访存都是针对本地节点的存储器进行的,就可以降低对存储器和互连网络的带宽要求。
(2)对本地存储器的访问延迟时间小。
(3)处理器之间的通信较为复杂,各处理器之间的访问延迟较大
二、存储器系统结构和通信机制(针对分布式存储器多处理机)
1、两种存储器系统结构
分布式共享存储器系统(DSM)——把物理上分离的所有存储器作为一个统一的共享逻辑空间进行编址,不同处理器上的同一个物理地址指向的是同一个存储单元
独立式——把每个节点中的存储器编址为一个独立的地址空间,不同节点的地址空间之间是相互独立的
2、两种通信机制
共享存储器通信机制——用于分布式共享存储器系统——采用load和store指令对相同存储器地址进行读/写操作
消息传递通信机制——用于独立式存储器系统——数据通信通过处理器之间的显式传递消息实现
3、共享存储器通信机制优点
(1)与常用的对称式多处理机使用的通信机制兼容
(2)编程简单,简化编译器设计
(3)通信数据量较小时,通信开销较小,带宽利用较好
(4)可以通过Cache技术减少远程通信的频度
4、消息传递机制的优点
(1)硬件更简单
(2)通信是显式的,清楚何时发生通信以及通信开销是多少
三、并行处理面临的挑战
并行处理面临着两个重要的挑战,一个是程序中的并行性有限,另一个是相对较大的通信开销。
1、有限的并行性使计算机很难达到较高的加速比——Amdahl定律
假设用100个处理器达到80的加速比,求原计算机中串行部分最多可以占多大的比例
假设程序只在两种模式下运行:100个处理器并行模式和1个处理器的串行模式
80=1/(并行的比例/100+(1-并行的比例))
并行比例=0.9975
不仅并行性是有限的,而且程序执行时并不只有我们假设的两种模式,通常处于两种模式之间,即使用一部分处理器
2、多处理机中远程访问的较大延迟
假设有一台32个处理器的多处理机,对远程存储器的访问时间为200ns。假设出了通信以外,所有其他访问均命中局部存储器。当发出一个远程请求时,本处理器挂起。处理器的时钟频率为2GHz,如果指令的基本CPI为0.5(设所有访存均命中Cache),求在没有远程访问的情况下和有0.2%的指令需要远程访问的情况下,前者比后者块多少
CPI=基本指令CPI+远程访问指令CPI=0.5+0.2%X200/0.5=1.3
原CPI=0.5
快了1.3/0.5=2.6倍
如果考虑访存不命中局部存储器和访存冲突的情况,CPI将更大