单处理机的发展正在走向尽头?
并行处理机在未来将会发挥更大的作用。
1.获得超过单处理器的性能,最直接的方法就是把多个处理器连在一起。
2.自1985年以来,体系结构的改进使性能迅速提高,这种改进的速度能否持续下去还不清楚,但通过复杂度和硅技术的提高而得到的性能的提高正在减小
3.并行计算机应用软件已有缓慢但稳定的发展
重点:
中小规模的机器(处理器的个数<100)
多处理机设计的主流
并行计算机体系结构的分类
1.按Flynn分类法,可把计算机分成
单指令流但数据流(SISD)
单指令流多数据流(SIMD)
多指令流单数据流(MISD)
多指令流多数据流(MIMD)
2.MIMD已成为通用多处理机体系结构的选择,原因:
(1)MIMD具有灵活性
(2)MIMD可以充分利用商品化微处理器在性能价格比方面的优势
3.MIMD机器分为两类:
(每一类代表了一种存储器的结构和互连策略)
(1)集中式共享存储器结构
这类机器有时被称为UMA(uniform memory access)机器
(2)分布式存储器结构
每个结点包含:
处理器
存储器
I/O
在许多情况下,分布式存储器结构优于采用集中式共享存储器结构
分布式存储器结构需要高带宽的互连(需要网络)
分布式存储器结构的优点
(1)如果大多数的访问是针对本结点的局部存储器,则可降低对存储器和互连网络的带宽要求
(2)对局部存储器的访问延迟低
主要缺点
处理器之间的通信较为复杂,且各处理器之间访问延迟较大。
多处理器的通信模型和存储器的结构模型
1.两种地址空间的组织方案
(1)物理上分离的多个存储器可作为一个逻辑上共享的存储空间进行编址。
这类机器的结构被称为分布式共享存储器(DSM)或可缩放共享存储器体系结构
DSM机器被称为NUMA(non-uniform memory access)
(2)整个地址空间由多个独立的地址空间构成,它们在逻辑上也是独立的,远程的处理器不能对其直接寻址
每一个处理器-存储器模块实际上是一个单独的计算机,这种机器也称为多计算机
2.两种通信模型
共享地址空间的机器
利用Load和Store指令中的地址隐含地进行数据通信
多个地址空间的机器
通过处理器显式地传递消息完成(消息传递机器)
消息传递机器根据简单的网络协议,通过传递消息来请求某些服务或传输数据,从而完成通信
例如:
一个处理器要对远程存储器上的数据进行访问或操作
(1)发送消息,请求传递数据或对数据进行操作; 远程进程调用(RPC,remote process call)
(2)目的处理器接收到消息以后,执行相应的操作或代替远程处理器进行访问,并发送一个应答消息将结果返回
对于通信机制的性能,可以通过下面三个关键的性能指标来进行衡量:
1.通信带宽------理想状态下的通信带宽受限于处理器、存储器和互连网络的带宽。进行通信时,结点内与通信相关的资源被占用,这种占用限制了通信速度
2.通信延迟------理想状态下通信延迟应尽可能地小。通信延迟的构成为:
通信延迟 = 发送开销 + 跨越时间 + 传输延迟 + 接收开销
3.通讯延迟的隐藏------如何才能较好地将通信和计算或多次通信之间重叠起来,以实现通讯延迟的隐藏
每种通信机制各有优点,共享存储器通信主要有以下优点:
(1)与常用的对称式多处理机使用的通信机制兼容
(2)当处理器通信方式复杂或程序执行动态变化时易于编程,同时在简化编译器设计方面也占有优势
(3)当通信数据较小时,通信开销较低,带宽利用较好
(4)通过硬件控制的Cache减少了远程通信的频度,减少了通信延迟以及对共享数据的访问冲突
消息传递通信机制的主要优点包括:
(1)硬件较简单
(2)通信是显式的,从而引起编程者和编译程序的注意,着重处理开销大的通信。
当然,可在支持上面任何一种通信机制的硬件模型上建立所需的通信模式平台。
在共享存储器上支持消息传递相对简单,因为发送一条消息可通过将一部分地址空间的内容复制到另一部分地址空间来实现。
在消息传递的硬件上支持共享存储器就困难的多
并行处理面临着两个重要的挑战:
程序中有限的并行性
相对较高的通信开销
(可通过Amdahl定律解释)
1.有效的并行性使机器要达到好的加速比十分困难