计算机系统结构-量化研究方法(多处理器和线程级并行)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

集中式共享存储器多处理器系统的优点是: 集中式共享存储器多处理器系统的优点是: (1)可以与传统的单处理器系统软件兼 容。 程序设计容易。 (2)程序设计容易。 通信开销小。 (3)通信开销小。 集中式共享存储器的结构组成的处理器不 能太多, 能太多,主要受到访存冲突和互联网络的 带宽和复杂性的限制
4.2.1.2 多处理器的Cache一致性 多处理器的Cache一致性 所谓多处理器的Cache一致性问题 所谓多处理器的Cache一致性问题,是指由 一致性问题, 于缓存共享数据, 于缓存共享数据,两个不同的处理器所保存 的存储器视图可能是通过各自的Cache 得到 的存储器视图可能是通过各自的 Cache得到 因此,如果没有其它的防范措施, 的。因此,如果没有其它的防范措施,则会 导致两个处理器分别得到两个不同的值。 导致两个处理器分别得到两个不同的值。 解决多处理器的Cache一致性问题的方法有 解决多处理器的Cache一致性问题的方法有 软件方法、总线监听法和目录表法。 软件方法、总线监听法和目录表法。
2.分布式存储器多处理器系统
处 理 器 +Ca che 处 理 器 +Ca che 处 理 器 +Ca che 处 理 器 +Ca che
存储 器
I/O
存储 器
I/O
存储 器
I/O
存储 器
I/O
互连网络
存储 器
处 理 器 +Ca che
I/O
存储 器
处 理 器 +Ca che
I/O
存储 器
处 理 器 +Ca che
4.1.1 简介
2、多处理机结构由若干台独立的计算机组成, 每台计算机能够独立执行自己的程序,又称多 指令流多数据流(MIMD)结构。多处理机系统 中的处理机之间通过某种方式(如互连网络) 互连,从而实现程序之间的数据交换和同步。
4.1.1 简介
3、使用多处理机的主要目的是利用多台处理 机并发地执行一个作业,使得执行速度比 单处理机快;有时候,使用多处理机的主 要目的是提高可靠性而不是高性能,如果 某台处理机出现故障,那么它的程序可以 由系统中其它处理机来执行。
4.2 多处理器的Cache一致性
4.2.1 对称式共享存储器系统和多处理器的 Cache一致性 Cache一致性 4.2.2 分布式共享存储器系统和基于目录的 Cache一致性 Cache一致性
4.2.1 对称式共享存储器系统和多处理器的Cache一致性 对称式共享存储器系统和多处理器的Cache一致性
4.1.2 多处理器并行处理定量分析和所遇到的问题
虽然多处理器有利于程序级、 虽然多处理器有利于程序级、进程级乃至线程 级的并行处理, 级的并行处理,但存在着两个问题是并行开发 所要面对的。一是程序可获得的并行度是有限 所要面对的。 二是执行模块之间的通信开销。 的。二是执行模块之间的通信开销。这限制了 多处理器系统的性价比的提高。 多处理器系统的性价比的提高。 要解决这两个问题, 要解决这两个问题,一是在软件中采用更好的 并行算法来提高并行度。二是改进系统结构, 并行算法来提高并行度。二是改进系统结构, 如在硬件上缓存共享数据, 如在硬件上缓存共享数据,在确保存储器一致 性的前提下,如何使用Cache来减少远程访问 性的前提下,如何使用Cache来减少远程访问 频率。 频率。三是在软件上重新构造数据来尽可能增 加本地访问。此外, 加本地访问。此外,还可以使用多线程或预取 技术来减少时延的影响。 技术来减少时延的影响。
I/O
存储 器
处 理 器 +Ca che
I/O
图4-2 分布式存储器多处理器的基本结构
分布式存储器的主要优点是: 分布式存储器的主要优点是: ①如果大部分访存是对节点内的本地存储 器进行的, 器进行的,这样做是增大存储器带宽的比 较经济的方法; 较经济的方法; 缩短了本地存储器访问的时延。 ②缩短了本地存储器访问的时延。 具有较好的扩展性。 ③具有较好的扩展性。 主要缺点是由于处理器不再共享单一集中 存储器, 存储器,处理器间的数据通信在某种程度 上变得更加复杂,且时延也更大。 上变得更加复杂,且时延也更大。
4.1.2.1 MIMD计算机概述 MIMD计算机概述 按照多处理器组成的规模,多处理器大 按照多处理器组成的规模, 致可分为4个层次。 致可分为4个层次。 (1)多核处理器 (2)中小规模多处理器 (3)大规模多处理器 (4)集群 商业集群和客户集群
4.1.2.2 MIMD计算机的基本结构 MIMD计算机的基本结构
互连网络 存储器 存储器 存储器
图4-3 对称式共享存储器的基本结构
4.2.1.1 对称式共享存储器系统
对称式共享存储器系统支持共享和私有数据的缓 私有数据被单个处理器使用, 存 , 私有数据被单个处理器使用 , 而共享数据则 被多个处理器使用, 被多个处理器使用 , 基本上是通过读写共享数据 完成处理器之间的通信。 完成处理器之间的通信 。 把一个私有数据缓存之 对该数据的访问就可以在Cache 中形成副本 中形成副本, 后 , 对该数据的访问就可以在 Cache中形成副本 , 这样做除了会减少访问时延和降低对存储器带宽 的要求外, 的要求外 , 还能减少多个处理器同时读取共享数 据时的竞争现象。 然而, 把共享数据放入Cache 据时的竞争现象 。 然而 , 把共享数据放入 Cache 又出现了一个新的问题:Cache一致性 一致性。 又出现了一个新的问题:Cache一致性。
各个节点带有目录的分布式存储器多处理器系统
处理 器 +Cac he 存储 器 目录 处理 器 +Cac he 处理 器 +Cac he 处理 器 +Cac he
I/O
存储 器 目录
I/O
存储 器 目录
I/O
存储 器 目录
I/O
互连网络
目录 存储 器 处理 器 +Cac he 目录 目录 目录
I/O
4.2.2 分布式共享存储器系统和基于目录的Cache一致性 分布式共享存储器系统和基于目录的Cache一致性
各个节点带有目录的分布式存储器多处理器系统 所谓目录式协议, 所谓目录式协议,是指把物理存储器的共享状 态存放在一个地点,称之为目录。 态存放在一个地点,称之为目录。目录表中每 项保存了每个Cache数据块的使用情况 数据块的使用情况。 项保存了每个Cache数据块的使用情况。为了防 止访问目录表成为瓶颈, 止访问目录表成为瓶颈,需要使目录随存储器 分布。 分布。
两种典型的结构:集中式共享存储器系统结 两种典型的结构: 构和分布式存储器系统结构。 构和分布式存储器系统结构。 1.集中式共享存储器系统 .
处理 器 一级或多 级Cache
处理 器 一级或多 级Cache
处理 器 一级或多 级Cache
处理 器 一级或多 级Cache
存储器
I/O系统 系统
图4-1集中式共享存储器的基本结构 集中式共享存储器的基本结构
4.2.1.1 对称式共享存储器系统 多处理器的Cache Cache一致性 4.2.1.2 多处理器的Cache一致性 监听式协议实现多处理器的Cache Cache一 4.2.1.3 监听式协议实现多处理器的Cache一 致性
4.2.1.1 对称式共享存储器系统
处理 器 一级或多 级Cache 处理 器 一级或多 级Cache 处理 器 一级或多 级Cache 处理 器 一级或多 级Cache I/O 系统 存储器
4.1.2 多处理器结构 4.1.2.1 MIMD计算机概述 MIMD计算机概述 这种结构的特性是: 这种结构的特性是: (1)结构中的每个处理器取自己的指令 并对自己的数据进行操作, 并对自己的数据进行操作,即每个处理 器执行自己的指令流, 器执行自己的指令流,很容易实现多线 程并行机制。 程并行机制。 MIMD灵活性强 灵活性强; (2)MIMD灵活性强; MIMD结构中的众多处理器可以由 (3)MIMD结构中的众多处理器可以由 同一种处理器来组成
4.2.1.3 监听式协议实现多处理器的Cache一致性 监听式协议实现多处理器的Cache一致性
监听式协议对于采用总线互连共享主存的 多处理器系统,可利用总线的播送来实现。 多处理器系统,可利用总线的播送来实现。 它让各个处理器上的Cache控制器对总线进 它让各个处理器上的Cache控制器对总线进 行监视或监听, 行监视或监听,来确定它们是否含有总线 或交换机上请求的数据块的副本, 或交换机上请求的数据块的副本,从而跟 踪共享数据,以保证Cache一致性 一致性。 踪共享数据,以保证Cache一致性。监听式 协议使用硬件解决办法。 协议使用硬件解决办法。 有两种方法可以实现监听式协议:写无效 有两种方法可以实现监听式协议: 协议和写更新或写广播协议。 协议和写更新或写广播协议。
存储 器 处理 器 +Cac he
I/O
存储 器 处理 器 +Cac he
I/O
存储 器 处理 器 +Cac he
I/O
图4来自百度文库4 各个节点带有目录的分布式存储器多处理器系统的基本结构
一般目录表中记录的Cache数据块的状态主要有: 一般目录表中记录的Cache数据块的状态主要有: 数据块的状态主要有 共享:一个或多个处理器拥有Cache的数据块 的数据块, 共享:一个或多个处理器拥有Cache的数据块,并 且存储器中的数值也是最新的。 且存储器中的数值也是最新的。 未缓存:没有任何一个处理器含有该数据块的副本。 未缓存:没有任何一个处理器含有该数据块的副本。 修改:只有一个处理器拥有该Cache数据块的正确 修改:只有一个处理器拥有该Cache数据块的正确 副本并且对该块执行过写操作, 副本并且对该块执行过写操作,因此其它存储器中 与之对应的副本是无效的。 与之对应的副本是无效的。这个处理器成为该块的 所有者。 所有者。 无效:由于某个处理器执行写操作, 无效:由于某个处理器执行写操作,使得本处理器 含有该数据块的副本被标记为无效状态。 含有该数据块的副本被标记为无效状态。
根据处理器间传递数据所用的方法有两种不同 的系统结构。 的系统结构。 一种是分布式共享存储器( Shared一种是分布式共享存储器(Distributed SharedMemory,简称DSM)系统, Memory,简称DSM)系统,它将物理上分开的 存储器在逻辑上统一为一个地址空间,通过load 存储器在逻辑上统一为一个地址空间,通过load store操作在统一的地址空间上隐式地传递数 和store操作在统一的地址空间上隐式地传递数 据。 另一种是各个处理器都有自己的私有地址空间, 另一种是各个处理器都有自己的私有地址空间, 它们在逻辑上分散,相互独立, 它们在逻辑上分散,相互独立,不能被远程处 理器寻址。 理器寻址。两个不同处理器中的物理地址分别 指向两个不同存储器中的不同位置。 指向两个不同存储器中的不同位置。数据通信 往往通过显式地在处理器之间传递消息来完成。 往往通过显式地在处理器之间传递消息来完成。
4.2.1.2 多处理器的Cache一致性 多处理器的Cache一致性
软件方法主要依靠编译程序进行分析,同时需要硬 软件方法主要依靠编译程序进行分析, 件机制的配合,使共享信息安排在主存中, 件机制的配合,使共享信息安排在主存中,而避免 将它们存放到Cache中 这需要一种机制, 将它们存放到Cache中。这需要一种机制,使软件 能够对数据进行标记,并按时序进行调度。 能够对数据进行标记,并按时序进行调度。另外对 于具有良好结构的循环级并行程序, 于具有良好结构的循环级并行程序,且在循环中需 要显式地复制数据, 要显式地复制数据,使用软件方法有可能大大降低 访存开销。 访存开销。 软件方法的优点是不需要硬件提供很多支持,减少 软件方法的优点是不需要硬件提供很多支持, 了硬件的复杂性,降低了对互连网络通信量的要求。 了硬件的复杂性,降低了对互连网络通信量的要求。 其局限性在于编译器进行一致性处理的能力是很有 限的,并且只能用于共享存储器的系统。 限的,并且只能用于共享存储器的系统。
第 4 章 多 处 理 器 和 线 程 级 并 行
4.1
多处理器构成的系统结构
4.2
多处理器的Cache一致性 多处理器的Cache一致性 Cache
4.3
多处理器系统的同步机制
4.1 多处理器构成的系统结构
4.1.1 简介 4.1.2 多处理器结构
4.1.1 简介
1、根据多处理器中限制要求最多的单元中的指令 所调用的数据流和指令流的并行度, 所调用的数据流和指令流的并行度,把计算机归 为四类: 为四类: 单指令流,单数据流(SISD) 1、单指令流,单数据流(SISD) 单指令流,多数据流(SIMD) 2、单指令流,多数据流(SIMD) 多指令流,单数据流(MISD) 3、多指令流,单数据流(MISD) 多指令流,多数据流(MIMD) 4、多指令流,多数据流(MIMD)
相关文档
最新文档