多处理机
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机与通信学院计算机系统结构论文
多处理机
作者:郭润牛
学号: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应等于或略大于处理机