ImageVerifierCode 换一换
格式:PPT , 页数:59 ,大小:1.02MB ,
资源ID:10358397      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/10358397.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(第6章互斥问题及选举算法.ppt)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

第6章互斥问题及选举算法.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Lamport,时钟练习,假设系统中只存在消息发送和接收事件,如图所示,请给出事件,a-g,的逻辑时钟。,A,B,C,逻辑时钟,0,a3,b4,c7,d5,e7,f5,g9,a,b,c,d,e,f,g,的时间分别为,3,4,7,5,7,5,9,不同进程产生的消息可能具有相同数值的,Lamport,时间戳。,分布式系统中的互斥,本章主要内容,分布式系统互斥目标,分布式系统互斥基本类型,分布式系统互斥算法类型,分布式系统互斥算法的实现,临界区的调度原则,临界资源:一次只允许一个进程访问的共享资源。,临界区:每个

2、进程中访问临界资源的一段程序代码。,进程进入临界区的调度原则:,如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。,任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。,进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。,互斥算法的目标,互斥的主要目标是保证在一个时刻只能有一个进程访问临界区。,在非基于令牌的算法中,所有进程相互通信来决定哪个进程可以执行临界区。,在基于令牌的算法中引入了令牌的概念。令牌代表了一个控制点,它在所有的进程间传递。一个进程拥有令牌时就可以进入临界区。,分布式系统中的互斥算法,在

3、分布式系统中,经常出现多个进程请求访问同一个临界资源的问题,为了协调访问,保证访问的正确性(无死锁,无饥饿现象),需要给出一种有效的互斥算法。,互斥是分布式系统设计的关键问题。,为了保证数据一致性、逻辑一致性及时序一致性,分布式互斥算法必须具有公平、健壮和易于实现的特点。,互斥算法的控制机制,互斥算法的分类,基于令牌的算法:通过令牌拥有权来控制对共享资源的访问。,非基于令牌的算法:通过进程之间的消息交换来协商对共享资源的访问。,互斥算法的适应性,静态互斥算法:算法的行为独立于系统的状态,动态互斥算法:算法的行为依赖于系统的状态,互斥算法应满足的条件,无死锁:当资源可用时进程不应该永远等待,无饥

4、饿现象:每个对资源的访问请求最终都应能得到满足,公平性:进程对资源访问权的获得应是相对公平的。,衡量互斥算法性能的参数,每个请求的,消息数,同步延迟,:一个进程离开临界区到下一个进程进入该临界区的时间间隔,对共享资源的有效访问间隔。,反应时间,:进程发出访问请求到执行完访问操作的时间间隔,主要依赖于系统的负载和调度的合理性。,Lamport,互斥算法,为了请求资源,进程,P,i,发送带时标的消息,r,给系统中的所有进程,包括它自己;,任意进程,P,j,收到请求资源的消息时,将该消息按时标顺序放在自己的局部请求队列中并发回一个带时戳的应答;,进程,P,i,获得资源访问权的条件是,它已收到从其它所

5、有进程发来的应答,它的请求,r,在它的请求队列的顶部,它从所有其它进程处收到的消息的时标均比,r,的时戳大;,为了释放资源,进程,P,i,发送一个带时戳的消息给所有的进程,包括它自己;,任意进程,P,j,收到来自,P,i,的资源释放消息时,要从自己的局部请求队列中清除所有来自,P,i,的请求。,一个例子,改进的,Lamport,互斥算法,(,1,)当进程,P,i,需要占用公区时,向所有进程发送请求,对于,K-,互斥问题,请求消息包括公区号、进程号和时间戳。,接收进程,P,j,收到请求消息后,执行如下操作:,如果,P,j,没有占用该公区也没有申请使用它,则向请求进程发送一个确认消息。,如果,P,

6、j,正在使用该公区,则不发送确认消息,暂存请求消息。,如果,P,j,正在申请使用该公区,则比较请求消息时间戳与本身请求时间戳的大小,时间戳小者优先。若,P,i,的时间戳小,则,P,j,发送一个确认消息,若,P,j,的时间戳小,则,P,i,不发送确认消息。(,2,)当进程,P,i,收到所有其他进程发来的响应时,便可访问该资源。(,3,)当进程释放该资源后,向所有被暂存的请求发送一个确认消息并删除暂存队列。,Ricart,和,Agrawala,互斥算法,Ricart,和,Agrawala,互斥算法,要求分布式系统的所有事件是全序的,进程按请求的顺序获得对公区的访问。,进程若未收到所有的应答,就表明

7、有优先级更高的请求存在。,交换的消息数量降至,2(n-1),个,t,11,t,12,Ricart,和,Agrawala,互斥算法的特点,能够实现诸进程对共享资源的互斥访问。,能够保证不发生死锁,因为在进程,-,资源图中,不会出现环路。,不会出现饥饿现象,因为对共享资源的访问是按照邮戳时间排序的,即按照,FCFS,原则服务的。,每次对共享资源访问时,只要求发,2(N-1),个消息。,Ricart,和,Agrawala,算法的缺陷,由于不应答被认为是资源被占用,所以如果有某个节点故障,会导致该算法的异常终止。,各进程对资源的使用情况缺乏了解。,Maekawa,算法,基本思想,将进程分成多个请求子集

8、要求这些集合两两相交。,进程,P,i,只要得到所属集合中所有进程的应答后可访问共享资源。,Maekawa,算法,将,n,个进程分成多个子集,子集长度,k,与进程个数的关系为,n=k(k-1)+1,进程,P,i,在请求访问资源时,向自己的请求子集,R,i,发出请求消息,R,i,中的进程,P,j,在收到请求后,执行如下操作:,如果,P,j,记录的资源状态为可用,向,P,i,返回一个应答,如果,P,j,记录的资源状态为占有,则将这个请求放入自己的请求队列,(,时标取请求到达的时间,),。,P,i,只有在得到,R,i,中所有进程的应答后才能访问资源,P,i,在访问结束后要向,R,i,中的所有进程发送

9、释放消息。,R,i,中的进程在收到释放消息后,如果自己的请求队列为空,则将资源状态改为可用,否则从队列中选择一个请求发送应答。,Maekawa,算法的实现,Maekawa,算法缺陷,容易导致死锁,:,假设,P1,P6,P7,同时申请临界区,ACK,P1,P7,P2,P6,P3,P4,ACK,ACK,REQ,REQ,REQ,作业,13,个进程共享一个资源,用,Maekawa,算法来支持互斥,请划分进程请求子集,基于令牌的互斥算法,在基于令牌的互斥算法中,互斥是通过在进程之间传递一个特殊的消息来实现的。这个消息即是令牌。,令牌代表了一个控制点,它在所有的进程间传递。,一个进程当且仅当拥有令牌时就可

10、以进入临界区。,当令牌被传递到某一个进程时,如果这个进程不需要访问临界区,则把令牌传递给下一个进程,否则在访问完临界区才将令牌传递到下一个进程。,基于令牌的互斥算法,R i c a r t,和,A g r a w a l a,提出了进一步改进:进入临界区的进程保留令牌。,初始时,令牌被赋予任意一个进程,Pi,。,进程,Pj,通过向其他进程广播一个带时戳的消息来请求令牌。,如果当前拥有令牌的进程,Pi,不再需要使用临界区,它就按照,i,1,i,2,n,1,2,i,1,的顺序搜索其他进程,找出第一个进程,Pj,,满足条件:,Pj,最后一次请求令牌的时戳大于在令牌中记录的,Pj,最后一次拥有令牌的时

11、戳。,当满足以上条件时,,Pi,把令牌传递给,Pj,。,Ricart-Agrawala,令牌互斥算法,Ricart,和,Agrawala,的第二个算法,算法描述,P(i,):=*,请求资源,消费,释放资源,处理,-,请求,-,消息,其他,Ricart,和,Agrawala,的第二个算法,需要的变量,Clock:0,1,(初始化为,0,),token_present:Boolean,(,除了一个进程,对其他进程均为,F),token_held:Boolean,(,令牌为当前进程拥有,初始为,F),token:array(1.n)of clock(,最后用完时间,),request:array(1

12、n)of clock(,最后申请时间,),每个进程有一个局部,clock,token_present,和,token_held,Ricart,和,Agrawala,的第二个算法,P,i,中的函数定义:,其他,:=,所有其他不请求进入临界区的动作,消费,:=,进入临界区后消费资源,请求资源,:=,token_present,=,Tsend(request_signal,clock,i,)to all;,receive(access_signal,token,);,token_present,:=T;,token_held,:=T,释放资源,:=,token(i,):=clock;,token_

13、held,:=F;,min j in the order i+1,n,1,2,i-2,i-1(,request(j,),token(j,),token_present,:=F;,send(access_signal,token,)to,P,j,Ricart,和,Agrawala,的第二个算法,处理,-,请求,-,消息,:=,receive(request_ signal,k,j),request(j,):=,max(request(j),k,);,token_presenttoken_held,释放资源,存在问题,当请求进程没有持有令牌时,以上算法需要,n,个消息(,n,1,个用于广播请求,,

14、1,个用于传送令牌)。,当请求进程持有令牌时,以上算法需要,0,个消息。,存在问题:,请求资源可能在,token_present,:=T,之后而在,token _held:,T,之前被处理,-,请求,-,消息所中断。这种情况下,被中断的进程将不得不释放刚刚收到的令牌。,解决问题的方法:,让这两个语句合并为一个原子语句,也就是说,这两个语句作为一个语句来对待。,把,token_held,:=T,放在,token_present,:=T,之前。,基于令牌环的简单算法,如果进程,Pi,(i,=1n),连接成一个环,该令牌绕环传递。,在简单令牌环算法中,进程有序构成一个逻辑环,令牌有序绕环前进,使得每

15、个进程都能拥有令牌。,基于令牌环的简单算法,图,2,基于令牌环的算法,Pi(1.n):,receive token from,P(i,1)mod n,);,如果需要消费资源,;,send token to,P(i,1)mod n,),分布式,-,互斥,:,|,P(i,:,1.n),基于令牌环的简单算法,适合高负荷的环境,低负荷环境造成令牌的低效移动,浪费系统资源。,令牌在移动过程中可能会丢失。,基于令牌环的容错算法,(,双令牌互斥算法,),动态单一控制点算法(,dynamic single,contrl,point algorithm,)有可能丢失控制点,(,令牌,),。,容错算法使用两个令牌

16、A,和,B,),其中一个令牌负责检测另一个令牌可能的丢失。其中的一个令牌用来控制访问共享资源。,两个令牌按照相反方向沿着环访问进程。,在该算法中,如果某一个进程被同一个令牌连续两次访问,则令牌的丢失被检测到。,算法基本思想,双令牌互斥算法使用两个令牌,(A,B),,每个令牌各自带有一个变量,(NA,NB),。,NA,:保存连续访问,Mi,值为,1,的进程的个数,NB,:保存连续访问,Mi,值为,-1,的进程的个数,Mi,:指定某个进程是否为,A,令牌或,B,令牌访问,如果为正值,则被,A,令牌访问,如果为负值,则被,B,令牌访问。访问次数由具体的数值决定。,假设环中有,n,个进程,(P1,

17、到,Pn,),,每个进程带有一个变量,Mi(1in),。,当两个令牌相遇时,更新,NA,NB,。,基本步骤:,(1),算法开始时:,NA:=1,NB:=-1;Mi=0(1in),双令牌算法示意图,P1,P6,P3,P4,P5,P2,A,令牌,B,令牌,双令牌互斥算法,算法基本思想,(2),当进程,Pi,接收到令牌,A,时,If Mi=NA,Then,令牌,B,丢失:令牌,A,在没有改变,NA,的情况下绕令牌环网转了一周,也同时表示在令牌,B,这段时间内没有访问过,Pi,重构令牌,B,;,Else,令牌,B,无丢失,Mi=NA;,算法基本思想,(3),当两个令牌相遇时:,NA:=NA+1;NB:

18、NB-1,(4),当进程,Pi,重构令牌,B,时:,NA:=NA+1;NB:=-NA;,(,这个时候进程,Pi,持有两个令牌,),双令牌互斥算法性能分析,该算法同简单令牌环算法一样,可以避免死锁和无饥饿现象。,基于该算法可以实现,K,令牌互斥算法。,如果某一进程连续被同一个令牌访问,则可以判断其中一个令牌丢失,执行重构令牌的操作。,双令牌互斥算法的,DCDL,描述,图,3,基于令牌环的容错算法,基于令牌的树结构的互斥算法,在基于树的算法中,进程被排为一棵有向树,根节点持有令牌。,对令牌的请求沿着从请求者到根节点的路径向上传递。,令牌从根节点传向请求者并经过从根节点到请求者的路径上的边。,与此同时,沿该路径的边的方向被反过来,于是请求者成了新的根节点。,图,4a,表示一个从叶节点到根节点的请求。图,4b,表示根节点把令牌传给叶节点(新的根节点)后的相应结果。,新树中的每个节点仍然可以沿着一条有向路径把它的请求发给持有令牌的节点。,图,4,基于树的互斥算法,选举算法,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服