1 / 72

多处理机系统

多处理机系统. << 上海大学计算机系统结构 >> 课程组. 多处理机系统的定义. P.H.Enslow 对多处理机作了下列定义: * 包含两个或两个以上功能大致相同的处理器; * 所有处理器共享一个公共内存; * 所有处理器共享 I/O 通道、控制器和外围设备; * 整个系统由统一的操作系统控制,在处理器和程序之间实现作业、任务、程序段、数组和数组元素等各级的全面并行。. 多处理机的优点. 很高的性能价格比 : 单处理机的性能价格比随其规模的增大而下降 很高的可靠性 :冗余度大、可维护性、可用性

elisha
Download Presentation

多处理机系统

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 多处理机系统 <<上海大学计算机系统结构>> 课程组

  2. 多处理机系统的定义 P.H.Enslow对多处理机作了下列定义: * 包含两个或两个以上功能大致相同的处理器; * 所有处理器共享一个公共内存; * 所有处理器共享I/O通道、控制器和外围设备; * 整个系统由统一的操作系统控制,在处理器和程序之间实现作业、任务、程序段、数组和数组元素等各级的全面并行。

  3. 多处理机的优点 • 很高的性能价格比:单处理机的性能价格比随其规模的增大而下降 • 很高的可靠性:冗余度大、可维护性、可用性 • 很高的处理速度:多个处理器并行运算 • 很好的模块性:大量重复设置,结构灵活性、可扩充性、可重构性

  4. 特性要求--进程恢复能力 • 多处理机系统使用的处理机结构应能反映进程和处理机是两个不同的实体。如果某处理机发生故障,另一台处理机应能检索到被中断的进程状态,使被中断的进程能继续运行。没有这个功能,系统的可靠性大大下降。大多数处理机把当前正在运行进程状态保存在内部寄存器中,如何使其他处理器在必要时能访问到进程状态,是恢复进程的关键之一。在不太损失速度的前提下,把通用寄存器与处理机本身分开是可能的,在系统内设置所有处理机共享的寄存器堆可以实现上述功能。

  5. 特性要求--有效的现场切换 • 现场切换操作是把当前进程状态保存起来,然后通过恢复新进程的状态切换到被选中的准备好运行的进程。 • 切换操作可以在指令系统中设置一条专门指令来完成。该指令执行的结果是将当前进程状态或现场内容保存起来,然后到主存储器的缓冲区取另一个进程状态,该缓冲区称为交换包。

  6. 特性要求--大的物理地址空间和虚拟地址空间 • 多处理机系统内的处理机必须能支持大的物理地址空间(即直接寻址空间要大),这是因为进程需要访问大量数据。例如,Pentium地址线32根,直接寻址空间可达4GB,能满足需求。有了大的物理地址空间,还需要大的虚拟地址空间,把虚拟地址空间分段,便于模块共享以及地址界限的检查。

  7. 特性要求--高效率的同步原语 • 处理机设计时必须能提供作为同步原语基础的某种不可再分的操作。这些同步原语需要有互斥机构支持。当两个以上的进程并发地运行或相互交换数据时,需要互斥。 • 互斥机构包含某种形式的读—修改—写存储周期和排队。信号灯(semaphore)是互斥机构的一种。每个信号灯有其队列,队列中的项是被挂起来的进程。信号灯操作是不可分操作,利用读—修改—写存储周期,测试和修改信号灯。队列操作也应是不可分的。

  8. 特性要求--处理机之间有高效率的通信机构 • 通信机构可用硬件实现。它有助于实现处理机之间的同步。在非对称多处理机系统中,不同的处理机之间经常需要交换服务请求,硬件通信机构作用更加明显。在处理机发生故障时,通过该机构发信号给其他正在运行的处理机,并启动诊断过程或纠错过程。 • 在紧密耦合的多处理机系统内有共享存储器,采用软件方法实现多处理机之间的通信是可能的。每个处理机必须周期地检查位于共享存储器内的“信箱”(缓冲区),检查是否有信息给它。

  9. 特性要求--指令系统 • 处理机的指令系统应能支持实现具有过程级并发功能的高级语言,为有效的处理数据结构提供充分条件。 • 指令系统内应有过程连接、循环结构、参数处理、多维下标计算和地址界限检查等指令。 • 还需包括产生和结束程序内部并行执行通路的指令。 • 设置特权指令。

  10. Flynn分类法 Micheal Flynn(1972)提出指令流、数据流和多倍性概念,把不同的计算机分为四大类(下图): • SISD(Single-Instruction Single-Data,单处理机结构) • SIMD(Single-Instruction Multi-Data,带分布存储器) • MISD(Multi-Instruction Single-Data,搏动式阵列) • MIMD(Multi-Instruction Multi-Data,带共享存储器)

  11. 并行处理机 • 在单机系统里主要是采用时间重叠技术。把一件工作按功能分割为若干相互联系的部分,把每一部分指定给专门的部件完成,然后按时间重叠原则把各部分执行过程在时间上重叠起来,使所有部件依次分工完成一组同样的工作。 • 并行处理机主要是通过资源重复技术来实现并行处理的。它属于单指令流多数据流(SIMD)计算机一类。

  12. CU CU PE0 PEn-1 ··· PE0 PE1 PEn-1 P0 Pn-1 M0 Mn-1 ICN ··· ICN M0 M1 ··· Mm-1 分布存 集中式 并行处理机工作原理 一、基本结构 1.组成 通常由1个控制器(CU),多个处理器(PE),m个存储模块(M)及1个互连网络(ICN)组成。 根据存储模块组成方式可有分布式和集中式两种。

  13. 基本结构的共同特点 并行处理机的两种基本结构的共同特点: • 重复设置许多个同样的处理单元PE(Process Element); • 由ICN(Inter Connection Network)按照一定的方式相互连接; • 在统一的控制部件CU(Control Unit)作用下; • 各PE对分配来的数据并行地完成同一条指令所规定的操作。

  14. 并行处理的特点 • 资源重复。它机利用众多的处理单元对向量所包含的各个分量同时进行运算,获得很高处理速度。 • 连接模式。它的处理单元间是通过ICN来通信的。不同的连接模式确定了它的不同结构。 • 专用性。它直接与一定的算法相联系,其效率取决于在多大程度上把计算问题归结为向量数组处理。 • 复合性。整个系统是由三部分复合起来的一个多机系统,即多个处理单元组成阵列并行地处理向量;功能极强的控制部件实际上是一台标量处理机;系统的管理功能则由高性能单处理机担负。

  15. 2.分布式结构 特点: 存储模块由每个PE自带。 ICN:是单向的,PE→PE。 工作流程: 3.集中式结构 特点: 各个PE共享m个存储模块。 ICN:是双向的, PE←→M。 工作流程: 比较: 分布式每个PE有局部存储器,集中式共享存储器。 ICN的作用不同:分布式PE→PE,集中式PE←→M。

  16. 并行计算机互连网络 互连网络基本概念 基本功能 互连网络ICN主要完成结点与结点间的连接,连接和控制方式不同,连接效果不同。 并行处理机互联网络ICN是实现并行处理机中各处理单元之间或处理单元与存储器之间的信息交换。互联网络的不同拓扑结构直接决定了并行处理机的结构。

  17. 结构特征 (1)通信方式 同步、异步 (2)控制策略 集中、分散 (3)交换方式 线路交换、分组交换 (4)拓扑结构

  18. 出端的编码:f(x)=(bn-1…b0)或其他形式。 设计思路 根据应用需要(互连网络属性),选择合理的特征方式,考虑互连网络的性能因素,综合加以合理组合。 目标:低成本、高灵活性、高连接度、低延时、适合VLSI。 互连网络表示 互连网络的连接特征一般用互连函数表示。 入端的编码:x=(bn-1…b0) n=log2N 互连函数为基于bn-1…b0的排列、组合、移位、取反等操作的结果。 一个互连网络的连接特征可对应多个互连函数。

  19. y 010 011 110 111 Cube0=(b2b1b0);Cube1=(b2b1b0); Cube2=(b2b1b0)。 001 000 x 100 101 z 单级互连网络 单级互连网络只能实现有限的几种连接。 1.立方体单级网络(交换互连网络) 出端编码与连接的入端结点的编码有一位相反。 互连函数: 互连特性: 交换功能--互连函数可逆; 互连函数个数=log28=3; 最大连接度=log28=3; 结点最大间距=log28=3。

  20. 出端编码与连接的入端结点的编码有一位相反。出端编码与连接的入端结点的编码有一位相反。 互连函数: Cube0=(b2b1b0) (0,1)(2,3)(4,5)(6,7) Cube1=(b2b1b0) (0,2)(1,3)(4,6)(5,7) Cube2=(b2b1b0) (0,4)(1,5)(2,6)(3,7) 注意:立方体坐标编号不能标错。

  21. 000 000 000 000 000 000 001 001 001 001 001 001 010 010 010 010 010 010 011 011 011 011 011 011 100 100 100 100 100 100 101 101 101 101 101 101 110 110 110 110 110 110 111 111 111 111 111 111 Cubei=(bn-1…bi…b0); Cube0 Cube1 Cube2 连接图: 扩展成超立方体: 有n=log2N个互连函数; 最大连接度=log2N; 结点最大间距=log2N。 应用:几种互连函数反复调用,任意结点间可连接。

  22. 0 1 7 6 2 5 3 4 2.PM2I单级网络(循环移数网络) 出端编码与连接的入端结点编码相差2i。 互连函数: PM2I+i(j)=(j+2i) mod N; n=log2N,0≤i≤n-1, PM2I-i(j)=(j-2i) mod N; 0≤j≤N-1 共有2n个互连函数(2n-1种不同)。 连接图: ±0:顺环圆周连接; ±1:顺环内接n/2边形连接; ±2:顺环内接n/4边形连接; ±(n-1):顺环内直径连接。

  23. 设n=8,则各互联循环为 PM2+0:(01234567) PM2-0:(76543210) PM2+1:(0246)(1357) PM2-1:(6420)(7531) PM2±2:(04)(15)(26)(37)

  24. 结点最大间距 n/2 = log2N/2 ≤log2N/2; 互连特性: 最大连接度2n-1; 互连函数个数2n。 应用:几种互连函数混合,任意结点间可连接。 实例:闭合螺旋结构为PM2I+0及PM2I±n/2互连函数。

  25. 0000 0000 0001 0001 0010 0010 000 000 0011 0011 001 001 0100 0100 0101 0101 010 010 0110 0110 011 011 0111 0111 1000 1000 100 100 1001 1001 101 101 1010 1010 110 110 1011 1011 111 111 3.混洗交换单级网络 全混洗(二混洗): 三混洗: 全混洗互连函数: Shuffle(bn-1bn-2…b1b0)=(bn-2…b1b0bn-1); 全“0”或全“1”结点无法与其他结点连接,必须辅以交换互连函数,方可实现任意结点间连接。

  26. Exchange(bn-1bn-2…b1b0)=(bn-1bn-2…b1b0); Exchange[Shuffle(bn-1bn-2…b1b0)] =(bn-2…b1b0bn-1); 0 1 2 3 4 5 6 7 最简单的交换互连函数为Cube0,因此混洗交换网络由全混洗和交换网络组合而成。 交换互连函数: 混洗交换互连函数: 连接图:

  27. 任一单级互连网络均可表示成N入N出的过程。 4.总结 (1)单级互连网络特性 任一单级互连网络可实现部分结点(一对或几对)间的连接,不能实现任意多对结点间的同时连接。 单级互连网络含义:某些连接方法或拓扑结构。 (2)单级互连网络应用 利用单级互连网络的特性作为实际IN的拓扑结构; 通过交换开关作为IN的可变因素; 通过交换开关多次控制实现IN的结点间任意互连。

  28. 阵列机结构 • 阵列机系统是并行处理机最常见的结构形式,它是由大量的处理机按一定规则的几何形式构成阵列形式。 • 最早阵列机是ILLIAC Ⅳ,它是由4个处理机阵列构成,每个阵列里由64个处理单元和1个控制部件组成。

  29. 阵列机结构(cont.) • ILLIAC Ⅳ阵列机结构(如图5-9所示)。 • 64个PE按矩形排列成8×8方阵,PE只与自己四边相邻的PE相连。任意二个不相邻PE的通信可以通过选择最短路径的算法,由软件来实现。 • 每个PE包括处理机外,还有自身的附属存储器PEM和存储器逻辑部件MLU。同时还有包含I/O在内的特殊总线结构互联。 • 像这种阵列机结构又称闭合螺线结构,也是阵列机系统结构中最常见的一种结构形式。

  30. 阵列机结构(cont.) • 阵列机的处理属于SIMD形式(单指令流多数据流),它最适合作向量数组运算。每个处理单元相当于一个向量数组元素的运算,包括定点和浮点的多种运算操作。对于是阵列机处理单元个数的倍数的向量数组运算尤为合适。如PE=64,则16,32,64,128,256,512···阵列向量数组就很方便地使阵列机发挥最佳效能。

  31. 阵列机结构(cont.) • 阵列机中PE之间的互联通信是由互联寄存器来实现的。当PE执行互联指令时,由本PE的互联寄存器与相邻PE互联寄存器进行信息交换。

  32. 阵列机结构(cont.) • 阵列机的操作分公共操作和本地操作。公共操作是指阵列机中的所有PE同时执行的操作,它一般由逻辑控制器来调度。本地操作是每个PE自己的操作,它由PE的指令译码、执行。 • 像指令操作那样,阵列机的存储器有双重变址机构,除了逻辑控制器的公共变址外,还有每个PE自己的单独变址。这样既节省了公共数据和指令所占的存储空间,又增加各PE对存储器数据分配的灵活性。

  33. 阵列机结构(cont.) • 一般,每个PE都配有状态寄存器,它标志了目前本PE处于活动状态还是处于屏蔽状态;运算结果是否有错;矩阵边缘处于何种连接等等各种状态信息。

  34. 高性能计算机分三大类 • PVP向量型超级计算机,如国防科技大学研制的银河I(1亿次/秒)、银河II(10亿次/秒)。 • MPP大规模并行处理超级计算机,如国防科技大学研制的银河III(130亿次/秒)、中国科学院计算机技术研究所研制的曙光1000(25亿次/秒)、中国江南计算机技术研究所研制的神威I(3840亿次/秒)。 • Cluster集群计算机,中国科学院计算机技术研究所研制的曙光2000-II(1100亿次/秒)、曙光3000(4030亿次/秒)、清华大学研制的THNPSC-1(320亿次/秒)、,上海大学研制的自强2000(4500亿次/秒)。

  35. 大规模并行处理机(MPP) • 1979年,美国NASA-Goddard中心与Goodyear宇航公司合作研制一台用于处理遥感卫星图片的大规模SIMD阵列机获得成功。由于这台机器用了128*128=16384个可并行工作的微处理机,因此被定名为大规模并行处理机MPP(Massively Parallel Processor)。 • MPP可对变长的操作数按位片进行算术运算。MPP有一个微程序控制器,能够十分灵活地定义向量、标量和I/O操作的指令系统,整个MPP系统均用微处理器芯片和SRAM芯片组成。

  36. 大规模并行处理机(cont.) • 阵列部件ARU(ARray Unit)由128*128个PE构成一个二维阵列,以SIMD方式工作。 • 每个PE有一个1027位SRAM,有奇偶校验功能 • 每个PE是位片式微处理机,与四周近邻相连。 • 程序员可在平面、水平圆柱、垂直圆柱、开螺线、闭螺线等五种阵列拓扑中任选一种,增加了阵列机结构的灵活性。

  37. 大规模并行处理机(cont.) • 在阵列中增加了4列冗余PE,使阵列的物理结构为132列*128行。阵列硬件出现故障时可旁路掉故障列方法,使阵列逻辑结构仍为128*128。 • 每个PE内有一个串行加法器及用一个移位寄存器实现位串式加法。 • PE阵列的时钟周期为100ns。阵列控制器ACU是微程序控制器,对PE阵列处理进行管理,完成标量运算以及控制数据在PE阵列上移位。

  38. 大规模并行处理机(cont.) • 程序和数据管理部件PDMU(Program and Data Management Unit)是一台后端小型计算机,其作用是管理阵列中的数据流,将程序装入控制器,进行系统的测试和诊断并提供程序开发手段等。 • MPP系统运行方式有两种,独立方式由用户在终端予以操作控制;在线方式由外接计算机予以控制。MPP与外接计算机之间的数据传输速率为6MB/s,按高速数据方式运行时,数据通过128位外部接口传输,其速率可达320MB/s。

  39. 多处理机的基本结构 • 常用的松散耦合和紧密耦合这两种形式 • 松散耦合多处理机结构:互联常用通道或通信线路来实现,它们连接的频带较低。 • 紧密耦合多处理机结构:通常是高速总线或高速开关实现机间互联,以共享存储器。

  40. 多处理机的基本结构 通道连接的多处理机结构: 每台计算机是独立的,它们之间通过通道适配器连接。在进行通信时,发送的计算机可以把接受的计算机认为是自己的一个I/O设备,从而能完成两个主存储器之间的数据传送。

  41. 多处理机的基本结构(cont.) 信息传输系统连接的多处理机结构: • 计算机模块通过一个信息传输系统连接起来。信息传输系统是耦合程度较低的,常用简单的分时总线及环形、星形等拓扑结构的系统。 • 每个计算机模块可以是独立的计算机,它有处理单元、存储器、I/O部件。而模块与信息传输系统则通过通道仲裁开关相连。通道仲裁开关的作用除使要通信的计算机模块与被通信的计算机模块在信息传输系统里连接起来外,还起到多个模块同时申请信息传输系统时,决定本模块是提出申请还是延缓提出申请,故称有仲裁作用。

  42. 多处理机的基本结构(cont.) 紧密耦合多处理机结构是真正的MPP: • 多个处理器通过互联网络(它是由高速开关来组成的)共享集中的主存储器(它由若干个存储模块组成)和多个输入输出设备。 • 当某个处理机要访问主存储器,只需通过它的存储映象部件(MAP),就可以把全局的逻辑地址变换成局部的物理地址(即某一存储模块内的物理地址)。 • 互联网络不仅要提供高速的传输通路,而且具有选择有效路径、仲裁访问冲突等功能。对于输入输出设备的访问也与访问存储器一样,只是它们的界面通过输入输出处理机(IOP)来进行。

  43. 多处理机的互联网络 • 多处理机的主要特点是各台处理机共享一组存储器和I/O设备。这种共享功能是通过两个互联网络实现的:一个是处理机和存储器模块之间的互联网络;另一个是处理机和I/O子系统(I/O接口和I/O设备)之间的互联网络。 • 互联网络可以采用不同的物理形式,一般可有四种基本结构。

  44. 1.总线结构 • 多处理机结构最简单互联系统是把所有功能模块(或部件)连接到一条公共通信通路上,如图5-16所示。 • 公共通信通路也称为时分或公共总线。这种总线结构的特点是简单、容易实现,也容易扩展(重构)。 • 总线是一个无源部件,通信完全由发送和接收的总线接口控制。 • 由于总线是共享资源,所以必须有总线请求和仲裁的机构,以避免发生总线冲突。

  45. 1.总线结构(cont.) • 总线仲裁方法有静态的或动态的优先级方法、先进先出(FIFO)队列方法、串行优先链方法和总线控制器(或仲裁器)方法。 • 当一个处理机要占用总线时,首先需测试总线状态是否“忙”(busy),若是忙,则等待,等到空闲时(即不“忙”),发出总线请求信号,经仲裁后,等到总线响应信号,才可以占用总线,与目的部件进行通信。在一个处理机占用总线进行通信过程中,哪怕比其优先级高的处理机需占用总线,也不能终止(中断)原来已在进行中的通信过程。

  46. 1.总线结构(cont.) • 单总线结构简易而可靠。但总线接口线路出现任何一个故障会造成系统瘫痪。 • 为了提高总线通信效率,设置在同一时间可进行多条总线通信,但增加了系统的复杂性。 • 影响总线性能的因素有:总线上主控设备(即能掌握、占用总线的部件)数量、总线仲裁算法、控制集中程度、数据宽度、数据传输同步和错误检测等。

  47. 1.总线结构(cont.) 总线仲裁算法: • 静态优先级算法:给每一个设备一个唯一的优先级。 • 固定时间片算法:把带宽分成固定长度的时间片,按循环方式顺序分配给每个设备。 • 动态优先级算法:优先级予以动态调整,使每个设备均有机会占用总线。“近期最少使用LRU”算法和旋转菊花链RDC算法。 • 先来先服务算法:按照接受到的请求先后顺序予以处理。

  48. 总线形式(时间分配)最常见 PE、PEM、I/O通道均连在总线上,采用分时或多路转换技术实现数据传递,是最简单的连接方式。 总线仲裁算法:静态优先级算法、平等算法、动态优先级算法、先来先服务算法等。 对外设一般采用优先级算法;对PE采用均等算法。 实现方法: 集中式:由总线控制器控制; 分布式:中机构分散到各PE中。 提高总线效率方法: 改善传输介质和增加总线数量 总线互连方式不适宜连接过多的处理机。

  49. 2.交叉开关 • 当不断增加总线数目,使每个存储器模块有它自己单独可用的通路形成的互联网络称为无阻塞交叉开关。 • 它的特点是开关和功能部件的接口非常简单,而且支持所有存储器模块同时通信。每个交叉点不仅能切换并行传播,而且必须能解决在同一存储器周期内访问同一个存储器模块的多个请求之间的冲突。通常用预设的优先级来处理冲突。

More Related