自考-计算机系统设计-7-多处理机
本章重点:多处理机的特点,程序并行性,并行任务的派生与汇合。
本章难点:并行算法的研究,程序中并行任务的派生和汇合。
第一节多处理机的概念、问题和硬件结构
一、多处理机的基本概念和要解决的技术问题
1.多处理机的基本概念
多处理机是指两台以上的处理机,共享I/O系统,机间经共享主存或高速通信网络通信,在统一操作系统控制下,协同求解大而复杂的问题的计算机系统。
2.多处理机的目标
对多个作业、多个任务并行执行来提高解题速度,从而提高整体性能。
使用冗余的多个处理机通过重新组织来提高系统的可靠性、适应性和可用性。
3.多处理机的特点
- 结构灵活性;
- 进程并行性;
- 并行任务派生;
- 进程同步;
- 资源分配和任务调度;
4.需要解决的主要问题
- - 硬件结构上如何处理好处理机、存贮器模块及I/O子系统之间的互连;
- - 如何最大限度地开发系统的并行性,以实现多处理机各级的全面并行;
- - 如何选择分割任务和子任务的大小,即任务的粒度大小,使并行度最高,而辅助开销小;
- - 如何协调好多处理机中各并行执行的任务和进程间的同步问题;
- - 如何将各个任务分配到一个或多个处理机上,解决好处理机调度、任务调度和资源分配问题,防止死锁;
- - 一旦一个处理机发生故障,如何对系统进行重新组织而不使其瘫痪。
Hadoop-软件解决所有问题(问题是常态,可以低成本但多个机器进行)
技术问题:多处理机结构、机间互连、并行算法、并行语言、编译支持、操作系统支持。
二、多处理机的硬件结构
1、紧耦合和松耦合
(1)紧耦合多处理机
紧耦合多处理机是通过共享主存来实现处理机间通信的,其通信速率受限于主存的频宽。但是,由于各处理机与主存经互连网络连接,系统中处理机数就受限于互连网络带宽及多台处理机同时访问主存发生冲突的概率。
图7-1紧耦合多处理机的结构
(2)松耦合多处理机
松耦合多处理机中,每台处理机都有一个容量较大的局部存储器,用于存储经常用的指令和数据,以减少紧耦合系统中存在的访主存冲突。不同处理机间或者通过通道互连实现通信,以共享某些外围设备;或者通过消息传送系统来交换信息。
图7-2通过消息传送系统连接的松耦合多处理机结构
3、机间互连形式
- (1)总线形式
- (2)环行互连
- (3)交叉开关形式
- (4)多端口存储器形式
- (5)蠕虫穿洞寻径网络
- (6)开关枢纽结构形式
4、存储器的构成
(1)低址交叉
图7-3m个模块的低位交叉编址
(2)高址交叉
图7-4m个模块的高位交叉编址
第二节紧耦合多处理机多Cache的一致性
一、多Cache的一致性问题的产生
在多处理机中,由于每个处理机都有自己的Cache,当主存中同一个信息块在多个Cache中都有时,会出现多个Cache之间的相应信息块的内容不一致问题。
二、多Cache的一致性问题的解决方法:
为解决多个Cache之间的不一致性。主要有三类做法。一类是解决进程迁移引起的多Cache不一致性二类是以硬件为基础的做法;另一类是以软件为基础的做法。
- 限制功能:禁止进程迁移、写通过;
- 硬件方法:监听流:写更新、写作废:当一个处理器对某数据项进行写入时,通过广播使其他副本进行更新。;目录法:全映像目录表法、有限目录表法(需要广播);
- 软件方法
(1)以硬件为基础实现Cache一致性的办法有多个。最普遍采用的办法叫监视Cache协议(SnoopyProtocal)法,各个处理机中的Cache控制器随时都在监视着其他Cache的行动。对于采用总线互连共享主存的多处理机,可利用总线的播送来实现。
(2)以软件为基础解决Cache一致性的作法,主要优点是可以减少硬件的复杂性,降低对互连网络通信量的要求,因而性能价格比可以较高,比较适用于处理机数多的多处理机。
第三节多处理机的并行性和性能
一、并行算法
1、并行算法的定义和分类
并行算法是指可同时执行的多个进程的集合,各进程可相互作用、协调和并发操作。
2、并行算法的分类
(1)按运算对象:数值型和非数值型;
(2)按并行进程的操作顺序:同步、异步和独立型;
(3)按处理计算机任务大小:细粒度、中粒度和粗粒度;
3、多处理机并行算法的研究思路
- (1)研究并行算法的一种思路是将大的程序分解成由足够多的并行处理的过程。
- (2)每个过程被看成是一个结点,将过程之间的关联关系用结点组成的树来描述。这样,程序内各过程的关系就可以被当成是一种算术表达式中各项之间的运算,表达式中的每一项都可看成是一个程序段的运行结果。
- (3)研究程序段之间的并行问题就可设想成是对算术表达式如何并行运算的问难。
例如,E1=a+bx+cx2+dx3利用霍纳(Horner)法可得到E1=a+x(b+x(c+x(d)))
图7-5不同算法影响树高的例子
首先从算术表达式的最直接形式出发,利用交换律把相同的运算集中在一起。再利用结合律把参加这些运算的操作数(称原子)配对,尽可能并行运算,从而组成树高最小的子树。最后,再把这些子树结合起来。
例如,给定表达式E2=a+b(c+def+g)+h需7级运算。利用交换律和结合律改写为
E2=(a+h)+b((c+g)+def)
图7-6利用交换律和结合律降低树高
利用分配律进一步降低树高,在恰当平衡各子树的级数的情况下,往往能收到较好的效果。例如上式,计算(c+g)的子树时只用一级,而计算def的子树要用2级,相加乘b需再增加2级。如果把b写进括号内,则计算bdef仍用2级已够,却省去了后来的一次乘b,使总级数由5减为4。因此,将上式改写成
E2=(a+h)+(bc+bg)+bdef
图7-7利用交换律、结合律和分配律降低树高
二、程序并行性的分析
(1)数据相关:如果Pi的左部变量在Pj的右部变量集内,且Pj必须取出Pi运算的结果来作为操作数,就称Pj“数据相关”于Pi。
PiA=B+D
PjC=A*E
(2)数据反相关
如果Pj的左部变量在Pi的右部变量集内,且当Pi未取用其变量的值之前,是不允许被Pj所改变的,就称Pi“数据反相关”于Pj。例如:
PiC=A+E
PjA=B+D
(3)数据输出相关
如果Pi的左部变量也是Pj的左部变量,且Pj存入其算得的值必须在Pi存入之后,则称Pj“数据输出相关”于Pi。例如:
PiA=B+D
PjA=C+E
- 并行语言与并行编译
第四节多处理机的操作系统
多处理机操作系统的类型:主从型、各自独立型及浮动型
多处理机操作系统的难度
- 处理机的分配和进程调度;
- 进程间的同步;
- 进程间的通信;
- 存储系统的管理;
- 文件系统的管理;
- 某处理机或设备故障时系统的重组;
一、主从型操作系统
主从型管理程序只在一个指定的处理机(主处理机)上运行。该主处理机可以是专门的执行管理功能的控制处理机,也可以是与其他从处理机相同的通用机,除执行管理功能外,也能作其他方面的应用。由于主处理机是负责管理系统中所有其他处理机(从处理机)的状态及其工作的分配,只把从处理机看成是一个可调度的资源,实现对整个系统的集中控制。
二、各自独立型操作系统
与主从型不同,各自独立型将控制功能分散给多台处理机,共同完成对整个系统的控制工作。每台处理机都有一个独立的管理程序(操作系统的内核)在运行,即每台处理机都有一个内核的副本,按自身的需要及分配给它的程序需要来执行各种管理功能。由于多台处理机执行管理程序,要求管理程序必须是可再入的,或对每台处理机提供专用的管理程序副本。
三、浮动型型操作系统
浮动型操作系统是界于主从型和各自独立型之间的一种折衷方式,其管理程序可以在处理机之间浮动。在一段较长的时间里指定某一台处理机为控制处理机,但是具体指定哪一台处理机以及担任多长时间控制都是不固定的。主控制程序可以从一台处理机转移到另一台处理机,其他处理机中可以同时有多台处理机执行同一个管理服务子程序。
第五节多处理机的发展
一、多处理机的发展
多处理机发展的方向:
单地址空间共享存储区(多处理机)、多地址空间非共享存储器(NORMA)
- (1)分布式共享存储器处理机——共享虚拟存储器、物理上分散、逻辑上统一编址、统一虚拟地址空间、微处理器:16-256;
- (2)对称多处理机——对称式共享存储、任意存储器可以访问任意位置;
- (3)多向量多处理机——多台处理机、多个向量流水部件和标量部件、共享主存、松耦合结构;
- (4)并行向量处理机——若干数目专用向量处理机、共享存储、不用Cache;
- (5)大规模并行处理机——MPP物理、逻辑分布内存、无限扩展、高通量带宽和低延迟;
- (6)机群系统——每个节点都是完整计算机、高性能网络相互连接、松耦合连接、每个节点完整操作系统。
- 机群系统:1)系统有高的性能价格比2)系统的开发周期短。3)系统的可扩展性好。4)系统的资源利用率高。5)用户投资风险小。6)用户编程方便。
自考-计算机系统设计-7-多处理机相关推荐
- 在配有通道的计算机系统中,用户程序需要输出时,引起的中断是,自考计算机系统结构试题_全国2009年7月自考试卷...
全国2009年7月自考计算机系统结构试题 课程代码:02325 一.单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号 ...
- 计算机专业自考参考文献,自考计算机专著类参考文献 自考计算机核心期刊参考文献有哪些...
[100个]关于自考计算机专著类参考文献汇总,作为大学生的毕业生应该明白了自考计算机核心期刊参考文献有哪些,收集好参考文献后的自考计算机论文写作起来会更轻松! 一.自考计算机论文参考文献范文 [1]构 ...
- 《逻辑与计算机设计基础(原书第5版)》——1.2 计算机系统设计的抽象层次...
1.2 计算机系统设计的抽象层次 正如莫格里奇(Moggridge是IDEO公司的共同创办人,他设计了世界上第一台笔记本电脑-译者注)所说的那样,设计就是一个理解问题的所有相关限制,并找到能平衡这些限 ...
- 新疆自考大专计算机应用专业,新疆大学2017年新疆自考计算机信息管理(专科)考试计划...
2017年新疆自考计算机信息管理(专科)考试计划 专业代码:A082207 文别:汉文 主考院校:新疆大学 说明: 1.本专业计划共设置毕业课程15门(含课程实践性环节考核). 2.从2007年起,& ...
- 自考教育学计算机实践考试,中山大学自考计算机实践考试的流程是什么?
中山大学自考计算机实践考试的流程是什么?关于这个问题中国教育在线自学平台小编就简单为大家说一下. 实践环节考核的内容一般有:实验.实习.课程设计.毕业论文(设计)和其他专门技能(如外语听说.医学类临床 ...
- 【计算机系统设计】实践笔记(2)数据通路构建:第一类R型指令分析(2)
待办事项 时钟频率高,取指周期长,远大于执行周期,如何处理? 不可综合逻辑的处理 接上一篇 [计算机系统设计]实践笔记(2)数据通路构建:第一类R型指令分析(1) 8.2 ALU运算器 `timesc ...
- 【计算机系统设计】实践笔记(2)数据通路构建:第一类R型指令分析(1)
0 回顾 上一次实践笔记(0)我们实现了一个最简单的,能够每个上升沿+4的PC. 我们最需要关注的就是器件功能的独立性,避免内外功能混杂,同时一定要注意脑中有电路(RTL级描述的抽象电路而不是实际的门 ...
- 计算机应用与基础实践怎么考,自考计算机基础应用科目笔试和实践性考试怎么考...
自考计算机基础应用科目笔试和实践性考试怎么考? 报考自考的考生有些专业的考生会在自己的课程科目中发现计算机基础应用不仅有理论知识考试还有实践性考试,那么自考计算机基础应用科目的笔试和实践性考试怎么考? ...
- 自考计算机系统结构知识点,2019自考计算机系统结构复习精讲资料一
2019年4月自考报名已经开始,同学们可以开始准备2019年4月自考复习,下面是2019自考计算机系统结构复习精讲资料一,了解更多自考历年真题请锁定自学考试网,更有海量自考题库,精品复习资料等你来下载 ...
最新文章
- RDKit:运用RDKit计算USRCAT
- Spring内核研究-通过工厂注入
- 【codeforces】【比赛题解】#940 CF Round #466 (Div. 2)
- 零基础带你飞web前端教程带你探究web前端趋势
- 张俊红22岁年度总结
- Linux(CentOS 7.x) 下如何设置 nginx 开机启动?
- Linux 链接文件讲解
- oracle 作业已存在,ORA-31634: 作业已存在
- 【转载保存】java静态方法继承与保存的问题
- ImageMagick 拆分透明PNG 合并JPG和Alpha Mask
- 能过ChilkatDotNet4.dll组件,开发SFTP,上传下载功能。
- Eclipse里编辑代码,进度条出现“Remote System Explorer Operation”解决方法
- 3.代码托管仓库 - GitHub
- 关于联想Y400/Y500刷BIOS解锁网卡、单双650M、单双750M超频
- resin 配置java_resin安装与配置
- c语言 电阻器的分类,电阻器的详细介绍与分类以及其应用
- python 01列表异或_【快速跟水】图像隐写的python实现
- java聊天系统异常问题_聊天室bug问题
- 宋鸿兵 《货币战争》风暴制造者
- 三相电开水器的工作原理及接法