- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章互斥问题和选举算法第章互斥问题和选举算法第6章互斥问题和选举算法第6章互斥问题和选举算法
Lamport时钟练习 假设系统中只存在消息发送和接收事件,如图所示,请给出事件a-g的逻辑时钟。 a,b,c,d,e,f,g的时间分别为3,4,7,5,7,5,9 不同进程产生的消息可能具有相同数值的Lamport时间戳。 分布式系统中的互斥 本章主要内容 分布式系统互斥目标 分布式系统互斥基本类型 分布式系统互斥算法类型 分布式系统互斥算法的实现 临界区的调度原则 临界资源:一次只允许一个进程访问的共享资源。 临界区:每个进程中访问临界资源的一段程序代码。 进程进入临界区的调度原则: ①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。 ②任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。 ③进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。 互斥算法的目标 互斥的主要目标是保证在一个时刻只能有一个进程访问临界区。 在非基于令牌的算法中,所有进程相互通信来决定哪个进程可以执行临界区。 在基于令牌的算法中引入了令牌的概念。令牌代表了一个控制点,它在所有的进程间传递。一个进程拥有令牌时就可以进入临界区。 分布式系统中的互斥算法 在分布式系统中,经常出现多个进程请求访问同一个临界资源的问题,为了协调访问,保证访问的正确性(无死锁,无饥饿现象),需要给出一种有效的互斥算法。 互斥是分布式系统设计的关键问题。 为了保证数据一致性、逻辑一致性及时序一致性,分布式互斥算法必须具有公平、健壮和易于实现的特点。 互斥算法的控制机制 互斥算法的分类 基于令牌的算法:通过令牌拥有权来控制对共享资源的访问。 非基于令牌的算法:通过进程之间的消息交换来协商对共享资源的访问。 互斥算法的适应性 静态互斥算法:算法的行为独立于系统的状态 动态互斥算法:算法的行为依赖于系统的状态 互斥算法应满足的条件 无死锁:当资源可用时进程不应该永远等待 无饥饿现象:每个对资源的访问请求最终都应能得到满足 公平性:进程对资源访问权的获得应是相对公平的。 衡量互斥算法性能的参数 每个请求的消息数 同步延迟:一个进程离开临界区到下一个进程进入该临界区的时间间隔,对共享资源的有效访问间隔。 反应时间:进程发出访问请求到执行完访问操作的时间间隔,主要依赖于系统的负载和调度的合理性。 Lamport互斥算法 ? 为了请求资源,进程Pi发送带时标的消息r给系统中的所有进程,包括它自己; ? 任意进程Pj收到请求资源的消息时,将该消息按时标顺序放在自己的局部请求队列中并发回一个带时戳的应答; ? 进程Pi获得资源访问权的条件是 – 它已收到从其它所有进程发来的应答 – 它的请求r在它的请求队列的顶部 – 它从所有其它进程处收到的消息的时标均比r的时戳大; ? 为了释放资源,进程Pi发送一个带时戳的消息给所有的进程,包括它自己; ? 任意进程Pj收到来自Pi的资源释放消息时,要从自己的局部请求队列中清除所有来自Pi的请求。 一个例子 改进的Lamport互斥算法 Ricart和Agrawala互斥算法 (1)当进程Pi需要占用公区时,向所有进程发送请求,对于K-互斥问题,请求消息包括公区号、进程号和时间戳。 接收进程Pj收到请求消息后,执行如下操作: 如果Pj没有占用该公区也没有申请使用它,则向请求进程发送一个确认消息。 如果Pj正在使用该公区,则不发送确认消息,暂存请求消息。 如果Pj正在申请使用该公区,则比较请求消息时间戳与本身请求时间戳的大小,时间戳小者优先。若Pi的时间戳小,则Pj发送一个确认消息,若Pj的时间戳小,则Pi不发送确认消息。? ?? ?(2)当进程Pi收到所有其他进程发来的响应时,便可访问该资源。? ?(3)当进程释放该资源后,向所有被暂存的请求发送一个确认消息并删除暂存队列。 Ricart和Agrawala互斥算法 要求分布式系统的所有事件是全序的,进程按请求的顺序获得对公区的访问。 进程若未收到所有的应答,就表明有优先级更高的请求存在。 交换的消息数量降至2(n-1)个 Ricart和Agrawala互斥算法的特点 能够实现诸进程对共享资源的互斥访问。 能够保证不发生死锁,因为在进程--资源图中,不会出现环路。 不会出现饥饿现象,因为对共享资源的访问是按照邮戳时间排序的,即按照FCFS原则服务的。 每次对共享资源访问时,只要求发2(N-1)个消息 。 Ricart和Agrawala算法的缺陷 由于不应答被认为是资源被占用,所以如果有某个节点故障,会导致该算法的异常终止。 各进程对资源的使用情况缺乏了解。 Maekawa算法 基本思想 将进程分成多个请求
您可能关注的文档
- 第4章微生物生长第4章微生生长物生长.ppt
- 第5课 明清之际的进步思想件(岳麓版必修三)第5课 明清之际的进步思想课件(岳麓版必修三)第5课 明清之际的进步思想课件(岳麓版必修三)第5课 明清之际的进步思想课件(岳麓版必修三).ppt
- 第5章 vc++调用malab的c c++数学函数库第5章 vc++调用matlab的c c++数学函数库第5章 vc++调用matlab的c c++数学函数库第5章 vc++调用matlab的c c++数学函数库.ppt
- 第5章 贷款业务4第5章 贷款业务4第5章 贷款业务4第5章 贷款业务4.ppt
- 第5章 电子商务网站后台据库技术第5章 电子商务网站后台数据库技术第5章 电子商务网站后台数据库技术第5章 电子商务网站后台数据库技术.ppt
- 第5章 传染病病人的护理节练习第5章 传染病病人的护理章节练习第5章 传染病病人的护理章节练习第5章 传染病病人的护理章节练习.doc
- 第5章 计算机程序设计15章 计算机程序设计1第5章 计算机程序设计1第5章 计算机程序设计1.ppt
- 第5课--队列及应用第5课-队列及应用-队列及应用.ppt
- 第5章 反馈和负反馈放大路第5章 反馈和负反馈放大电路第5章 反馈和负反馈放大电路第5章 反馈和负反馈放大电路.ppt
- 第5章 信息系统项目的执与监控第5章 信息系统项目的执行与监控第5章 信息系统项目的执行与监控第5章 信息系统项目的执行与监控.ppt
- 2024年度民主生活会个人对照检查材料(带头增强党性、严守纪律、砥砺作风方面)+带头增强党性、严守纪律、砥砺作风方面存在的主要问题.doc
- 2024-2025年民主生活会、组织生活会的批评与自我批评+民主生活会会前集中学习研讨体会.doc
- 市委书记在2025年中秋国庆节前廉政谈话会上的讲话在2025年中秋国庆节前廉政谈话.doc
- 2024年度民主生活会存在问题及不足之处+2024年度民主生活会“向下”批评意见清单.doc
- 2篇 2024年民主生活会个人对照检查发言材料(四个带头).doc
- 范文 在2025年春节前廉政谈话暨春节期间重点工作部署会议上的讲话.doc
- 2024-2025年关于意识形态专题党课讲稿、宣讲报告.doc
- 区长、局一把手2024年个人政治画像报领导干部政治画像自评材料.doc
- 理论武装方面存在问题及整改措施+第二批主题教育六个方面问题查摆、原因分析、整改措施.docx
- 2024年度民主生活会领导班子对照检查材料(四个带头)+带头增强党性、严守纪律、砥砺作风方面存在的主要问题.doc
文档评论(0)