《计算机原理》课件第11章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《计算机原理》课件第11章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机原理 计算机 原理 课件 11
- 资源描述:
-
1、第11章 多处理机与机群系统第第11章章 多处理机与机群系统多处理机与机群系统11.1 多处理机系统特点与分类11.2 多处理机软件和典型的多处理机系统11.3 机群系统关联习题第11章 多处理机与机群系统11.1 多处理机系统特点与分类多处理机系统特点与分类多处理机具有两台以上处理机,每台处理机可以带有本地Cache、本地存储器、甚至I/O设备,它们都能独立执行各自的程序。多台处理机之间通过总线、纵横交叉开关、多级互连网络或高速的商品化网络实现互连。多处理机可以通过共享存储器,也可以通过消息传送系统来实现处理机间的通信。多台处理机在操作系统的控制下,实现资源的统一分配与调度。具有多任务处理,
2、协同求解,提高速度的特点,并利用冗余,提高可靠性、适应性、可用性。为了不同的目的,使用不同的技术途径,可以发展出同构型、异构型、分布型等形式各异的多处理机系统。第11章 多处理机与机群系统11.1.1 基本结构基本结构多处理机是指两个或两个以上处理机(包括PU和CU),通过高速互连网络连接起来,在统一的操作系统管理下,实现指令以上级(任务级、作业级)并行。按照Flynn分类法,多处理机系统属于MIMD计算机,多处理机系统由多个独立的处理机组成,每个处理机都能够独立执行自己的程序。多处理机有两种基本的结构:共享存储器结构和分布式存储器结构。这两种结构的多处理机都是通过底层的互连网络实现数据的交换
3、和同步的,如图11-1所示。第11章 多处理机与机群系统图 11-1 多处理机系统的两种基本结构第11章 多处理机与机群系统分布式存储器结构每台处理机都有自己的存储器和I/O设备,处理机之间通过点对点的信息交换实现通信。整个存储器被分成多个模块,每个模块与一个处理机紧密结合,因此这种结构的存储模块也被称为本地存储器。当处理机访问本地存储器时,不需要通过互连网络就可以直接进行,但是,系统内的任意一个处理机仍然可以通过互连网络访问系统中的任何一个存储器模块。第11章 多处理机与机群系统11.1.2 多处理机系统特点多处理机系统特点多处理机属于多指令流多数据流(MIMD)计算机,它和单指令流多数据流
4、(SIMD)计算机的并行处理机相比,有很大的差别。它们的差别归根结底来源于并行性级别的不同:多处理机要实现任务一级的并行,不能再像SIMD计算机那样只能对多数据流执行同一指令操作。因此,在结构上,它的多个处理机要用多个指令部件分别控制,并且要有复杂的互连网络实现机间通信;在算法上,不限于数组向量处理,要挖掘和实现更多通用算法中隐含的并行性;在系统管理上,要更多依靠软件手段有效地解决资源管理,特别是处理机管理以及进程调度等问题。下面概括说明多处理机系统的特点。第11章 多处理机与机群系统1结构灵活性结构灵活性多处理机能适应更为多样的算法,具备更为灵活多变的系统结构以实现各种复杂的机间互连模式,同
5、时还要解决共享资源的冲突问题。2程序并行性程序并行性在多处理机中,不限于解决数组向量处理问题,并行性存在于指令外部,即表现在多个任务之间,再加上系统通用性的要求,就使程序并行性的识别难度较大。因此,它必须利用多种途径,如算法、程序语言、编译、操作系统,以至指令、硬件等,尽量挖掘各种潜在的并行性,而且主要的责任不能放在程序员肩上。第11章 多处理机与机群系统3并行任务派生并行任务派生多处理机是处于多指令流操作方式,一个程序当中就存在多个并发的程序段,需要专门的指令来表示它们的并发关系以控制它们的并发执行,以便一个任务开始被执行时就能派生出可与它并行执行的另一些任务,这个过程称为并行任务派生。4进
6、程同步进程同步多处理机所实现的是指令、任务、程序级的并行。一般地说,在同一时刻,不同的处理机执行着不同的指令。这就要求多处理机采取特殊的同步措施,才能使并发进程之间保持程序所要求的正确顺序。第11章 多处理机与机群系统5资源分配和进程调度资源分配和进程调度多处理机执行并发任务,需用处理机的数目没有固定要求,各个处理机进入或退出任务的时刻互不相同,所需共享资源的品种、数量又随时变化。由于上述情况十分复杂,于是,就提出了一个资源分配和进程调度问题,这个问题解决的好坏对效率有很大的直接影响。第11章 多处理机与机群系统11.1.3 多处理机系统的多处理机系统的Cache一致性问题一致性问题Cache
7、作为提高系统性能的一种技术手段在计算机系统中得到普遍的使用。在共享存储器的多处理机中,每台处理机都有自己的局部Cache。这类多处理机在运行一个具有多个进程的程序时,各处理机可能会使用到共享存储器中的同一数据块,为维持多处理机的高速运行,这些共享数据块将被调入各处理机的局部Cache中。由于多个处理机是异步地独立操作,可能使共享存储器中同一数据块的不同Cache拷贝出现不一致,就可能危及系统的正常运行,这就是Cache的一致性问题。第11章 多处理机与机群系统1产生产生Cache一致性问题的原因一致性问题的原因出现Cache一致性问题的原因主要有三个:共享可写的数据、进程迁移、I/O传输。1)
8、共享可写数据引起的不一致假设在写操作之前,Cache的初始状态如图11-2(a)所示。处理机P1和P2的局部高速缓冲存储器Cache1和Cache2中分别有共享存储器的某个数据x的副本。第11章 多处理机与机群系统图11-2 共享可写数据引起的Cache不一致性第11章 多处理机与机群系统若采用写直达法,如图11-2(b)所示,当处理机P1改写Cache1中的数据为x时,共享存储器中的相应数据也立即更新为x,这将导致Cache1中的数据与Cache2中所缓存的数据不一致。若采用写回法,如图11-2(c)所示,当处理机P1改写Cache1中的数据为x时,Cache1的变化不会引起Cache2和共
9、享存储器的变化,这将导致Cache1中的数据与共享存储器和Cache2中所缓存的数据不一致。第11章 多处理机与机群系统2)进程迁移引起的不一致在多处理机上,有时为了提高系统的效率而允许进程迁移,将一个尚未执行完而被挂起的进程调度到另一个空闲的处理机上去执行,使系统中各处理机的负荷保持均衡。但这样做可能会造成Cache一致性问题。假设在迁移前Cache的初始状态仍如图11-3(a)所示,处理机P1的Cache1中有共享存储器中数据x的拷贝,而处理机P2的Cache2中没有该数据。第11章 多处理机与机群系统图11-3 进程迁移引起的Cache不一致性第11章 多处理机与机群系统若采用写直达法,
10、如图11-3(b)所示,当某进程从P1迁移到P2后,处理机P2在执行此进程时需要使用数据x时,会将x所在块由共享存储器调入Cache2。假设进程运行时将Cache2的数据x改写为x,在共享存储器中的相应数据也立即更新为x,这将导致共享存储器和Cache2中的数据与处理机P1中Cache1所缓存的数据的不一致。若采用写回法,如图11-3(c)所示,当处理机P1修改Cache1中的数据成x时Cache1的变化不会引起共享存储器的变化。当某进程从P1迁移到P2后,处理机P2在执行此进程时需要使用数据x时,会将x所在块由共享存储器调入Cache2。此时调入的数据x并非是已经修改过的x,这将导致共享存储
11、器及Cache2与处理机P1中Cache1所缓存的数据的不一致。第11章 多处理机与机群系统3)I/O操作引起的不一致 假设在执行I/O操作之前,Cache的初始状态如图11-4(a)所示。处理机P1和P2的局部Cache中分别有共享存储器的某个数据x的拷贝。若采用写直达法,当I/O处理机执行输入操作,直接将共享存储器中的数据x改写成x时,会导致Cache1和Cache2中的数据与共享存储器数据的不一致,如图11-4(b)所示。若采用写回法,当处理机P1将Cache1中的数据x改写为x时,由于Cache1数据的修改不会立即引起共享存储器中数据x的更新,此时若此数据恰好被I/O处理机输出,就会造
12、成输出错误,如图11-4(c)所示。第11章 多处理机与机群系统图11-4 I/O操作引起的Cache不一致性第11章 多处理机与机群系统2解决解决Cache一致性问题的方法一致性问题的方法解决多处理器维护Cache一致性的协议称为Cache一致性协议。实现Cache一致性协议的关键是跟踪共享数据块的状态。目前有两类Cache一致性协议,它们采用了不同的共享数据状态跟踪技术,分别适合于不同的系统结构。第11章 多处理机与机群系统1)监听协议每个Cache除了包含物理存储器中块的数据拷贝之外,也保存着各个块的共享状态信息。这是一种基于总线的一致性协议,各处理机通过监听总线上处理机与存储器之间的C
13、ache操作事件,对各自局部Cache中的数据采取保持一致性的措施。监听协议有写无效策略和写更新策略两种策略来保持Cache一致性。第11章 多处理机与机群系统2)目录协议物理存储器中共享数据块的状态及相关信息均被保存在一个称为目录的地方。共享数据块的变化通过此数据块所在的各目录项,将一致性命令发给所有存放该数据块拷贝的Cache。基于目录的协议的基本思想是:使用Cache目录来记录可以进入Cache的每个数据块的访问状态、该块在各个处理机的共享状态以及是否修改过等信息。把一致性命令只发给存有相应数据块拷贝的Cache,从而支持Cache的一致性。各种目录协议的主要差别是目录存放什么信息以及如
14、何维护信息。根据目录的结构特点,基于目录的协议可分为三类:全映射目录(full-map directory)、有限目录(limited directory)、链式目录(chained directory)。另外,还有一种方法是以软件为基础解决Cache一致性的问题。第11章 多处理机与机群系统11.2 多处理机软件和典型的多处理机系统多处理机软件和典型的多处理机系统11.2.1 并行算法并行算法算法对于并行性的开发至关重要,算法必须适应具体的计算机结构。对表达式E1=a+bx+cx2+dx3,顺序算法与并行算法的比较如图11-5所示。如果将运算过程用树形流程图来表示的话,则运算的级数就是树的高
15、度,用Tp代表;P为所需处理机数目;Sp为加速比,Sp=Tl/Tp;Ep为效率,Ep=Sp/P。第11章 多处理机与机群系统图11-5 顺序算法与并行算法比较图第11章 多处理机与机群系统对树进行变换来降低树高,减少运算级数,即可提高运算的并行性。树形结构可以用交换律、结合律、分配律来变换。先从算术表达式的最直接形式出发,利用交换律把相同的运算集中在一起;再利用结合律把参加运算的操作数(称原子)配对,尽可能并行运算,组成树高最小的子树;最后利用分配律,平衡各分支运算的级数,把这些子树结合起来,使总级数减至最少。第11章 多处理机与机群系统11.2.2 程序并行性分析程序并行性分析除算法以外,任
16、务间能否并行在很大程度上还取决于程序的结构形式。假设一个程序包含P1、P2、Pi、Pj、Pn等n个程序段,其书写的顺序反映了该程序正常执行的顺序。为了便于分析,设Pi和Pj程序段都是一条语句,Pi在Pj之前执行,且只讨论Pi和Pj之间的直接数据相关关系。第11章 多处理机与机群系统1)数据相关如果Pi的左部变量在Pj的右部变量集内,且Pj要从Pi取得运算结果来作为操作数,则称Pj“数据相关”于Pi。如Pi A=B+DPj C=A*EPj必须取Pi算得的A值作为操作数,相当于流水中发生的“先写后读”相关。第11章 多处理机与机群系统2)数据反相关如果Pj的左部变量在Pi的右部变量集内,且当Pi未
17、取用其变量的值之前,不允许被Pj所改变,则称Pi“数据反相关”于Pj。如Pi C=A*EPj A=B+D在A的值未被Pi取用之前不能被Pj所改变,相当于流水中发生的“先读后写”相关。第11章 多处理机与机群系统3)数据输出相关如果Pi的左部变量也是Pj的左部变量,且Pj存入其算得的值必须在Pi存入之后,则称Pj“数据输出相关”于Pi。如Pi A=B+DPj A=C+E Pj存入其算得的A值必须在Pi存入其结果A之后,相当于流水中发生的“写写”相关。对程序并行性的影响表现为下列几种可能的执行次序:写读串行次序、读写次序、可并行次序、必并行次序。第11章 多处理机与机群系统综上所述,两个程序段之间
18、若有先写后读的数据相关,不能并行,只在特殊情况下可以交换串行;若有先读后写的数据反相关,可以并行执行,但必须保证其写入共享主存时的先读后写次序,不能交换串行;若有写写的数据输出相关,可以并行执行,但同样需保证其写入的先后次序,不能交换串行;若同时有先写后读和先读后写两种相关,以交换数据为目的时,则必须并行执行,且要求读写完全同步,不许顺序串行和交换串行;若没有任何相关,或仅有右部源数据相同时,可以并行、顺序串行和交换串行。第11章 多处理机与机群系统11.2.3 并行程序设计语言并行程序设计语言并行算法需要用并行程序来实现,而编写并行程序所用的程序语言中需要含有能明确表示并发进程的成分,这就要
19、使用并行程序设计语言。并行进程的特点是多个进程在时间上重叠地执行,而并行程序设计语言必须便于具体描述这些并行关系。第11章 多处理机与机群系统1描述程序并行性的语句描述程序并行性的语句包含并行性的程序在多处理机上运行时,需要对并行任务的派生和汇合进行管理。并行任务的派生和汇合通常是用软件手段来控制的。要在程序中反映出并行任务的派生和汇合关系,可以在程序语言中使用FORK 语句来派生并行任务,用JOIN语句来实现对多个并发任务的汇合,读者如感兴趣,请参考相关资料。第11章 多处理机与机群系统2并行编译并行编译实现算术表达式的并行处理可以应用并行算法编制并行程序,还可以依靠并行编译程序。有一些编译
20、算法,可以经过或不经过逆波兰式,直接从算术表达式产生能并行执行的目标程序。例如,对下列表达式:Z=E+A*B*C/D+F 第11章 多处理机与机群系统利用普通串行编译算法,产生三元指令组为:1 *AB2 *1C3 /2D4 +3E5 +4F6 =5Z第11章 多处理机与机群系统指令之间均相关,需5级运算。如采用并行编译算法可得 1 *AB2 /2D3 *124 +EF5 +346 =5Z 其中,1,2为第1级;3,4为第2级;5,6为第3级。分配给两个处理机,只需3级运算即可实现。第11章 多处理机与机群系统11.2.4 MPP和和SMP多处理机系统主要有四大类。第一类是多向量处理系统,以CR
21、AY YMP-90、NEC SX-3和FUJITSU VP-2000等为代表;第二类是基于共享存储的多处理机系统,如SGI Challenge 和Sun SparcCenter 2000;第三类是基于分布存储的大规模并行处理系统(MPP),比如Intel Paragon、CM-5、Cray T3D等;第四类是机群系统。第11章 多处理机与机群系统1MPP大规模并行性并行处理大规模并行性并行处理大规模并行性并行处理(Massively Parallel Processing,MPP)系统的定义随着时间推移在不断地变化。按照当前的标准,具有几百或几千台处理机的任何机器就是大规模并行处理系统。显然,
22、随着计算机技术的快速发展,对并行度的要求会愈来愈高。MPP系统最重要的特点是进行大规模并行处理。MPP主要用于半导体建模、飞行动力学、气候模型、流体湍流、污染分析、人类染色体组、海洋环流、量子染色动力学等需要大量数值处理的领域。第11章 多处理机与机群系统我们以1983年美国的128128=16384个微处理器(MPU)所组成的并行处理机为例进行说明。此系统总结构如图11-6所示。其主要部分有128128个处理机的阵列、驿站存储器(Staging Memory)、阵列控制部件、宿主机。其中处理机的阵列由2048个处理机芯片组成,每个芯片上有8个处理机,组成24的子阵列,每个处理机附有一个102
23、4位的RAM,16384个处理机可以并行工作。第11章 多处理机与机群系统图11-6 MPP的系统结构图第11章 多处理机与机群系统MPP阵列的另一改进是在物理布局中增加了4列冗余的处理机(物理布局总数为132列)。当有处理机发生故障时,可以动态地进行重新组合,把存在故障的处理机旁路掉,因而极大地提高了系统的可靠性。在阵列的上下各有一排128位的开关,分别用来输入输出数据。MPP的时钟频率为10MHz,每个时钟周期可以并行传送128位数据,使最大传送速率可达到1.28109 bit/s,即160MB/s。第11章 多处理机与机群系统驿站存储器容量为64MB,主要用来作为处理机阵列的输入/输出缓
24、冲器,它以320MB/s的速度从外部设备接收数据,并能对数据进行压缩或重新安排格式的处理,使这些数据能更有效地在处理机阵列中进行处理。第11章 多处理机与机群系统阵列的控制部件实际上是一台专用计算机,执行MPP汇编语言,除了控制数据的输入/输出通路外,还要执行存储在它的程序存储器中的应用程序,其功能包括进行循环的控制、子程序的调用及进行标量运算。MPP系统用一台VAX 11/780机作宿主机,整个系统在VAX 11/780机总的管理下工作。PE是位片式的处理机,它的算术运算用串行加法器按位串行进行,可处理任意长度的操作数。MPP的指令系统可分为三个子集:顺序指令、并行指令和接口指令。与大多数S
25、IMD计算机一样,MPP还有一组接口指令,它们使数据在顺序部件和并行部件之间移动。MPP系统软件设计的基本准则是:用户像使用单机那样使用MPP,但其性能却是单机系统的若干倍 第11章 多处理机与机群系统2SMP共享存储型多处理机共享存储型多处理机SMP称为共享存储型多处理机(Shared Memory Multiprocessors),也称为对称型多处理机(Symmetry Multiprocessors)。共享存储系统拥有统一寻址空间,程序员不必参与数据分配和传输。早期的并行处理系统几乎都是基于总线的共享存储系统,它们的发展得益于两方面的原因:一个是微处理器令人难以置信的性能价格比,另一个是
展开阅读全文