文档介绍:计算机系统结构
第一章基本概念第五章标量处理机
第二章指令系统第六章向量处理机
第三章存储系统第九章多处理机
第四章输入输出系统
第九章多处理机
两个或两个以上处理机(包括PU和CU),通过高速互连网络连接起来,在统一的操作系统管理下,实现指令以上级(任务级、作业级)并行。
按照Flynn分类法,多处理机系统属于MIMD计算机。
多处理机结构
两种多处理机结构
根据存储器的组织形式,多处理机系统有2种基本结构,分别是共享存储器多处理机结构和分布式存储器多处理机结构。
共享存储器多处理机的存储器是一个独立的子系统,为所有的处理机共享,任何两台处理机可以通过访问共享的存储器单元实现通信。
分布式存储器多处理机的存储器分布在各处理机中,处理机之间通过点对点的通信实现信息交换。
多处理机系统的特点
多处理机属于多指令流多数据流(MIMD)计算机,下面概括说明多多理机系统的特点:
结构特点:处理单元很多,但只需设置有限和固定的机间互连通路,即可满足一批并行性很高的算法的需要。
在多处理机中,不限于解决数组向量处理问题,并行性存在于指令外部,即表现在多个任务之间,再加上系统通用性的要求,就是程序并行性的识别难度较大。
一个程序当中存在多个并发的程序段,需要专门的指令来表示它们的并发关系以控制它们的并发执行,以便一个任务开始被执行时就能派生出可与它并行执行的另一些任务。这个过程称为并行任务派生。
多处理机采取特殊的同步措施,才能使并发进程之间保持程序所需要的正确顺序。
多处理机执行并发任务,需用处理机的数目没有固定要求,各个处理机进入或退出任务的时刻互不相同,所需共享资源的品种、数量又随时变化。于是,就提出了一个资源分配和进程调度问题。
多处理机性能模型
引起峰值性能下降的原因是:
(1) 因处理机间通信而产生的延迟
(2) 一台处理机与其它处理机同步所需的开销
(3) 当没有足够多任务时,一台或多台处理机处于空闲状态
(4) 由于一台或多台处理机执行无用的工作
(5) 系统控制和操作调度所需开销
研究多处理机的目的:
提前5年得到速度高10倍的机器。或用1/10的价格获得一台高性能的机器。
如果设计得好,在某些适合进行并行处理得应用领域,可以达到:
提前10年得到速度高100倍的机器或用1/100的价格获得一台高性能的机器。
并行性在很大程度上依赖于R/C比值,
其中:R代表程序执行时间,C代表通信开销。
通常:R/C比值小,并行性低。
R/C比值大,并行性高。
如果把作业分解成较大的块,就能得到较大的R/C比值,但是所得到的并行性比最大可能的并行性要小得多。
R/C比值是衡量任务粒度(Granularity)大小的尺度
在粗粒度(Coarsegrain)并行情况下,R/C比值比较大,通信开销小
在细粒度(Finegrain)并行情况下,R/C比值比较小,通信开销大
细粒度并行性需要的处理机多,粗粒度并行性需要的处理机少。
细粒度并行性的基本原理是把一个程序尽可能地分解成能并行执行的小任务。在极端情况下,一个小任务只完成一个操作。
多处理机的Cache一致性
产生Cache一致性问题的原因有以下3个方面:
在多处理机中,若多个Cache中有同一个可写数据块,当任何一个处理机对本地Cache中的这个数据块改写后,都会使本地Cache的这个数据块与远程Cache中的同一个数据块不一致。
一个程序中可能存在多个可并行执行的程序段,当一个程序在一个处理机上运行时,可将派生的并行任务分配到其他处理机上运行,这种进行迁移也会引起不一致。若某进程在处理机Pi上对本地Cache的一个数据块改写后迁移到另一个处理机Pj上,那么,该进程在Pj上访问本地Cache的同一个数据块时,将出现数据块不一致。
I/O传输产生在I/O处理机与共享主存之间,当I/O处理机将一个新的数据块写入主存以更新原来的数据块时,主存中的新数据块与Cache中的原数据块将不一致。
监听协议
当多个处理机和共享存储器采用总线互连时,可以采用总线监听协议解决Cache一致性问题。监听协议通过总线监听机制来监听各处理机对数据块的读/写操作,然后采用有关策略来维护多个Cache以及共享主存的一致性。
监听协议有四种用来保持Cache一致性的方法:写无效(Write-Invalidate)策略和