《系统结构chpt9学习.pptx》由会员分享,可在线阅读,更多相关《系统结构chpt9学习.pptx(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第九章多处理机两个或两个以上处理机(包括PU和CU),通过高速互连网络连接起来,在统一的操作系统管理下,实现指令以上级(任务级、作业级)并行。按照Flynn分类法,多处理机系统属于MIMD计算机。第1页/共46页第九章多处理机9.1 多处理机结构9.2 多处理机性能模型9.3 多处理机实例第2页/共46页9.1 多处理机结构多处理机系统由多个独立的处理机组成,每个处理机都能够独立执行自己的程序。它有多种分类方法:9.1.1 松散偶合多处理机松散偶合多处理机9.1.2 紧密偶合多处理机紧密偶合多处理机9.1.3 多处理机系统的特点多处理机系统的特点第3页/共46页多处理机系统有多种分类方法:按照
2、处理机之间的连接程度:紧密偶合多处理机和松散偶合多处理机。按照是否共享主存储器:共享存储器多处理机和分布存储器多处理机。按照处理机是否相同:同构型多处理机和异构型多处理机。按照处理机的个数:大规模并行处理机MPP和对称多处理机SMP。第4页/共46页按照PE与IOP之间互连方式:对称型:每个IOP能连接到所有PE上非对称型:每个IOP只与一个PE连接冗余对称型:一个PE与多个IOP连接按照存储器的访问方式:均匀存储器,UMA模型非均匀存储器,NUMA模型只有Cache,COMA模型另外,多向量处理机,机群系统(Cluster)等也称为多处理机系统。第5页/共46页9.1.1 松散偶合多处理机处
3、理机之间的连接频带比较低通过输入输出接口连接处理机间互为外围设备进行连接例如,IBM公司的机器,都可以通过通道到通道的连接器CTC把两个不同计算机系统的IOP连接起来。通过并口或串口把多台计算机连接起来例如,用串行口加一个MODEL拨号上网,也可以直接连接;多台计算机之间的连接需要有多个接口。第6页/共46页通过Ethernet网络接口连接多台计算机速度达10Mb、100Mb、1Gb,Mynet已经达到1.28Gb和2.56Gb。当通信速度要求更高时,可以通过一个通道和仲裁开关CAS(Channel and Arbiter Switch)直接载存储器总线之间建立连接。在CAS中有一个高速的通信
4、缓冲存储器。第7页/共46页LM0IOP0互连网络通过多输入输出输出口连接的多处理机CPU0LM0IOP0CPU0LM0IOP0CPU0第8页/共46页LMIOP互连网络通过消息传送系统连接的松散耦合多处理机CPUCAS模块LMIOPCPUCAS模块n-1第9页/共46页9.1.2 紧密偶合多处理机处理机之间共享主存储器,通过高速总线或高速开关连接。主存储器有多个独立的存储模块每个CPU能够访问任意一个存储器模块通过映象部件MAP把全局逻辑地址变换成局部物理地址通过互连网络寻找合适的路径,并分解访问存储器的冲突多个输入输出处理机IOP也连接在互连网络上,I/O设备与CPU共享主存储器。第10页
5、/共46页处理机个数不能太多,几个到十几个紧密偶合方式要求有很高通信频带。可以采用如下措施:(1)采用高速互连网络(2)增加存储器模块个数,一般n?m,取12倍之间。(3)每个存储器模块再分成多个小模块,并采用流水线方式工作。(4)每个CPU都有自己的局部存储器LM。(5)每个CPU设置一个Cache。第11页/共46页MAPMMCPU-MM-IOP互连网络紧密耦合多处理机模型CPUMAPCPUMAPCPUMMMMIOPIOPIOP第12页/共46页带二维共享存储器和、局部Cache及存储器的多处理机IOPIOPCPUMAPCacheLMCPU-IOP互联网络CPU-MM互联网络MAPMAPC
6、PUMAPCacheLMCPUMAPCacheLMIOPMAPMAPMAPMAP第13页/共46页9.1.3 多处理机系统的特点1、结构灵活 并行处理机:专用,PE数很多(几千个),固定有限的通信 多处理机:通用,几十个,高速灵活的通信2、程序并行性 并行处理机的并行性存在于指令内部,识别比较容易。多处理机的并行性存在于指令外部,在多个任务之间,识别难度较大。第14页/共46页一个简单的例子:Y=A+B*C*D/E+F用两个处理机:CPU1:B*C,A+F,A+B*C*D/E+FCPU2:D/E,B*C*D/E,第15页/共46页3、并行任务派生 并行处理机把同种操作集中在一起,由指令直接启动
7、各PE同时工作 多处理机用专门的指令来表示并发关系,一个任务开始执行时能够派生出与它并行执行的另一些任务 如果任务数多于处理机数,多余的任务进入排队器等待。4、进程同步 并行处理机仅一个CU,自然是同步的第16页/共46页 多处理机执行不同的指令,工作进度不会也不必保持相同 先做完的要停下来等待。有数据相关和控制相关也要停下来等待 要采取特殊的同步措施来保持程序所要求的正确顺序。5、资源分配和进程调度 并行处理机的PE是固定的,采用屏蔽手段改变实际参加操作的PE数目 多处理机执行并发任务,需用处理机的数目不固定,各个处理机进入或退出任务的时刻不相同,所需共享资源的品种、数量又随时变化第17页/
8、共46页 提出资源分配和进程调度问题,它对整个系统的效率有很大的影响。第18页/共46页9.2 多处理机性能模型引起峰值性能下降的原因是:(1)因处理机间通信而产生的延迟 (2)一台处理机与其它处理机同步所需的开销 (3)当没有足够多任务时,一台或多台处理机处于空闲状态 (4)由于一台或多台处理机执行无用的工作 (5)系统控制和操作调度所需开销第19页/共46页研究多处理机的目的:提前5年得到速度高10倍的机器。或用1/10的价格获得一台高性能的机器。如果设计得好,在某些适合进行并行处理得应用领域,可以达到:提前10年得到速度高100倍的机器 或用1/100的价格获得一台高性能的机器。并行性在
9、很大程度上依赖于R/C比值,其中:R代表程序执行时间,C代表通信开销。第20页/共46页通常:R/C比值小,并行性低。R/C比值大,并行性高。如果把作业分解成较大的块,就能得到较大的R/C比值,但是所得到的并行性比最大可能的并行性要小得多。R/C比值是衡量任务粒度(Granularity)大小的尺度 在粗粒度(Coarsegrain)并行情况下,R/C比值比较大,通信开销小 在细粒度(Finegrain)并行情况下,R/C比值比较小,通信开销大第21页/共46页细粒度并行性需要的处理机多,粗粒度并行性需要的处理机少。细粒度并行性的基本原理是把一个程序尽可能地分解成能并行执行的小任务。在极端情况
10、下,一个小任务只完成一个操作。第22页/共46页9.3 多处理机实例多处理机系统主要有四大类:(1)多向量处理机系统:如CRAY YMP-90,NEC SX-3和FUJITSU VP-2000(2)SMP(Symmetry MultiProcessors)对称多处理机;SMP(Shared Memory MulptiProcessors)共享存储多处理机如SGI ChallengeSun SparcCenter 2000第23页/共46页9.3 多处理机实例(3)MPP(massively parallel processing)大规模并行处理机如Intel Paragon,CM-5,Cray
11、 T3D(4)Cluster 机群系统(NOW或COM)9.3.1 大规模并行处理机(大规模并行处理机(MPP)9.3.2 对称多处理机(对称多处理机(SMP)9.3.3 机群系统(机群系统(Cluster)第24页/共46页9.3.1 大规模并行处理机(MPP)科学计算中的重大课题要求提供3T性能:(1)1 Teraflops计算能力(2)1 Terabyte主存储器(3)1 Terabyte/s 输入输出频带宽度目前,速度还慢1000倍左右,存储容量和I/O带宽差距更大。科学计算中的重大课题:全球气候预报,基因工程,飞行动力学,海洋环流,流体动力学,超导建模,半导体建模,量子染色动力学,视
12、觉第25页/共46页采用的关键技术:VLSI,可扩展技术,虚拟共享存储技术虚拟共享存储器(Shared Virtual Memory)也称为共享分布存储器(Distributed Shared Memory);物理上分布存储器,逻辑上共享存储器。虚拟共享存储器的优点:编程容易,系统结构灵活可扩充性好,有较好的软件移植性与消息传递方式相比,程序运行效率高,主要原因:第26页/共46页(1)数据块缓存在本地(内存或Cache中),可以多次使用(2)通信时间分散,提高了并行性(3)扩大存储空间,减少换页操作虚拟共享存储器实现途径:(1)硬件实现,利用Cache技术。需要增加专用硬件(2)操作系统和库
13、实现,通过虚拟存储机制取得共享和一致性。在松耦合的分布存储多处理机上,不需要增加任何硬件(3)编译实现,自动将共享访问转换成同步和一致原语。大多数系统采用途径(1)和(2),或这两种途径结合实现第27页/共46页9.3.2 对称多处理机(SMP)SMP称为共享存储多处理机(Shared Memory mulptiProcessors),也称为对称多处理机(Symmetry MultiProcessors)有三种模型:(1)UMA多处理机均匀存储器存取模型(Uniform Memory Access)存储器被所有处理机均匀共享所有处理机对所有存储单元具有相同的存取时间第28页/共46页每台处理机
14、有局部Cache外围设备可以共享系统互连网络(总线、交叉开关、多级网络)UMA多处理机模型P1P2PnSM1SM2SM2I/O第29页/共46页(2)NUMA多处理机 非均匀存储器存取(Nonuniform Memory Access)模型 存储器访问时间随存储单元的位置不同而变化。共享存储器在物理上是分布在所有处理机中的本地存储器。所有局部存储器地址空间的集合就组成了全局地址空间。处理机访问本地存储器比较快,访问属于另一台处理机的远程存储器则比较慢,因为通过互连网络会产生附加的时间延迟。第30页/共46页系统互连网络NUMA多处理机模型P1LM1P2LM2PnLMn第31页/共46页(3)C
15、OMA多处理机只有Cache的存储器结构(Cache-Only Memory Architecture)模型;COMA是一种只用Cache的多处理机系统实际上,COMA模型是NUMA模型的一种特例,后者分布存储器换成了Cache在每个处理机结点上没有主存储器,全部Cache组成了全局虚拟地址空间远程Cache访问通过分布Cache目录进行共享存储系统拥有统一的寻址空间,程序员不必参与数据分配和传输。第32页/共46页互连网络COMA多处理机模型D1Cache1P1D2Cache2P2DnCachenPn第33页/共46页9.3.4 机群系统(Cluster)1、机群系统的组成机群系统是利用高速
16、网络将一组高性能工作站或高档PC机连接起来,在并行程序设计以及可视化人机交互集成开发环境支持下,统一调度,协调处理,实现高效并行处理的系统。Cluster、NOW、COW从结构和结点间的通信方式来看,属于分布存储系统。第34页/共46页机群系统中的主机和网络可以是同构的,也可以是异构的。微处理机技术、网络技术和并行编程环境的发展使得机群系统这一新的并行处理系统形式正成为当前研究的热点。(1)微处理器的性能不断提高。(2)网络技术的进步使得松散耦合系统的通信瓶颈逐步得到缓解。(3)并行编程环境的开发使得新编并行程序或改写串行程序更为容易。第35页/共46页2、机群系统的特点(1)系统开发周期短。
17、(2)用户投资风险小。(3)系统价格低。(4)节约系统资源。UC Berkeley计算机系100多台工作站的使用情况调查表明,一般单机系统的使用率不到10%,而机群系统中的资源利用率可达到80%左右。(5)系统扩展性好。(6)用户编程方便。第36页/共46页3、机群系统的关键技术(1)高效的通信系统在用户空间实现通信协议精简通信协议Active Message通信机制(2)并行程序设计环境PVM(Parallel Virtual Machine)开始于1989年夏天,美国橡树岭国家实验室(ORNL);是一套并行计算工具软件,支持多用户及多任务运行;支持多种结构的计算机,工作站、并行机以及向量机
18、等;支持C、C+和第37页/共46页 Fortran语言;自由软件,使用非常广泛;编程模型可以是SPMD或MPMD;具有容错功能,当发现一个结点出故障时,自动将之删除MPI(Message Passing Interface)在1992年11月至1994年元月产生。能用于大多数并行计算机、计算机机群和异构网络环境,支持C和Fortran两种语言,编程模型采用SPMD,Express 美国Parasoft公司推出;能在不同的硬件环境上运行;支持C和Fortran两种程序设计语言。第38页/共46页Linda 美国Yale大学与科学计算协会共同研制;通过函数扩充现并行程序的设计;支持C-Linda
19、、Fortran-Linda等(3)并行程序设计语言 在多处理机系统中,必须用并行程序设计语言编写程序。或者把已经用串行语言编写的程序转换成并行语言程序之后,才能在多处理机系统上运行。第39页/共46页 把传统串行语言程序转换成并行语言程序的过程称为并行编译。有两种并行编译方式:全自动并行编译与半自动并行编译:全自动并行编译是方向,但实现起来很困难。半自动并行编译又称为交互式并行编译。程序员通过多次与机器对话,找到串行程序中可以并行执行的部分。并行编译器生成代码的形式有多种:并行高级语言程序、并行中间语言程序、并行目标语言程序第40页/共46页(4)负载平衡技术 一个大任务可分解为多个子任务,
20、把多个子任务分配到各个处理结点上并行执行的技术称为负载平衡技术 对于由异构处理结点构成的并行系统,相同的负载在各结点上的运行时间可能不同。因此,准确的负载定义应是负载量与结点处理能力的比值 负载平衡技术的核心就是调度算法,即将各个任务比较均衡地分布到不同的处理结点上并行计算,从而使各结点的利用率达到最大。第41页/共46页负载平衡技术分为静态和动态两大类:静态方法是在编译时针对用户程序的各种信息(任务的计算量和通信关系等)及并行系统本身的状况(网络结构、各结点计算能力等)对用户程序中的并行任务作出静态分配决策。动态方法是在程序运行过程中实现负载平衡的。它通过分析并行系统的实时负载信息,动态地将
21、任务在各处理机之间进行分配和调整,以消除系统中负载分布的不均匀性。动态负载平衡的算法简单,实时控制,但增加了系统的额外开销。第42页/共46页(5)并行程序调试技术 用并行程序设计语言编写程序,比用串行程序设计语言更容易出错,因此,在多处理机系统中,用并行程序设计语言编写程序更加依赖于并行调试工具。并行程序调试的主要困难:并行程序的执行过程不能重现。(6)可靠性技术 在多处理机上运行的程序通常比较大,程序执行时间很长(几十个小时或几十天)。如果在程序执行过程中出现偶然故障(如电源掉电、磁盘第43页/共46页 满、某一台处理机故障等),则整个运算过程要从头开始。定时设置检查点,保存现场信息。当出现故障时,只要回复到上一个检查点,不必从头开始执行。第44页/共46页本 章 重 点1、多处理机结构及特点2、MPP、SMP和Cluster的特点练习题:9.18第45页/共46页感谢您的观看!第46页/共46页