350 likes | 571 Vues
第五章 SIMD 计算机和多处理机. 计算机系统中并行性的发展 SIMD 并行处理机 SIMD 计算机的互连网络 多处理机结构. 5.4 多处理机结构. 多处理机的特点 多处理机的基本结构 多处理机的存储器结构. 5.4.1 多处理机系统的特点. 1.结构灵活性 相比并行处理机的专用性,多处理机系统是要把能并行处理的任务、数组,以及标量都进行并行处理,有较强的通用性。因此多处理机系统要能适应更多样化的算法,具有更灵活的结构,以实现各种复杂的机间互联模式。. 5.4.1 多处理机系统的特点. 2.程序并行性(高层次作业机任务级并行)
E N D
第五章 SIMD计算机和多处理机 • 计算机系统中并行性的发展 • SIMD并行处理机 • SIMD计算机的互连网络 • 多处理机结构
5.4 多处理机结构 • 多处理机的特点 • 多处理机的基本结构 • 多处理机的存储器结构
5.4.1 多处理机系统的特点 1.结构灵活性 • 相比并行处理机的专用性,多处理机系统是要把能并行处理的任务、数组,以及标量都进行并行处理,有较强的通用性。因此多处理机系统要能适应更多样化的算法,具有更灵活的结构,以实现各种复杂的机间互联模式。
5.4.1 多处理机系统的特点 2.程序并行性(高层次作业机任务级并行) • 在多处理机中,并行性存在于指令外部,即表现在多任务之间。为充分发挥系统通用性的优点,便要利用多种途径:算法、程序语言、编译、操作系统以至指令、硬件等,尽量挖掘各种潜在的并行性。
5.4.1 多处理机系统的特点 3.并行任务派生 • 多处理机是多指令流操作方式,一个程序当中就存在多个并发的程序段,需要专门的指令来表示它们的并发关系以及控制它们的并发执行,使一个任务正在执行时就能派生可与它并行执行的另一些任务。
5.4.1 多处理机系统的特点 4.进程同步 • 在多处理机系统里,同一时刻,不同的处理机执行不同的指令。由于执行时间互不相等,它们的工作进度不会也不必保持相同。因此当并发程序之间有数据交往或控制依赖时,就要采取特殊的同步措施,使它们包含的指令相互间仍保持程序要求的正确顺序。
5.4.1 多处理机系统的特点 5.资源分配和任务调度 • 多处理机执行并发任务,需要处理机的数目没有固定要求,各个处理机进入或退出任务以及所需资源变化的情况都要复杂的多,因此资源分配和任务调度的好坏将直接影响整个系统的效率。
5.4.2 多处理机的硬件结构 • 常用的松散耦合和紧密耦合这两种形式 • 松散耦合多处理机结构:互联常用通道或通信线路来实现,它们连接的频带较低。 • 紧密耦合多处理机结构:通常是高速总线或高速开关实现机间互联,以共享存储器。
多处理机系统结构 并行处理机属SIMD结构,较适合向量处理; 多处理机属MIMD结构,可进行更高层次的并行处理。 一、多处理机与并行处理机区别 1.结构与通用性 SIMD:单指令流系统,并行操作相同,一个CU,控制、数据通讯简单,通用性较差; MIMD:多指令流系统,并行操作不同,多个CU,控制、数据通讯复杂,通用性较强。
2.程序并行性 SIMD:操作级并行(数据并行); MIMD:任务级并行(数据、功能并行), 3.任务派生 SIMD:向量指令表示及控制,隐式并行、效率低; MIMD: 专用指令表示及控制,显式并行、效率高。
PPIN I/O 通道 PMp Pp PIOIN D1 · ··· · · PM1 P1 DD CM1 CMP ··· PM--局存 CM--高速缓存 PMIN P--处理器 D--外部设备 ··· M1 MM 二、多处理机结构 1.紧耦合系统(TCS) 特点:通过共享主存实现机间通讯。 互连网络:实现PE←→PEM、PE←→I/O通道、 PE←→中断信号间的连接。
多处理机系统的存储器结构 • 在多处理机系统中,为了减少访存冲突,主存采用并行存储器结构。 • 多个存储模块可采用低位交叉编址技术,也可采用高位交叉编址技术。 • 。
多处理机系统的cache结构 • 当每个处理机都有自己专用的cache时,对应主存中某一个单元的数据,在各个cache中可能会出现相应的多个副本,当对其中某一个副本进行一次修改操作,就会产生cache中数据不一致性。无论cache采用“写回法”或“写直接法”,都不能解决多个cache不一致问题。
计算机模块 (结点机) P M I/O P M I/O · · · NI NI 模块1 模块N NI--结点机接口 消息传送系统 MTS 2.松耦合系统(LCS) 特点:通过消息传送系统实现机间通讯; 每个模块是一个独立的处理机,整个系统可看成是一个分布系统。 互连网络:MTS有总线、环形、多级网络等种类; 结构:有层次和非层次两种结构。
多处理机的互联网络 • 多处理机的主要特点是各台处理机共享一组存储器和I/O设备。这种共享功能是通过两个互联网络实现的:一个是处理机和存储器模块之间的互联网络;另一个是处理机和I/O子系统(I/O接口和I/O设备)之间的互联网络。 • 互联网络可以采用不同的物理形式,一般可有四种基本结构。
1.总线结构 • 多处理机结构最简单互联系统是把所有功能模块(或部件)连接到一条公共通信通路上,如图5-16所示。 • 公共通信通路也称为时分或公共总线。这种总线结构的特点是简单、容易实现,也容易扩展(重构)。 • 总线是一个无源部件,通信完全由发送和接收的总线接口控制。 • 由于总线是共享资源,所以必须有总线请求和仲裁的机构,以避免发生总线冲突。
1.总线结构(cont.) • 总线仲裁方法有静态的或动态的优先级方法、先进先出(FIFO)队列方法、串行优先链方法和总线控制器(或仲裁器)方法。 • 当一个处理机要占用总线时,首先需测试总线状态是否“忙”(busy),若是忙,则等待,等到空闲时(即不“忙”),发出总线请求信号,经仲裁后,等到总线响应信号,才可以占用总线,与目的部件进行通信。在一个处理机占用总线进行通信过程中,哪怕比其优先级高的处理机需占用总线,也不能终止(中断)原来已在进行中的通信过程。
1.总线结构(cont.) • 单总线结构简易而可靠。但总线接口线路出现任何一个故障会造成系统瘫痪。 • 为了提高总线通信效率,设置在同一时间可进行多条总线通信,但增加了系统的复杂性。 • 影响总线性能的因素有:总线上主控设备(即能掌握、占用总线的部件)数量、总线仲裁算法、控制集中程度、数据宽度、数据传输同步和错误检测等。
1.总线结构(cont.) 总线仲裁算法: • 静态优先级算法:给每一个设备一个唯一的优先级。 • 固定时间片算法:把带宽分成固定长度的时间片,按循环方式顺序分配给每个设备。 • 动态优先级算法 :优先级予以动态调整,使每个设备均有机会占用总线。“近期最少使用LRU”算法和旋转菊花链RDC算法。 • 先来先服务算法 :按照接受到的请求先后顺序予以处理。
2.交叉开关 • 当不断增加总线数目,使每个存储器模块有它自己单独可用的通路形成的互联网络称为无阻塞交叉开关。 • 它的特点是开关和功能部件的接口非常简单,而且支持所有存储器模块同时通信。每个交叉点不仅能切换并行传播,而且必须能解决在同一存储器周期内访问同一个存储器模块的多个请求之间的冲突。通常用预设的优先级来处理冲突。
3.多端口存储器 • 如果把分布在交叉开关矩阵网络上的控制、转接、优先级仲裁等逻辑功能转移到存储器模块的接口上,就形成了多端口存储器系统,如图5-25所示。这种系统既适合单处理机,也适合于多处理机。
3.多端口存储器(cont.) • 对于访问存储器的冲突,常用的解决方法是每个存储器端口分配一个永久优先级,而各个主控模块相对于某个存储器模块有一个优先级别序列。 • 例如对于M0而言,其能接收主控模块的访问优先次序为P0、P1、I/O0、I/O1;对于M1而言,则为P0、P1、I/O1、I/O0;对于M3而言,则为P1、P0、I/O1、I/O0;对于M3而言,则为P1、P0、I/O1、I/O0。
4.多处理机的多级网络 • 由于开关过于复杂,对于大规模交叉开关用多个小规模交叉开关“串联”和“并联”,组成多级交叉开关网络,以取代单级的大规模交叉开关。
多级互连网络 目标:完成某结点与其它任一结点的连接; 同时完成多对结点的连接。 方法:从时间性和空间性方面开发。
循环 MUX DTRin PE0来 单级互连网络 DTRout 去PE0 循环 ∶∶ MUX DTRin PEN-1来 DTRout 去PEN-1 1.循环互连网络(时间性) 组成:DTRin、DTRout、MUX、IN。 结构: 一个单级ICN+MUX。 特点: 节省了设备, 增加了时间, 每个MUX可单独控制。
直通 交换 上播 下播 2.多级互连网络(空间性) 组成:DTRin、DTRout、交换开关、拓扑结构(ICN)。 DTRin、DTRout:PE或M,可为同一类型。 交换开关:具有传送或播送功能。 拓扑结构:不同级开关间连接方式(单级ICN的连接功能)。 控制方式:级控制、部分级控制、单元控制。
分类:根据拓扑结构进行分类 多级立方体网络 多级混洗交换网络 多级PM2I网络
0 0 A E I 1 1 2 2 B F J 3 3 输出 输入 4 4 C G K 5 5 6 6 D H L 7 7 级 0 1 2 3.多级立方体网络 返回下页 返回35页 有STARAN(级控制和部分级控制)和间接二进制n立方体(单元控制)两种网络。 以STARAN网络为例介绍。 交换开关:二功能(直通和交换) 拓扑结构:第i级为Cubei; 为什么只有三级?
(3)带宽问题 STARAN可同时多对结点连接,尚不能同时 任意组合。 (4)例题 例1:编号0~F的PE间,要实现下列通信配对: (7,D),(6,C),(5,F),(4,E),(3,9),(2,8),(1,B),(0,A)。 画出互连网络结构图,写出控制方式级各开关状态。 答:因需实现双向交换功能,选择STARAN的交换网络(级控制方式)可满足要求。 因共有16个结点,编码需要4位,所以开关共4级。 返回下页 网络结构图如下页:
0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 A A B B C C D D E E F F 级 k0 k1 k2 k3 拓扑结构:不同级完成地址不同位取反功能。 转上页 注意:有交换开关的拓扑结构的实现。
0 0 A E I 1 1 2 2 B F J 3 3 输入 4 4 C G K 5 5 6 6 D H L 7 7 级 0 2 1 4.多级混洗交换网络(ω网络) 返回下页 交换开关:四功能(允许实现一对多的连接) 拓扑结构:不同级相同,均为全混洗结构; 控制方式:级控制、部分级控制、单元控制; 连接图:第n-1级靠近入端;
并行存储器无冲突访问 一、访问需求 并行存取向量中各分量信息; 可按行、列、对角线等方法存取(步长不一致)。 二、存在问题 存储器带宽限制—存储器带宽达不到向量带宽; 访存方式(步长)不同,产生访存冲突。 三、解决方法 1.采用多体交叉存储器--增加MEM带宽 2.对向量分组操作--解决MEM带宽小于向量带宽问题
静态一致性校验 • 只让该进程的独用信息(指令和操作数据)和共享的只读信息进入本处理机的cache,而对于共享的可写(即可修改)的信息不准进入cache,只可留在主存中。 • 这种方法增加了互联网络和主存的竞争,因此,性能较差。 • 减少竞争的方法是增加一个共享cache--sc(shared cache),共享信息均在sc内,而取指令和独用数据则通过独用cache--pc(private cache),其结构如图5-33所示。
动态一致性校验 • 基本思想是在若干个cache中使同一个信息(指令、数据)始终保持动态一致。 • 一种方法是广播法:即当每个处理机每次写cache时,不仅写入自己的cache和共享的主存中,而且还把信息送到所有cache,如果其他cache有与自己cache相同的目标行,则也进行改写。
动态一致性校验(cont.) • 另一种时目录法。在快速ram中构建一个目录表,如图5-34所示。它有两个部分:存在表(present table)是二维的,其中每一项P(i,c)表示第i块是在第c个cache中,修改表(modified table)是一维的,其中每项M(i)表示第i块是否被修改过。在每个cache中还有一个本地标志(可在地址变换表中设立)L(k,c),表示第c个cache中块k的状态。