多处理机课件_第1页
多处理机课件_第2页
多处理机课件_第3页
多处理机课件_第4页
多处理机课件_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、多处理机的特点和主要技术指标

1、定义:两个或两个以上处理机(包括PU和CU),通过高速互连网络连接起来,在统一的操作系统管理下,实现指令以上级(任务级、作业级)并行。按照Flynn分类法,多处理机系统属于MIMD多处理机系统由多个独立的处理机组成,每个处理机都能够独立执行自己的程序。 存储器操作并行——并行存储系统、相联处理机 处理器操作步骤并行——流水线处理机 处理器操作并行——阵列处理机 任务、作业并行——多处理机2、目的:

通过多个作业、任务的并行处理提高大而复杂问题的解题速度使用冗余的多个处理机,通过重新组织来提高系统的可靠性、适用性和可用性(1)、结构灵活性并行处理机:专用,PE数很多(几千个),固定有限的通信多处理机:

通用,几十个,高速灵活的通信(2)、程序并行性并行处理机并行性存在于指令内部,识别比较容易多处理机并行性存在于指令外部,在多个任务之间,识别难度较大3、特点(5)、资源分配和进程调度

并行处理机的PE是固定的,采用屏蔽手段改变实际参加操作的PE数目

多处理机执行并发任务,需用处理机的数目不固定,各个处理机进入或退出任务的时刻不相同,所需共享资源的品种、数量又随时变化提出资源分配和进程调度问题,它对整个系统的效率有很大的影响。多处理机为适应多种算法,要求结构能更灵活、变化要多,可以实现复杂的机间互连且避免争用共享的硬件资源多处理机的并行性主要体现于指令的外部,使得程序并行性的识别比较困难。它必须利用算法、程序语言、编译、操作系统、指令及硬件等,从多种途径去挖掘出各种潜在的并行性。多处理机需要有专门的指令或语句来控制并行任务的派生。根据并发任务之间的数据相关或控制依赖等关系,使用专门的手段来进行并行任务(进程)的同步。多处理机执行并发任务所需的处理机的机数是不定的。各处理机进入或退出任务所需资源的变化比较复杂,必须较好的解决动态的资源分配和任务调度,让各处理机的负荷尽可能均衡,防止死锁。多处理机中某个处理机发生故障后,应知道如何重新组织系统,使系统不至于瘫痪。多处理机机数增多后,应知道如何提供良好的编程环境。因此,多处理机的结构、机间互连、并行算法、并行语言、编译、操作系统等都将会直接影响到系统的性能和效率的提高。

二、多处理机的硬件结构1、多处理机的构型紧耦合多处理机通过共享主存实现机间通信为了减少访问主存的冲突,主存采用模m多体交叉方式组织。如果处理机自带局部存储器或再加上Cache存储器,可以大大提高系统的性能,降低对处理机——存储器互联网络的使用发生冲突的概率。松耦合多处理机的每台处理机有一个容量较大的存储器,用于存放各处理机常用的指令和数据,减少访主存的冲突。处理机之间通过通道或消息传送系统MTS来进行通信。

多端口存储器互连是将分布于交叉开关矩阵中的控制,转移和优先级仲裁逻辑放置到相应存储器模块的接口中来。它对机数少的多处理机场合还是很适用的,但处理机机数固定了,不能随意扩充,整个系统性能不可能很高。

分布式结构的开关枢纽形式:将互连结构的开关设置在各处理机或接口内部。在这种形式中,每台处理机都经过其开关枢纽与其它多台处理机连接,适合于用在处理机机数很多的分布式多处理机的场合。可扩充性好,系统流量大。

3、存储器组织在多处理机上,如果各个处理机活跃的进程是共享同一个集中连续的物理地址空间中的数据时,主存宜采用低位交叉编址;如果较少或基本不共享集中的数据时,主存宜用高位交叉编址。采用Cache存储器时,应解决好多个Cache存储器之间信息的一致性问题。目前,主要采用以硬件为基础的监视Cache协议法。3、浮动型:操作系统的管理程序可在处理机之间浮动它可使各种资源有较好的负荷均衡;在硬件结构和可靠性上有分布控制的优点。在操作系统的复杂性和经济性上,它接近于主从型的,但操作系统的设计最为困难,适合于紧耦合的同构型多处理机。

四、程序的并行性

1、并行算法:它取决于计算机的结构和题目,是提高多处理机并行性能的关键。研究并行算法的一种思路是将大的程序分解成可由足够多的处理机并行处理的并行过程。每个过程被看成是一个结点,将过程之间的关联关系用结点组成的树来描述。增大树中每一层的结点数,即增大各处理机可并行运行的过程数;降低树的高度,即降低多处理机的运算级数。

E=a+b·x+c·x·x+d·x·x·xdx*+*+*+cxbxa处理机的个数:P=3 运算的级数,树高:Tp=4加速比,顺序运算的级数与并行运算的级数比:Sp=T1/Tp=3/2效率:Ep=Sp/p=1/2*xxE=a+x(b+x(c+x(d)))*xx*bx*x*c+a+d++

2、编译:在多处理机上,程序的并行要求要设计出好的编译程序,能将高级语言源程序尽可能编译出并行度高的目标程序,而不是生成指令间有着大量相关的串行程序。3、程序段间的相关性分析多个程序段、进程、任务之间能否并行,依赖于程序的结构。程序段间的数据关联是限制程序并行的重要因素。若有先写后读的数据相关,可以串行,不能并行。若有先读后写的数据反相关,可以串行,不能交换串行。可以并行执行,但必须保证其写入共享主存时的先读后写的次序。若有(先)写(后)写的数据输出相关,可以串行,在保证对相关单元写入的先后次序的前提下,可以并行,但不能交换串行。若同时有先写后读和先读后写两种相关,以交换数据为目的时,则必须是并行,并要求读与写完全同步,不允许顺序串性和交换串行。若没有任何相关,或仅有源数据相同时,可以并行,顺序串行或交换串行交换串行的目的是:如果程序段之间不能并行,也可以让空闲的处理机提前去执行后面的程序段,这可以从宏观上增强各个程序段之间的并行度,加快作业完成的速度,改进系统的运行效率。S1:U=A+B;S2:V=U/B;S3:W=A*U;S4:X=W-V;S5:Y=W*U;S6:Z=X/Y10U=A+BFORK3020V=U/BJOIN2GOTO4030W=A*UJOIN240FORK6050X=W-V JOIN2GOTO7060Y=W*UJOIN270Z=X/YFORK3010+20/JOIN230*JOIN2GOTO40FORK6050-60*JOIN2JOIN270/CPU1CPU2tFORKS2,S3,S4S1A1=A1+A2JOIN4GOTO*S2

A3=A3+A4JOIN4GOTO*S3

A5=A5+A6JOIN4GOTO*S4

A7=A7+A8JOIN4

*

FORKS6S5

A1=A1+A3JOIN2GOTOS7S6

A5=A5+A7JOIN2S7

A1=A1+A5CPU1CPU2tCPU1CPU2tCPU3FORKS2,S3,S4S1A1=A1+A2JOIN4GOTO*S2

A3=A3+A4JOIN4GOTO*S3

A5=A5+A6JOIN4GOTO*S4

A7=A7+A8JOIN4

*

FORKS6S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论