科技: 人物 企业 技术 IT业 TMT
科普: 自然 科学 科幻 宇宙 科学家
通信: 历史 技术 手机 词典 3G馆
索引: 分类 推荐 专题 热点 排行榜
互联网: 广告 营销 政务 游戏 google
新媒体: 社交 博客 学者 人物 传播学
新思想: 网站 新书 新知 新词 思想家
图书馆: 文化 商业 管理 经济 期刊
网络文化: 社会 红人 黑客 治理 亚文化
创业百科: VC 词典 指南 案例 创业史
前沿科技: 清洁 绿色 纳米 生物 环保
知识产权: 盗版 共享 学人 法规 著作
用户名: 密码: 注册 忘记密码?
    创建新词条
科技百科
  • 人气指数: 5295 次
  • 编辑次数: 1 次 历史版本
  • 更新时间: 2009-03-11
admin
admin
发短消息
相关词条
SIM卡
SIM卡
WEBSPHERE
WEBSPHERE
FTP
FTP
並行計算
並行計算
国外计算机科学状况
国外计算机科学状况
混龄教育
混龄教育
学科信息门户
学科信息门户
UBUNTU
UBUNTU
恩尼格玛
恩尼格玛
广播工程师
广播工程师
推荐词条
希拉里二度竞选
希拉里二度竞选
《互联网百科系列》
《互联网百科系列》
《黑客百科》
《黑客百科》
《网络舆情百科》
《网络舆情百科》
《网络治理百科》
《网络治理百科》
《硅谷百科》
《硅谷百科》
2017年特斯拉
2017年特斯拉
MIT黑客全纪录
MIT黑客全纪录
桑达尔·皮查伊
桑达尔·皮查伊
阿里双十一成交额
阿里双十一成交额
最新词条

热门标签

微博侠 数字营销2011年度总结 政务微博元年 2011微博十大事件 美国十大创业孵化器 盘点美国导师型创业孵化器 盘点导师型创业孵化器 TechStars 智能电视大战前夜 竞争型国企 公益型国企 2011央视经济年度人物 Rhianna Pratchett 莱恩娜·普莱契 Zynga与Facebook关系 Zynga盈利危机 2010年手机社交游戏行业分析报告 游戏奖励 主流手机游戏公司运营表现 主流手机游戏公司运营对比数据 创建游戏原型 正反馈现象 易用性设计增强游戏体验 易用性设计 《The Sims Social》社交亮 心理生理学与游戏 Kixeye Storm8 Storm8公司 女性玩家营销策略 休闲游戏的创新性 游戏运营的数据分析 社交游戏分析学常见术语 游戏运营数据解析 iPad风行美国校园 iPad终结传统教科书 游戏平衡性 成长类型及情感元素 鸿蒙国际 云骗钱 2011年政务微博报告 《2011年政务微博报告》 方正产业图谱 方正改制考 通信企业属公益型国企 善用玩家作弊行为 手机游戏传播 每用户平均收入 ARPU值 ARPU 游戏授权三面观 游戏设计所运用的化学原理 iOS应用人性化界面设计原则 硬核游戏 硬核社交游戏 生物测量法研究玩家 全球移动用户 用户研究三部曲 Tagged转型故事 Tagged Instagram火爆的3大原因 全球第四大社交网络Badoo Badoo 2011年最迅猛的20大创业公司 病毒式传播功能支持的游戏设计 病毒式传播功能 美国社交游戏虚拟商品收益 Flipboard改变阅读 盘点10大最难iPhone游戏 移动应用设计7大主流趋势 成功的设计文件十个要点 游戏设计文件 应用内置付费功能 内置付费功能 IAP功能 IAP IAP模式 游戏易用性测试 生理心理游戏评估 游戏化游戏 全美社交游戏规模 美国社交游戏市场 全球平板电脑出货量 Facebook虚拟商品收益 Facebook全球广告营收 Facebook广告营收 失败游戏设计的数宗罪名 休闲游戏设计要点 玩游戏可提高认知能力 玩游戏与认知能力 全球游戏广告 独立开发者提高工作效率的100个要点 Facebook亚洲用户 免费游戏的10种创收模式 人类大脑可下载 2012年最值得期待的20位硅谷企业家 做空中概股的幕后黑手 做空中概股幕后黑手 苹果2013营收 Playfish社交游戏架构

对称多处理机 发表评论(0) 编辑词条

对称多处理机(图)Intel Pentium D双核处理器的架构示意图
Intel Pentium D双核处理器的架构示意图
对称多处理机(SymmetricalMulti-Processing)又叫SMP,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。它是相对非对称多处理技术而言的、应用十分广泛的并行技术。在这种架构中,一台电脑不再由单个CPU组成,而同时由多个处理器运行操作系统的单一复本,并共享内存和一台计算机的其他资源。虽然同时使用多个CPU,但是从管理的角度来看,它们的表现就像一台单机一样。系统将任务队列对称地分布于多个CPU之上,从而极大地提高了整个系统的数据处理能力。所有的处理器都可以平等地访问内存、I/O和外部中断。在对称多处理系统中,系统资源被系统中所有CPU共享,工作负载能够均匀地分配到所有可用处理器之上。从而提高整个系统的数据处理能力。

目录

[显示全部]

概述编辑本段回目录

对称多处理机(图)AMD Athlon 64 X2
AMD Athlon 64 X2
平时所说的双CPU系统,实际上是对称多处理机系统中最常见的一种,通常称为2路对称多处理,它在普通的商业、家庭应用之中并没有太多实际用途,但在专业制作,如3DMaxStudioPhotoshop软件应用中获得了非常良好的性能表现,是组建廉价工作站的良好伙伴。随着用户应用水平的提高,只使用单个的处理器确实已经很难满足实际应用的需求,因而各服务器厂商纷纷通过采用对称多处理系统来解决这一矛盾。在中国国内市场上这类机型的处理器一般以4个或8个为主,有少数是16个处理器。但是一般来讲,SMP结构的机器可扩展性较差,很难做到100个以上多处理器,常规的一般是8个到16个,不过这对于多数的用户来说已经够用了。这种机器的好处在于它的使用方式和微机或工作站的区别不大,编程的变化相对来说比较小,原来用微机工作站编写的程序如果要移植到SMP机器上使用,改动起来也相对比较容易。SMP结构的机型可用性比较差。因为4个或8个处理器共享一个操作系统和一个存储器,一旦操作系统出现了问题,整个机器就完全瘫痪掉了。而且由于这个机器的可扩展性较差,不容易保护用户的投资。但是这类机型技术比较成熟,相应的软件也比较多,因此现在中国国内市场上推出的并行机大量都是这一种。PC服务器中最常见的对称多处理系统通常采用2路、4路、6路或8路处理器。目前UNIX服务器可支持最多64个CPU的系统,如Sun公司的产品Enterprise10000。SMP系统中最关键的技术是如何更好地解决多个处理器的相互通讯和协调问题。

系统结构编辑本段回目录

对称多处理机(图)PowerMac G4系统架构
PowerMac G4系统架构
对称多处理机的系统结构,主要指处理器、存储器、输入输出(I/O)设备三者之间的连接,它对我们更好地理解多处理机操作系统是非常必要的。

多处理器与存储器之间的连接

1、多端口存储器方式:这是最简单的连接。被共享的存储器有3块,每块都有4个端口,分别与4个处理器连接。因此,各处理器能并行访问不同的存储块,但对同一块的访问必须是顺序的。各存储块内的硬件逻辑自动控制其访问。优点是连接相当简单。由于存储器的端口不可能太多,这种方式限制了能够连接的处理器个数,适用于处理器数目较少的场合。

2、集中控制开关方式:集中控制开关方式能克服多端口方式的缺点。它的做法是,把各存储块内的硬件控制逻辑换成一个集中式开关,集中式开关给出处理器到存储块的访问路径。这种方式的优点是支持更多的处理器。缺点是开关单元比较复杂,降低了系统的可靠性。若有m个存储块,n个处理器,则连接路径数为m乘n。当处理器要访问某存储块时,经过集中式开关线路时应考虑不能有明显的延时。万一某一路径故障,有可能殃及其他路径。

3、局部存储器方式:多处理机竞争共享存储器时,因相互冲突而延迟,从而使各处理器访问主存的平均时间增加。如果一个存储块上连接的处理器不多,则引起冲突的概率当然就小。但我们又不愿意通过减少处理器数目来缩短访问主存的平均时间。这是一个两难问题。

一种解决办法是,在处理器和开关之间增加高速缓冲存储器(Cache)。把刚访问过的共享存储器的内容保留在Cache中,当处理器再度访问主存时,先查询Cache,如果要访问的数据已在Cache中,则不必访问主存。这样可以减少访问主存的次数但必须配置Cache置换算法并承担置换时间开销。另一种解决办法是,为每个处理器配备一个局部存储器,局部存储器的容量通常比Cache大,造价却比Cache小,所以受到欢迎。局部存储器Mi只属于Pi(i=1.…,n),不能被其他处理器访问。任一处理器都只能访问共享存储器和私有的局部存储器,不能访问其他局部存储器,称为不对称性体系结构。局部存储器也由操作系统管理,使之起到一个高速缓冲存储器的作用。然而,把在一个处理器上运行的进程移到另一个处理器上运行的代价是非常高的。

4、分布式:变集中式开关为分布式开关是处理器与存储器连接的另一种设计思路。右图是分布式多处理器体系结构示意图。每个处理器都与一个局部存储器相连,但局部存储器不具有私有性,它能被各处理器访问。这样,所有处理器共享寻址空间。处理器Pi(i=1,…,n)对Mi的访问不经过开关切换线路,但对Mj(j≠i)的访问要经过开关切换。开关切换是这样实现的:局部开关把请求信号作为消息包packet()发给目的开关,途中各开关起转发作用。当目的开关得到消息后,就把自己的局部存储器中的数据作为一个消息包发回源开关,再转至等待该数据的处理器。

分布式多处理器比集中式开关多处理器有更高的可靠性和可扩充性,但在访问非局部存储器时有一定的延时,这取决于被访问非局部存储器Mj与处理器Pi的距离。在这样的系统中,操作系统的设计一定要考虑尽量减少这种延时等待。一个设计精良的任务分配算法不但能减少Pi对Mj的请求次数,而且能缩短Pi对Mj的距离。我们将在任务分配策略中讨论这个问题。

其中分布式多处理器被看作是松耦合型(looselycoupled),多端口存储器方式、集中控制开关方式和多处理器带局部存储器的多处理器被看作是紧耦合型(tightlycoupled).

对称多处理机(图)松耦合多处理架构
松耦合多处理架构
处理器与输入输出设备之间的连接

1、多端口输入输出设备类似于多端口存储器;设备的每个端口同一个处理器的总线相连接,设备可用此端口进行数据传输和中断处理。

2、由交叉开关连接处理器与输入输出设备,交叉开关的作用类似集中式或分布式开关,但设备开关的硬件逻辑更复杂些。因为一个设备同一个处理器保持联系的时间在一个事务处理过程中(比如读盘、写盘)可能很长,因而用软件来控制开关切换比用硬件实现会更方便。

3、只与一个处理器相连而不能被其他处理器访问的输入输出设备,容易理解,一个处理器只能访问与之相连的设备。如果想访问别的设备,需要软件参与协调,例如,向其他处理器发出一个请求使本处理器能在别的设备上操作。

4、只与一个处理器相连但可被其他处理器访问的输入输出设备;使用分布式开关且用存储器地址而不用输入输出指令来访问输入输出设备时用方式④,因为输入输出操作是对一个存储地址写数据或读数据,所以无需分布式开关做额外工作,处理器就可方便地访问其他设备。尽管处理器能访问任一设备,但从设备发出的数据和中断信号却只能由与之相连接的处理器处理。这种不对称的原因来自两个方面。一方面,设备发出的中断信号必须得到快速响应,这对远程处理器来说是做不到的;另一方面,到非局部存储器的数据传输存在不同的时间延迟,此延迟有可能比设备读或写的时间大。

上述几种方式对操作系统的I输入输出设备控制进程有不同的要求。方式①和②的设备进程要在每个处理器上运行。方式③的设备进程只要在可访问该设备的处理器上运行。方式④的设备进程操作要分成能在所有处理器上运行和在同设备相连的处理器上运行这两种情况考虑

功能的差异编辑本段回目录

对称多处理机(图)中国曙光一号共享存储多处理机系统
中国曙光一号共享存储多处理机系统
对称多处理机操作系统,目前有三种类型:主从式(master-slave)、独立监督式(separatesupervisor)、浮动监督式(floatingsupervisor)。从资源管理观点来看,虽然多处理机操作系统也具有单机操作系统所具有的各种功能,如进程管理线程管理存储管理文件设备管理功能,但在各方面存在不同之处:

1、共享资源

在多处理机环境下,由于多个处理机上运行的进程并行执行,因而可能有若干个进程绝对同时访问某共享资源,这种情况比起单机环境下并发进程交替访问共享资源要难以处理,多处理机操作系统应具有新的进程同步与互斥算法。

2、多处理机调度

对称多处理机调度要考虑到负载平衡才能发挥多处理机体系的最大效能。因此在任务分配时,一方面必须了解每台处理机的能力以便把适合的任务分配给它,另一方面也要确切地了解作业中诸任务之间的关系,即哪些任务必须顺序、哪些任务可以并行执行。

3、存储器访问

在对称多处理机环境下,存储器体系既有局部的又有全局的,其地址变换机构比单机环境复杂。当多个进程竞争访问某存储块时,访问冲突仲裁机构决定哪一个处理机上的进程可立即访问,哪个或哪些处理机上的进程应等待。当共享主存中的数据在多个局部存储器出现时,操作系统应保证这些数据的一致性。

4、提高可靠性

为了提高多处理机系统的可靠性,应使操作系统具有重构能力:当系统中某个处理机或存储块等资源发生故障时,系统自动切除故障资源并换上备份资源,使之能继续工作。如果没有备份资源,则重构系统使之降级运行。如果在故障的处理机上有进程亟待执行,操作系统应能安全地把它迁移到其他处理机上继续运行,处于故障处的其他可利用资源同样也予以安全转移。

系统类型编辑本段回目录

(图)对称多处理机
对称多处理机服务器
对称多处理机操作系统,目前有三种类型:

1、主从式(master-slave)

主从式操作系统由一台主处理机记录、控制其它从处理机的状态,并分配任务给从处理机。例如,Cyber-170就是主从式多处理机操作系统,它驻留在一个外围处理机Po上运行,其余所有处理机包括中心处理机都从属于Po。另一个例子是DECSystem10,有两台处理机,一台为主,另一台为从。操作系统在主处理机上运行,从处理机的请求通过陷入传送给主处理机,然后主处理机回答并执行相应的服务操作。主从式操作系统的监控程序及其提供服务的过程不必迁移,因为只有主处理机利用它们。当不可恢复错误发生时,系统很容易导致崩溃,此时必须重新启动主处理机。由于主处理机的责任重大,当它来不及处理进程请求时,其它从属处理机的利用率就会随之降低。

主从式的特点:

A.操作系统程序在一台处理机上运行。如果从处理机需要主处理机提供服务,则向主处理机发出请求,主处理机接受请求并提供服务。不一定要求把整个管理程序都编写成可重入的程序代码,因为只有一个处理机在使用它,但有些公用例程必须是可重入的才行。
B.由于只有一个处理机访问执行表,所以不存在管理表格存取冲突和访问阻塞问题。
C.当主处理机故障时很容易引起整个系统的崩溃。如果主处理机不是固定设计的,管理员可从其他处理机中选一个作为新主处理机并重新启动系统。
D.任务分配不但容易使部分从处理机闲置而导致系统效率下降。
E.用于工作负载不是太重或由功能相差很大的处理机组成的非对称系统。
F.系统由一个主处理机加上若干从处理机组成,硬件和软件结构相对简单,但灵活行差。

对称多处理机(图)Intel奔腾Ⅱ Xeon双核处理器
Intel奔腾Ⅱ Xeon双核处理器
2、独立监督式(separatesupervisor)

独立监督式与主从式不同,在这种类型中,每一个处理机均有各自的管理程序(核心)。采用独立监督式操作系统的多处理机系统有IBM370/158等。

独立监督式的特点:

A.每个处理机将按自身的需要及分配给它的任务的需要来执行各种管理功能,这就是所谓的独立性。
B.由于有好几个处理机在执行管理程序,因此管理程序的代码必须是可重入的,或者为每个处理机装入专用的管理程序副本。
C.因为每个处理机都有其专用的管理程序,故访问公用表格的冲突较少,阻塞情况自然也就较少,系统的效率就高。但冲突仲裁机构仍然是需要的。
D.每个处理相对独立,因此一台处理机出现故障不会引起整个系统崩溃。但是,要想补救故障造成的损害或重新执行故障机未完成的工作非常困难。
E.每个处理机都有专用的I/O设备和文件等。
F.这类操作系统适合于松耦合多处理机体系,因为每个处理机均有一个局部存储器用来存放管理程序副本,存储冗余太多,利用率不高。
G.独立监督式操作系统要实现处理机负载平衡更困难。

(图)对称多处理机
对称多处理机系统 模型
3、浮动监督式(floatingsupervisor)

每次只有一台处理机作为执行全面管理功能的“主处理机”,但根据需要,“主处理机”是可浮动的,即从一台切换到另一台处理机。这是最复杂、最有效、最灵活的一种多处理机操作系统,常用于对称多处理机系统(即系统中所有处理机的权限是相同的,有公用主存和I/O子系统)。浮动监督式操作系统适用于紧耦合多处理机体系。采用这种操作系统的多处理机系统有IBM3081上运行的MVS,VM以及C·mmp上运行的Hydra,等等。

浮动监督式的特点:

A.每次只有一台处理机作为执行全面管理功能的“主处理机”,但容许数台处理机同时执行同一个管理服务子程序。因此,多数管理程序代码必须是可重入的。
B.根据需要,“主处理机”是可浮动的,即从一台切换到另一台处理机。这样,即使执行管理功能的主处理机故障,系统也能照样运行下去。
C.一些非专门的操作(如I/O中断)可送给那些在特定时段内最不忙的处理机去执行,使系统的负载达到较好的平衡。
D.服务请求冲突可通过优先权办法解决,对共享资源的访问冲突用互斥方法解决。
E.系统内的处理机采用处理机集合概念进行管理,其中每一台处理机都可用于控制任一台I/O设备和访问任一存储块。这种管理方式对处理机是透明的,并且有很高的可靠性和相当大的灵活行。

设计的原则编辑本段回目录

(图)对称多处理机
对称多处理机结构
对称多处理机操作系统的设计与单处理机多道程序设计的不同主要基于两点:

1、系统的体系结构

各处理机是异构的还是同构的,如果各处理机是异构(nonhomogeneity)的而不是同构(homogeneity)的,则各台处理机上的可执行代码格式不一样,浮动管理就困难。解决的办法之一是通过仿真软件来“抹平”异构机之间的硬件差异。在非对称主存系统中,不是所有的处理机都能访问所有的存储器,这给操作系统的主存管理带来复杂性。

2、程序设计环境

(1)同步的重要性
一个并行程序由两个或多个相互作用的进程组成,进程间的同步和通信显得更加重要。如果并行算法不是设计得很有效,则会降低并行系统的性能。同步原语通常由硬件实现,也可由软件实现,但硬件实现可以减少系统花在同步上的开销。

(图)对称多处理机
同步实现模型
(2)同步的实现
多处理机器是系统是共享存储的,因此各处理机上的进程可通过共享存储器进行同步。但是,对于松耦合的多处理机,各处理机有很大的独立性,它们的进程一部分采用集中式,另一部分采用分布式同步机制。集中式系统的同步问题已有介绍。在狭义的多处理机系统中,进程间更多的是同步且其实现相对简单。广义的多处理机系统利用计算机网络与分布式系统实现进程间的通信。在那样的环境下,同步被看作为是低级的通信。

(3)利用中心进程实现同步
中心进程又称协调进程,它是多处理机系统管理程序的一部分。中心进程保存了所有用户的存取权限和冲突图(conflictgraph)等信息。每一个要求访问共享资源的进程先向中心进程发送请求消息,中心进程收到该请求后便去查看冲突图。如果该请求不会引起死锁,便将该请求插入请求队列,否则将请求退回。当轮到该请求使用共享资源时,中心进程便向请求进程发送一回答信息并让请求者进入临界段访问共享资源。在退出临界段时,原请求进程还得向中心进程发送一释放资源的消息,中心进程收到消息后又可向下一个请求进程发送回答消息,允许它进入临界段。由此看来,中心进程的作用是安排访问共享资源的顺序。由于任一进程要访问共享资源需要申请、回答、释放3个消息传递,同步的效率不高。

组建编辑本段回目录

(图)对称多处理机
中断控制器
要组建SMP系统,首先最关键的一点就是需要合适的CPU相配合。平时看到的CPU都是单颗使用,所以看不出来它们有什么区别,但是,实际上,支持SMP功能并不是没有条件的,要实现SMP功能,使用的CPU必须具备以下要求:

1、CPU内部必须内置APIC(AdvancedProgrammableInterruptControllers)单元。Intel多处理规范的核心就是高级可编程中断控制器(AdvancedProgrammableInterruptControllers--APICs)的使用。CPU通过彼此发送中断来完成它们之间的通信。通过给中断附加动作(actions),不同的CPU可以在某种程度上彼此进行控制。每个CPU有自己的APIC(成为那个CPU的本地APIC),并且还有一个I/OAPIC来处理由I/O设备引起的中断,这个I/OAPIC是安装在主板上的,但每个CPU上的APIC则不可或缺,否则将无法处理多CPU之间的中断协调。

(图)对称多处理机
对称频率
2、相同的产品型号,同样类型的CPU核心。例如,虽然Athlon和PentiumIII各自都内置有APIC单元,想要让它们一起建立SMP系统是不可能的,当然,即使是Celeron和PentiumIII,那样的可能性也为0,甚至Coppermine核心的PentiumIII和Tualatin的PentiumIII也不能建立SMP系统--这是因为他们的运行指令不完全相同,APIC中断协调差异也很大。

3、完全相同的运行频率。如果要建立双PentiumIII系统,必须两颗866MHz或者两颗1000MHz处理器,不可以用一颗866MHz,另一颗1000MHz来组建,否则系统将无法正常点亮。

4、尽可能保持相同的产品序列编号。即使是同样核心的相同频率处理器,由于生产批次不同也会造成不可思议的问题。两个生产批次的CPU作为双处理器运行的时候,有可能会发生一颗CPU负担过高,而另一颗负担很少的情况,无法发挥最大性能,更糟糕的是可能导致死机,因此,应该尽可能选择同一批生产的处理器来组建SMP系统。

相关词条编辑本段回目录

参考资料编辑本段回目录

→如果您认为本词条还有待完善,请 编辑词条

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
0

标签: 对称多处理机

收藏到: Favorites  

同义词: 暂无同义词

关于本词条的评论 (共0条)发表评论>>

对词条发表评论

评论长度最大为200个字符。