分布式系统容错技术.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6 可靠的组通信 可靠的组播通信中的可扩充性 简单方案:接收者收到组播报文后不向发送者发送应答报文,只有在接收者发现丢失一个报文后,才向发送者发送一个反馈报文,指出某个报文丢失了。 问题1:多个接收者丢失报文时,仍然会出现反馈报文拥塞的情况 ; 问题2:在理论上讲,发送者必须在其历史缓冲区中长时间保存它发送的每一个广播报文。 * 可靠的组播通信中的可扩充性 非层级式反馈控制 成功接收到组播报文的接收者不向发送者发送反馈报文,只有在接收者发现有报文丢失的时候才会发送反馈报文,也就是说只有否定应答被当作反馈报文返回给发送者。 如果一个接收者发现它丢失了报文m,它不仅将反馈报文发送给发送者,还将反馈报文组播给组内的所有其他进程。 其他同样丢失了报文m的接收者收到这样的反馈报文后,就不会发送同样的反馈报文。这样就收者只会收到一个反馈报文,从而只重复组播报文m一次。 * 可靠的组播通信中的可扩充性 非层级式反馈控制的实现: * 可靠的组播通信中的可扩充性 非层级式反馈控制 该实现方法的问题: 问题1:为了确保只有一个反馈报文返回给发送者,需要对所有接收者的反馈报文进行精确地调度,即给每个接收者精确地设置延迟时间,在一个广域网中,精确地设置延时是十分困难的。 问题2:对反馈报文进行组播的时候会对成功地接收到组播报文的接收进程产生干扰,也就是说,其他成功接收到组播报文的接收进程被迫接收和处理一些对他们来说毫无用处的报文。 * 可靠的组播通信中的可扩充性 层级式反馈控制 在层级式可靠的组播方案中,进程组被划分成多个子进程组,这些子进程组被组织成树型结构,包含有发送者的子进程组是树的根。在一个子进程组内,可以采用任何一种可靠的组播技术。 每个子进程组任命一个本地协调者,负责处理该子进程组内的接收者的重发请求。本地协调者有自己的历史缓冲区。如果协调者本身丢失了报文m,它会要求它的父亲子进程组的协调者重发报文m。 * 可靠的组播通信中的可扩充性 层级式反馈控制 * 原子组播:必须保证一个组播报文要么被进程组内所有的进程接收,要么没有一个进程接收该报文。另外,还要求所有的组播报文应该以同样的顺序被进程组中所有的进程接收。 组视图:原子组播的实质是一个组播报文m唯一地和需要收到这个报文的一组进程相联系。需要收到这个报文的进程表是包含在这个进程组中所有进程的集合的一个视图,这个视图成为组视图(group view)。 虚同步:一个进程在发送报文m的进程失效的时候,进程组的其他进程要么都收到报文m,要么所有的其他进程都忽略报文m,具有这种性质的可靠的组播被称为是虚同步的组播。 * 6 可靠的组通信 虚同步(virtual synchrony) 虚同步的原理其实是每一个组播通信发生在视图改变之间。也就是说,一个视图改变扮演者一个栅栏的作用,组播不能跨越栅栏。任何一个组播通信都是发生在一个视图改变之后,并且在下一个视图改变起效之前完成。 * 原子组播 原子组播 报文顺序,按照组播报文的排序规则,组播可以分为如下四类; 无序组播:可靠的无序组播是一个虚同步组播,它不保证不同的接收进程对不同的组播报文的接收顺序。 FIFO顺序组播:通信层保证同一个进程发送的不同的组播报文,不同接收进程会按报文的发送顺序接收。但是不同的进程发送的不同组播报文,不同的接收进程可能会有不同的接收顺序。 因果关系顺序组播:所有接收进程必须按报文固有的因果关系顺序接收。例如报文m1按因果关系排在报文m2之前,那么所有的接收进程必须先接收报文m1后接收报文m2,不管m1和m2是否是由同一个发送者发送的。如果报文之间不具有因果关系的先后顺序,不同接收进程可以有不同接收顺序。 在全局顺序组播中,不同的接收者必须按完全相同的顺序接收所有的报文。无论是无序组播、FIFO顺序组播还是因果关系顺序组播都可以附加一个全局顺序的约束条件。 * 原子组播 虚同步的实现 要解决的主要问题:发送给视图G的所有报文在组成员发生改变之前都要到达G中所有非出错的进程。由于向G发送报文m的发送者可能在完成发送之前失效,所以有可能存在进程组中某些进程接收到报文m,而另一些进程没有接收到报文的情况。 解决问题的办法:让G中每个获得报文m的进程保存m,直到该进程确信组中的其他进程都已经收到报文m。如果m已经被进程组中的所有进程接收到,则称m是坚定的(stable)。只有坚定的报文才能被进程实际接收。为了确保坚定性,选择G中的任何一个可操作的进程要求它将报文m发送给所有其他的进程。 * 原子组播 虚同步的实现 实例:假定当前的视图是Gi,但要安装下一个视图Gi+1。假设他们只有一个不同的进程。进程P收到一个改变视图的报文后,就意识到要改变视图。如下图所示:

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档