- 1、本文档共104页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机系统结构 第九章 多处理机 第9章 多处理机 多处理机定义: 两个或两个以上处理机(包括PU和CU),通过高速互连网络连接起来,在统一的操作系统管理下,实现指令以上级(任务级、作业级)并行。 按照Flynn分类法,多处理机系统属于MIMD计算机 研究多处理机的目的:提前10年得到性能高100倍的高性能计算机系统。 9.1 多处理机结构 9.1.1 多处理机分类 9.1.2 松散偶合多处理机 9.1.3 紧密偶合多处理机 9.1.4 多处理机系统的特点 9.1.1 多处理机分类 多处理机系统由多个独立的处理机组成,每个处理机都能够独立执行自己的程序。 按照处理机之间的连接程度:紧密偶合和松散偶合多处理机 按照是否共享主存储器:共享存储器和分布存储器多处理机 按照处理机类型:同构型和异构型多处理机 按照处理机的个数:大规模并行处理机MPP和对称多处理机SMP 9.1.2 松散偶合多处理机 处理机之间的连接频带比较低 处理机之间互为外围设备进行连接。 通过并行口或串行口把多台计算机连接起来。 多台计算机之间的连接需要有多个接口。 通过Ethernet网络接口连接多台计算机。 速度达10Mb、100Mb、1Gb,Mynet已经达到1.28Gb和2.56Gb。 当通信速度要求更高时,可以通过一个通道和仲裁开关CAS (Channel and Arbiter Switch)直接载存储器总线之间建立连接。 9.1.3 紧密偶合多处理机 处理机之间共享主存储器,通过高速总线或高速开关连接。 每个CPU能够访问任意一个存储器模块 通过映象部件把全局逻辑地址变换成局部物理地址 通过互连网络寻找合适的路径,并分解访问存储器的冲突 多个输入输出处理机IOP也连接在互连网络上,输入输出设备与CPU共享主存储器。 处理机个数不能太多,一般几个到几十个。 紧密偶合方式要求有很高通信频带。 可以采用如下措施: (1)采用高速互连网络 (2)增加存储模块个数,一般n?m,取1~2倍之间。 (3)每个存储模块再分成多个小模块,并采用流水线方式工作。 (4)每个CPU都有自己的局部存储器LM。 (5)每个CPU设置一个Cache。 9.1.4 多处理机系统的特点 1. 结构灵活 并行处理机:专用,PE数多,固定有限通信 多处理机: 通用,PE数少,高速灵活通信 2. 程序并行性 并行处理机的并行性存在于指令内部,识别比较容易。多处理机的并行性存在于指令外部,在多个任务之间,识别难度较大。 一个简单的例子: Y = A+B*C*D/E+F,用两个处理机计算: CPU1:B*C, A+F, A+B*C*D/E+F CPU2:D/E, B*C*D/E, 3. 并行任务派生 并行处理机把同种操作集中,由指令直接启动各PE同时工作。 多处理机用专门的指令来表示并发关系,一个任务执行时能够派生出与它并行的另一些任务 如果没有空闲处理机,任务进入排队器等待 4. 进程同步 并行处理机仅一个CU,自然是同步的。 多处理机中,各处理机执行不同的指令,工作进度不会也不必保持相同。先做完的要停下等待。有数据相关和控制相关也要停下等待。 要采取同步措施来保持程序要求的正确顺序 5. 资源分配和进程调度 并行处理机的PE是固定的,用屏蔽来改变实际参加操作的PE数目。 多处理机执行并发任务,需用处理机的数目不固定,各处理机进出任务的时刻不相同,所需共享资源的品种、数量随时变化。 资源分配和进程调度问题,对整个系统的效率有很大的影响。 9.2 多处理机性能模型 引起峰值性能下降的原因: (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小,通信开销大 细粒度并行性是程序尽可能地分解成小任务,在极端情况下,
文档评论(0)