当前位置:文档之家› 多处理机

多处理机

计算机与通信学院计算机系统结构论文多处理机作者:郭润牛学号:082081203013专业:计算机应用技术多处理机计算机应用技术 082081203013 郭润牛一、前言多处理机是具有两个以上的处理机,在操作系统控制下,通过共享的主存或输入输出子系统或高速通讯网络进行通讯。

行控制技术、流水线技术、增加功能部件甚至多机技术、存储寻址和管理能力的扩充、功能分布的强化、各种互联网络的拓扑结构以及支持多道、多任务的软件技术等一系列并行处理技术,提高计算机处理速度,增强系统性能。

多处理机体系结构是计算机体系结构发展中的一个重要内容,已成为并行计算机发展中人们最关注的结构。

使用多处理机主要出于两种考虑:一种是想利用多台处理机进行多任务处理,协同求解一个大而复杂的问题提高速度。

另一种是想依靠冗余的处理机及其重组能力来提高系统的可靠性、适应性和可用性。

因此,由于应用的目的和结构的不同,多处理机可以有同构型、异构型和分布型三种。

计算机系统性能增长的根本因素有两个:一是微电子技术,另一个是计算机体系结构技术。

五十年代以来,人们先后采用了先二、多处理机的特点及主要技术问题多处理机属于多指令流多数据流系统,与单指令流多数据流系统的阵列处理机相比:在结构上:它的多个处理机要用多个指令部件分别控制,通过机间互连网络实现通讯;在算法上:不限于向量数组处理,还要挖掘和实现更多通用算法中隐含的并行性;在系统管理上:要更多地依靠软件手段有效地解决资源分配和管理,特别是任务分配、处理机调度、进程的同步和通讯等问题。

1、结构灵活性阵列处理机的结构主要是针对向量、数组处理设计的,有专用性。

处理单元数虽然已达6384以上,却只需要设置有限、固定的机间互连通路就可满足一批并行度很高的算法的需要。

多处理机是实现作业、任务、程序段的并行,为适应多样的算法,结构应更灵活多变,以实现复杂的机间互连,避免争用共享的硬件资源。

这是多处理机机数少的原因之一。

2、程序并行性阵列处理机实现操作级并行,一条指令即可对整个数组同时处理,并行性存在于指令内部,识别比较容易,可以从指令类型和硬件结构上提供支持,由程序员编程时加以利用,或由向量化编译程序来协助。

多处理机中,并行性还存在于指令外部,表理于多个任务间的并行,加上系统要求通用,使程序并行性的识别较难,必须利用算法、程序语言、编译、操作系统以及指令、硬件等多种途径,挖掘各种潜在的并行性,而不是主要依靠程序员在编程时解决。

3、并行任务派生阵列处理机是通过指令来反映数据间是否并行计算,并由指令直接启动多个处理单元并行工作。

多处理机是指令流,需要有专门的指令或语句指明程序中各程序段的并发关系,并控制它们并发执行,使一个任务执行时可以派生出与它并行执行的另一些任务。

派生出的并行任务数目随程序和程序流程的不同而动态变化,并不要求多处理机像阵列处理机那样用固定的处理器加屏蔽的办法来满足其执行的需要。

如果派生出的并行任务数多于处理机数,就让那些暂分配不到空闲处理机的任务排队,等待即将释放的处理机。

反之,则可以让多余的空闲处理机去执行其它的作业。

因此多处理机较阵列处理机运行的效率要高些。

4、进程同步阵列处理机实现的是指令内部对数据操作的并行,所有活跃的处理单元在同一个控制器控制下,同时执行同一条指令,工作自然是同步的。

多处理机实现的是指令、任务、作业级的并行,同一时刻,不同处理机执行不同指令,工作进度不会也不必保持一致。

但如果并发程序之间有数据相关或控制依赖,就要采取特殊的措施同步,使并发进程能按所需的顺序执行。

5、资源分配和任务调阵列处理机主要执行向量数组运算,处理单元数目是固定的。

程序员编写程序时利用屏蔽手段设置处理单元的活跃状态,就可改变实际参加并行执行的处理单元数目。

多处理机执行并发任务,需要处理机的数目没有固定的要求,各个处理机进入或退出任务以及所需资源的变化情况要复杂得多。

这就需要解决好资源分配和任务调度,让处理机的负荷均衡,尽可以提高系统硬件资源的利用率,管理和保护好各处理机、进程共享的公用单元,防止系统死锁。

这些问题解决的好坏将会直接影响系统的效率。

三、多处理机主要存在如下技术问题硬件结构上如何解决好处理机、存贮器模块及I/O子系统之间的互连。

除了要满足高频带、低成本等共同要求外,还要满足机间通讯模式的多样性、灵活性和不规则性,并实现无冲突连接。

1、如何最大限度地开发系统的并行性,以实现多处理机各级的全面并行。

通常,多处理机在低层次的并行性是通过向量化来实现的,高层次的并行性则是通过对多任务处理来实现的。

2、如何选择分割任务和子任务的大小,即任务的粒度,使之并行度高,辅助开销小。

这涉及到并行算法、并行语言、多处理机性能效率的研究和开发,因而比较复杂。

3、如何协调好多处理机中各并行执行的任务和进程之间的同步问题。

4、如何将各个任务分配到一个或多个处理机上,解决好处理机调度、任务调度和资源分配问题,防止死锁。

5、一旦某个处理机发生故障,如何对系统进行重新组织而不使瘫痪。

四、多处理机的硬件结构多处理机有两种不同的硬件结构:紧耦合、松耦合、紧耦合多处理机。

(一)紧耦合多处理机1、紧耦合多处理机是通过共享主存来实现处理机间通讯的,其通讯速率受限于主存的频宽。

但是,由于各处理机与主存经互连网络连接,系统中处理机数就受限于互连网络带宽及多台处理机同时访问主存发生冲突的概率。

2、为减少访主存冲突,多处理机的主存都采用模m多体交叉存取。

模数m 越大,发生冲突的概率将越低,但必须注意解决好数据在各存贮器模块中的定位和分配。

可以让各处理机自带一个小容量的存贮器存放该处理机运行进程的核心代码和常用系统表格,来进一步减少访主存冲突。

也可以让处理机自带高速缓冲存贮器Cache,减少访主存次数。

3、紧耦合多处理机的两种构形:系统由p台处理机,m个存贮器模块和d 个I/O通道组成,通过处理机-存贮器互连网络(PMIN)、I/O-处理机互连网络(IOPIN)和中断信号互连网络(ISIN)进行互连。

4、处理机-存贮器互连网络实现各处理机与各存贮器模块的连接,使之经仲裁后,每个访问同一存贮周期只响应其中一台处理机的访存请求。

为了减少多台处理机同时访问同一存贮模块的冲突,存贮器模块数m应等于或略大于处理机数p。

每台处理机自带一个局部存贮器的方案,不仅可以减少访主存信息量,降低访主存冲突概率,也可减少处理机-访贮器互连网络的使用冲突。

如果同时自带专用Cache,就可进一步减少这类冲突。

IBM 3084 和S-1是带专用Cache 的紧耦合多处理机的例子。

存贮器映像模块(MM)用于控制将处理机访存地址映像到局部存贮器、专门Cache或主存模块。

至于存贮器的每个模块,又可以是按流水方式工作的多个子模块构成。

处理机间通过中断信号互连网络由一台处理机向另一台处理机发送中断信号来实现处理机间的进程同步。

处理机和连接外设的I/O通道之间通过I/O-处理机互连网络来实现通讯。

能实现各处理机与各I/O通道之间完全连接的对称性I/O-处理机互连网络,尽管有很大的连接灵活性,但价格很贵。

所以,多数多处理机还是采用非对称的互连,即连到一台处理机的设备是不能被另一台处理机直接访问到的。

图4.2就是带非对称I/O子系统的多处理机结构。

美国卡内基-梅隆大学研制的C.mmp多处理机就是不带专用Cache的紧耦合多处理机,其p和m均16,并采用非对称的I/O子系统。

在非对称的I/O子系统中,为防止某台处理机失效,它所接的外设无法连到其它处理机上,可以通过采用适当的冗余连接,在一定程度上克服这一缺点。

图4.3就是一个采用冗余连接的非对称I/O子系统的例子。

在此例中,处理机1发生故障时处理机p仍可访问IOP(1),当然这是以增加一个多通路仲裁逻辑为代价的。

紧耦合多处理机常用于并行执行作业中的多个任务,以提高系统的速度性能,因此,各处理机一般是同构型的,即系统是多个同类型,至少是功能相同的处理机组成的。

(二)松耦合多处理机1、松耦合多处理机:松散耦合的多处理机中,每台处理机都有一个容量较大的局部存贮器,用于存贮需要经常用到的指令和数据,以减少紧耦合系统中存在的访主存冲突。

不同处理机间或者通过通道互连实现通讯,以共享某些外部设备;或者通过消息传送系统MTS(Message Transfer System)连接来交换信息,这时各台处理机可带有自己的外部设备。

消息传送系统常采用简单的分时总线或环形、星形、树形等拓扑结构。

2、松耦合多处理机比较适合于作粗粒度的并行计算,处理的作业分割成若干相对独立的任务在各个处理机上并行,而任务间的信息流量较小。

如果各处理机任务间交互作用很小时,这种耦合度很松的系统是很有效的,常常可以把它看成是一个分布系统。

(三)多处理机的互连网络并行处理需要采用有效的系统互连以便加快多处理机与共享内存,可和外围设备之间的通信。

为了达到这一目的常采用层次结构总线,交叉开关和多级网络。

1、多处理机总线总线:总线实际上是用于处理器、存储模块和外围设备之间的数据传输的一组导线和插座。

总线仲裁逻辑每次只授予一个总线请求存取,因此也称争用总线。

系统总线一般铺设在底版或中心板上。

每个CPU或每个I/O处理器IOP是一个主设备,生成访问特定从设备(存储器或磁盘驱动器等)的请求。

系统总线包括数据通路、地址线和控制线。

特殊的接口逻辑(IF)和特殊的功能控制器(包括存储器MC和通信控制器CC)使用在不同的插接板上。

2、处理机总线系统的主要问题设计多处理机总线系统的主要问题包括总线仲裁、中断处理、协议转换、快速同步、高速缓存一致性协议、总线桥和层次总线扩展等。

硬连接同步线可以加到多处理机机群总线中,这些硬连接可以将执行软件的同步时间从几千微秒降低到几百纳秒。

层次总线:单个SMP总线在构筑大规模系统时可扩放性有限,层次总线结构在一定程度上可缓和此矛盾。

同一机群的所有处理器均连接到共同的机群总线上。

机群高速缓存(cc)作为第二级高速缓存,可供同机群中的所有处理器共享。

多处理机机群通过连接全局共享存储器模块的机群间总线互相通信。

总线互连的缺点:因为总线由多个处理机分时共享,所以即使总线带宽很高,每个处理器的带宽也只是总带宽的一部分.加之,总线缺乏冗余机制而易于出错,同时总线的可扩展性也有限。

这些缺点主要是受封装技术和价格因素的约束。

总线一般限制在很小的机架内,当层次总线扩展到几个机架时,时钟扭斜和全局定时就成了非常严重的问题。

五、总线结构多处理机最简单互联系统是把所有功能模块(或部件)连接到一条公共通信通路上,即总线结构。

总线是一个无源部件,通信完全由发送和接收部件的总线接口控制。

由于总线是共享资源,所以,必须有总线请求和仲裁的机构,以避免发生总线冲突。

相关主题