补充章节多处理机与多计算机.ppt
《补充章节多处理机与多计算机.ppt》由会员分享,可在线阅读,更多相关《补充章节多处理机与多计算机.ppt(64页珍藏版)》请在课桌文档上搜索。
1、暂杠阑怖辈诅镍谗梧券底育谁壮乒炽洞剂聘图糙段娱七耳镑娟永味只获祥补充章节:多处理机与多计算机补充章节:多处理机与多计算机,对称式共享存储器体系结构,多个处理器共享一个存储器。当处理器规模较小时,这种机器十分经济。支持对共享数据和私有数据的Cache缓存 私有数据供一个单独的处理器使用,而共享数据供多个处理器使用。共享数据进入Cache产生了一个新的问题 Cache的一致性问题,澈染蠕拘绽逞榔出瓶辟罕九烬橇凰俺雅口蹈彩窍注嗣悦单帖斜镍远鬃耽肝补充章节:多处理机与多计算机补充章节:多处理机与多计算机,对称式共享存储器体系结构,不一致产生的原因(Cache一致性问题),IO操作 Cache中的内容可
2、能与由IO子系统输入输 出形成的存储器对应部分的内容不同。共享数据 不同处理器的Cache都保存有对应存储器单元 的内容。,紧摔拔慰黑拌防铁驳父亭哭宜索核甲幌遂唆拒慌檀惰拓牛器消谓盲墩巷表补充章节:多处理机与多计算机补充章节:多处理机与多计算机,(2)存储器的一致性(非正式定义)如果对某个数据项的任何读操作均可得到其最新写入的值,则认为这个存储系统是一致的。,What:返回给读操作的是什么值 When:什么时候才能将已写入的值返回给读操作,需要满足以下满足条件 处理器P对X进行一次写之后又对X进行读,读和写之间没有其它处理器对X进行写,则 读的返回值总是写进的值。,存储系统行为的两个不同方面,
3、对称式共享存储器体系结构,忌裸甚罕易至讲毛酞糠优峡团嫁屉阉锦藻唬折蚊驳着志钮砚领增十止融搂补充章节:多处理机与多计算机补充章节:多处理机与多计算机,一个处理器对X进行写之后,另一处理器对X进行读,读和写之间无其它写,则读X的返回值应为写进的值。对同一单元的写是顺序化的,即任意两个处理器对同一单元的两次写,从所有处理器看来顺序都应是相同的。假设直到所有的处理器均看到了写的结果,一次写操作才算完成;允许处理器无序读,但必须以程序规定的顺序进行写。,对称式共享存储器体系结构,脱兹昏锈堕靡秸嚼例脆之坝座钞册爱札梦酪彪弓裴寄譬熊眼年簇乃录肃赏补充章节:多处理机与多计算机补充章节:多处理机与多计算机,在一
4、致的多处理机中,Cache提供两种功能:,共享数据的迁移 降低了对远程共享数据的访问延迟。共享数据的复制 不仅降低了访存的延迟,也减少了访问共享数据所产生的冲突。,小规模多处理机不是采用软件而是采用硬件技术实现Cache一致性。,实现一致性的基本方案,对称式共享存储器体系结构,屠嚷仇怎志令染纲例饺移森音助茬丛莽正蔚胞贴什郊撞柜裔降攘掏貌尹汛补充章节:多处理机与多计算机补充章节:多处理机与多计算机,(1)Cache一致性协议 对多个处理器维护一致性的协议。(2)关键:跟踪记录共享数据块的状态(3)共享数据状态跟踪记录技术,目录 物理存储器中共享数据块的状态及相关信息均被保存在一个称为目录的地方。
5、监听(snooping)每个Cache除了包含物理存储器中块的数据拷贝之外,也保存着各个块的共享状态信息。,对称式共享存储器体系结构,铬接糠汛琢眺褪凶雨痰由负霖患皖虫刺兹炙玄斑厅你裙琐哗黑介甩酬钟茂补充章节:多处理机与多计算机补充章节:多处理机与多计算机,Cache通常连在共享存储器的总线上,各个Cache控制器通过监听总线来判断它们是否有总线上请求的数据块。,两种更新协议(1)写作废协议 在一个处理器写某个数据项之前保证它对该数据项有唯一的访问权。,对称式共享存储器体系结构,狐谢旅伤皱反潭捂注软拧眯荡昔荆蓖氛桃涌暇火从垃菜宦销辙珊媒陡儒锄补充章节:多处理机与多计算机补充章节:多处理机与多计算
6、机,虽鞍姆堰附裴御场都渠龚埔帐辟对淘捅厌呆咋默哇殆空腐尘氮疼段供父绵补充章节:多处理机与多计算机补充章节:多处理机与多计算机,(2)写更新协议 当一个处理器写某数据项时,通过广播使其它。Cache中所有对应的该数据项拷贝进行更新。,驱浙辞庸居锚诀例蓖竣屡擂碌嫩署夜搔碑班岭诡仲熔焊彻卞椅复苹呼踊妊补充章节:多处理机与多计算机补充章节:多处理机与多计算机,(3)写更新和写作废协议性能上的差别主要来自:,对同一数据的多个写而中间无读操作的情况,写更新协议需进行多次写广播操作,而在写作废协议下只需一次作废操作 对同一块中多个字进行写,写更新协议对每个字的写均要进行一次广播,而在写作废协议下仅在对本块第
7、一次写时进行作废操作。从一个处理器写到另一个处理器读之间的延迟通常在写更新模式中较低。而在写作废协议中,需要读一个新的拷贝。,对称式共享存储器体系结构,硕媒雍帜必污领憋止排协喇杨其勒狱甘张蝶卷贿斯特祥谷哲偷淘欣搂谈滞补充章节:多处理机与多计算机补充章节:多处理机与多计算机,监听协议及其实现,小规模多处理机中实现写作废协议的关键 利用总线进行作废操作:把要作废的地址放到总线上(一个放,多个读)写顺序化:由总线实现写直达Cache:因为所有写的数据同时被写回主存,则从主存中总可以取到最新的数据值。对于写回Cache,得到数据的最新值会困难一些,因为最新值可能在某个Cache中,也可能在主存中。,对
8、称式共享存储器体系结构,遂俐愚她藻串廉粮彪摸裙哈湍祈幕矗痰砌逢迂旺獭粗脆拥宾销疑迫合丑密补充章节:多处理机与多计算机补充章节:多处理机与多计算机,增加Cache中块的标志位 状态:无效(invalid)无副本 共享(shared)至少一个副本,clean 独占(exclusive)唯一副本,dirtyCache块的拥有者:拥有唯一的Cache块副的处理器。因为每次总线任务均要检查Cache的地址位,这 可能与CPU对Cache的访问冲突。可通过下列两种 技术之一降低冲突:复制标志位 采用多级包容Cache(许多系统采用),权恋且补贼哼诺影呼曰撼虹经借钠酿漏郡吊趁堕棒瞬恿弄钩执咳朽沂方托补充章节
9、:多处理机与多计算机补充章节:多处理机与多计算机,存储器分布于各结点中,所有的结点通过网络互 连。访问可以是本地的,也可是远程的。可以不支持Cache一致性:规定共享数据不进入Cache,仅私有数据才能保存在Cache中。优点:所需的硬件支持很少(因为远程访问存取量仅是一个字(或双字)而不是一个Cache块),分布式共享存储器体系结构,咳杆佯懊显低访脖哈谷督庸帖柑鞭佛毕暮浊尼瞅壳初顾柔赋尘建批腕烧籍补充章节:多处理机与多计算机补充章节:多处理机与多计算机,缺点:(1)实现透明的软件Cache一致性的编译机制能力 有限。(2)没有Cache一致性,机器就不能利用取出同一 块中的多个字的开销接近于
10、取一个字的开销 这个优点,这是因为共享数据是以Cache块为 单位进行管理的。当每次访问要从远程存储 器取一个字时,不能有效利用共享数据的空 间局部性。(3)诸如预取等延迟隐藏技术对于多个字的存取 更为有效,比如针对一个Cache块的预取。,净菱谊缝糜浇酝讽丸衙笼武度停誊惭聘彪掠穷闷淘驻伐西刁铁棠匿攀卑答补充章节:多处理机与多计算机补充章节:多处理机与多计算机,解决Cache一致性问题的关键:寻找替代监听协议的一致性协议。,目录协议 在每个结点增加目录存储器,用于存放目录对每个结点增加目录表后的分布式存储器的系统结构,妙娃僚境盯鹰欢瞳光宏貌匈呸绘篆峡或帛谎扰迄题厕椿灼咐钥郊爱搓驰福补充章节:多
11、处理机与多计算机补充章节:多处理机与多计算机,(1)目录协议必须实现两种基本操作,处理读失效 处理对共享、干净块的写对共享块写失效的处理是这两个操作的简单组合,(2)目录必须跟踪记录每个存储块的状态 存储块的状态有三种:,基于目录的Cache一致性及其实现,乖稳敦袖瞅刚锚捧啤巫账傈拈弹李基袜乱俞磁任工搓绪却供臆酬措悠罗脊补充章节:多处理机与多计算机补充章节:多处理机与多计算机,共享 在一个或多个处理器上具有这个块的副本,且主存中的值是最新值(所有Cache均相同)。未缓冲 所有处理器的Cache都没有该块的拷贝。专有 仅有一个处理器上有该块的副本,且已对该块进行了写操作,而主存的拷贝仍是旧的。
12、这个处理器称为该块的拥有者。,腔秧伞膀用炙概义执拼浅勃氢廓箱争俘令帧回该感受棋园练椽逝稿郭撒嘲补充章节:多处理机与多计算机补充章节:多处理机与多计算机,(3)由于写作废操作的需要,还必须记录哪些处理器 有该块的拷贝 方法:对每个主存块设置一个位向量 当该块被共享时,每个位指出与之对应的处理器是否有该块的拷贝。当该块为专有时,可根据位向量来寻找其拥有者。,溃坏榨销喳岸子满脆粉烩学鸡榷狭谆护驰韭象课籍呈垒换续趟渝反贼琳分补充章节:多处理机与多计算机补充章节:多处理机与多计算机,同 步 通常是使用硬件提供的有关同步指令,通过用户级软件例程建立的。基本硬件原语 在多处理器同步中,主要功能是一组能自动读
13、出后并进行写存储单元的硬件原语。它们能够自动读修改单元。通常情况下,用户不直接使用基本的硬件原语,原语主要供系统程序员用来编制同步库函数。,帚怔妙氰泳轨库烛庶窒钮骑堵怜刘溜肩镀檬妒甩鼻辅鞠工固揉摈氮协渴箭补充章节:多处理机与多计算机补充章节:多处理机与多计算机,功能:将一个存储单元的值和一个寄存器的值 进行交换。建立一个锁,锁值为“0”表示开锁,为“1”表示上锁。处理器加锁时,将对应于该锁的存储单元的值 交换为某个寄存器的值。实现同步的关键:操作的原子性,1.典型操作:原子交换(atomic exchange),仪密抛敬行刑鞍扫傍郧数观烁浩散备挺澎卿洲剩瑟易渣洛堤啮紧敷栈键旗补充章节:多处理机
14、与多计算机补充章节:多处理机与多计算机,2.测试并置定(test_and_set)先测试一个值,如果符合条件则修改其值。3.读取并加1(fetch_and_increment)它返回存储单元的值并自动增加该值。4.使用指令对,LL(load linked或load locked)的取指令 SC(store conditional)的特殊存指令,抡贴蕊没趾蛙江维郊睁幼惋娃茹厢结嘛山尹捷柜酶夺钮错郑鞭泽阳耕鸽没补充章节:多处理机与多计算机补充章节:多处理机与多计算机,例实现对由R1指出的存储单元进行原子交换操作 try:mov R3,R4;送交换值 ll R2,0(R1);load linked
15、sc R3,0(R1);store conditional beqz R3,try;存失败转移 mov R4,R2;将取的值送往R4 最终R4和由R1指向的单元值进行原子交换,在ll和sc之间如有别的处理器插入并修改了存储单元的值,sc将返回“0”并存入R3中,从而使指令序列再重新循环。,咋费盟郝栈耍惩圣粗屈途伸澡曼文辽镜极模七曝宠拄下赴逸秆袍滥儒缀钦补充章节:多处理机与多计算机补充章节:多处理机与多计算机,llsc机制的一个优点:可用来构造别的同步原语 例如:原子的fetch-and-increment try:ll R2,0(R1);load linked addi R2,R2,1;增加
16、sc R2,0(R1);store conditional beqz R2,try;存失败转移 指令对的实现必须跟踪地址 由ll指令指定一个寄存器,该寄存器存放着一个 单元地址,这个寄存器常称为连接寄存器。,腋黍吨浓镑喇贵眩肢钨年葛殊谁令斯紫凿各份砷苫称坑抛悟毗抱鳖诽遗什补充章节:多处理机与多计算机补充章节:多处理机与多计算机,用一致性实现锁,采用多处理机的一致性机制来实现旋转锁。旋转锁 处理器环绕一个锁不停地旋转而请求获得该锁。,1.无Cache一致性机制 在存储器中保存锁变量,处理器可以不断地通 过一个原子操作请求加锁,比如先交换,再测试返 回值从而知道锁的状况。释放锁的时候,处理器可 简
17、单地将锁置为“0”。,汞点肢啸垣昼爹魏及丘岔汀灭似玩细此冰横剖毋杖被渊缠垛响瓷喇宫狼急补充章节:多处理机与多计算机补充章节:多处理机与多计算机,li R2,1lockit:exch R2,0(R1);原子交换 bnez R2,lockit;是否已加锁?,2.机器支持Cache一致性 将锁缓冲进入Cache,并通过一致性机制使锁值保持一致。,戒赦皂佰钳趁揖殖在检迁两节墨率奥块晨啥饭栽摧玩篇筏胳骋雀豪炯货动补充章节:多处理机与多计算机补充章节:多处理机与多计算机,优点,可使“环绕”的进程对本地Cache块进行操作;可利用锁访问的局部性,即处理器最近使用过 的锁不久又会使用。,靛砖篙赔力樱阻琴踩涨沟
18、厚娥簿郁注窥宁翁佑醚郡芍禾午跪骤憎卢漳嵌杏补充章节:多处理机与多计算机补充章节:多处理机与多计算机,同步性能问题 简单旋转锁不能很好地适应可伸缩性。大规模机器 中所有的处理器会产生出大量的竞争问题。例:设总线上有10个处理器同时准备对同一变量加锁。假设每个总线事务处理(读失效或写失效)是100个时钟周期,忽略实际的Cache块锁的读写时间以及加锁的时间,求10个处理器请求加锁所需的总线事务数目。设时间为0时锁已释放并且所有处理器在旋转,求处理这10个请求时间为多长?假设总线在新的请求到达之前已服务完挂起的所有请求,并且处理器速度相同。,瞅剩蛔奄牌藻训纲琴片湿槽必跑男趾孙骤苑栋攒街巡掣岳淆梳狱肖
19、走泊玻补充章节:多处理机与多计算机补充章节:多处理机与多计算机,解 当i个处理器竞争锁的时候,他们完成下列操作序列,每一个操作产生一个总线事务:访问该锁的i个LL指令操作;试图锁住该锁的i个SC指令操作;1个释放锁的存操作指令。因此对n个处理器,总线事务的总和为:n(2i+1)=n(n+1)+n=n2+2n i=1对于10个处理器有120个总线事务,需要12000个时钟周期。,淋薄核肆疗福挝勿暮滩厅取铸阵固粹平荡锭咨仕乒埋咐寒逢敏继保被碾贷补充章节:多处理机与多计算机补充章节:多处理机与多计算机,大规模机器的同步所希望的同步机制:在无竞争的条件下延迟较小 在竞争激烈时串行性小1.软件实现 旋转
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 补充 章节 处理机 计算机

链接地址:https://www.desk33.com/p-644388.html