三分布式系统的同步.pptVIP

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
三分布式系统的同步

第6章 分布式系统的同步 时钟同步 互斥 选举算法 原子事务 分布式系统中的死锁 6.1 时钟同步 分布式算法的性质 相关信息分散在多台机器上 进程决策仅仅依赖于本地信息 系统中单点故障应避免 没有公用时钟和其他精确的全局时间资源存在 6.1 时钟同步 6.1.1 逻辑时钟 ? 计算机计时方法 ? 计算机上的计时器通常由一个精确的石英晶体制成,它以一定的频率震荡。 ? 每次震荡计数器减1,当计数器减为0时,产生一次中断(时钟点)。 ? 在多CPU系统中,不同计算机上的晶体以不同的频率震荡,导致时钟不同步。(时钟偏移) ? 问题:同步所有时钟产生一个单一的、无二义的时间标准可能吗? ——Lamport:时钟同步是可能的!!! ? 如果两个进程无相互作用,它们的时钟无需同步。 ? 时钟同步不需要绝对同步,不需所有进程在时间上完全一致,而是它们在事件发生的顺序上要完全一致。 ? 只关心事件发生的顺序,而不关心是否与真实时间接近。(逻辑时钟) 6.1 时钟同步 6.1.1 逻辑时钟 ? 先发生关系 ? a发生在b之前,记为:a→b。存在两种情况: ? 如果a和b是同一进程中两个事件,且a发生在b之前,则a→b为真; ? 如果a是一个进程发送消息的事件,b为另一个进程接收这一消息的事件,则a→b为真; ? 性质: ? 先发生关系具有传递性:若a→b且 b→c,则a→c。 ? 并发事件 如果两个事件x和y,出现在不同的进程中,但并不交换消息,则x→y为假, y→x也为假。则事件x和y称为并发事件。 6.1 时钟同步 6.1.1 逻辑时钟 ? Lamport算法 6.1 时钟同步 6.1.1 逻辑时钟 ? Lamport算法 6.1 时钟同步 6.1.1 逻辑时钟 ? Lamport算法补充说明 ? 在每两个事件之间,时钟必须至少滴答一下。如果一个进程以相当快的速度连续发送或接收两条消息,它必须在这中间至少嘀嗒一下。 ? 附加条件:两个事件不会精确的同时发生。如果进程1和进程2同时发生了2个事件,发生时刻都是40,则前者记为40.1,后者为40.2。 ? lamport算法遵循的规则: ? 若在同一进程中a发生在b之前,则C(a)C(b); ? 若a和b分别代表发送消息和接收消息,则C(a)C(b); ? 对所有的a和b,C(a)≠C(b)。 6.1 时钟同步 6.1.2 物理时钟 物理时钟:UTC (统一协调时间),它是所有现代人使用的时间。 6.1 时钟同步 6.1.3 时钟同步算法 6.1 时钟同步 6.1.3 时钟同步算法 ? Cristian’s算法 6.1 时钟同步 6.1.3 时钟同步算法 ? Cristian’s算法 6.1 时钟同步 6.1.3 时钟同步算法 ? Berkeley算法 6.1 时钟同步 6.1.3 时钟同步算法 ? 平均值算法 6.1 时钟同步 6.1.4 使用时钟同步 至多一次消息传递 每台机器上保存一个全局变量G,任何比G早的时间戳都能安全地从表中移走。 G=当前时间-最大生存时间-最大时钟偏移 G是所有老消息的消息数目的梗概。每隔一定时间△T,将当前的时间写入磁盘。当服务器重启时,从磁盘上重新装载G,再加上 △T。 基于时钟的缓冲存储器的一致性 6.2 互斥 6.2.1 集中式算法 优点:容易实现、需要交互的消息少(请求、允许、释放)。 缺点:单点故障、瓶颈、无法辨认服务器崩溃。 6.2 互斥 6.2.2 分布式算法 Ricart和Agrawale算法 6.2 互斥 6.2.2 分布式算法 Ricart和Agrawale算法 6.2 互斥 6.2.2 分布式算法 Ricart和Agrawale算法 6.2 互斥 6.2.2 分布式算法 Ricart和Agrawale算法 每次进入临界区需要2(n-1)条消息,n为系统中进程数。 如何解决多点失效 当请求到达时,不管是许可还是

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档