04-协调和协定讲解.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 组播通信--全排序 使用顺序者的全排序算法(续)  2. 顺序者g的算法  初始化:sg:=0; 在B-deliver(m,i)时,其中g=group(Morder)   B-multicast(g,“order”,i,sg); sg:=sg+1;  基于顺序者的算法缺点:顺序者会成为瓶颈 * 组播通信--全排序 全排序的ISIS算法   2 1 1 2 2 1 消息 2 建议的序号 P 2 P 3 P 1 P 4 3 协定的序号 3 3 * 组播通信--全排序 全排序的ISIS算法(序)   Agq: 进程q迄今为止 从组g观察到的最大的协定序号 Pgq : 进程q自己提出的最大序号 进程p组播消息m到组g的算法:   1. p B-multicasts m, i到g, 其中i 是m的一个唯一的标识符   2. 每个进程q回答发送者p: (1) Pgq = max(Agq, Pgq)+1; (2)把 Pgq添加到消息 m,并把m放入保留队列; (3)用序号Pgq 回答p 3. P收集Pgq(所有提议的序号),选择最大的数a作为下一个协定序号,然后 B-multicasti,a 到g 4. g中的每个进程q置Agq: = max(Agq, a), 并把a附加到消息上。 如果协定序号与提议的序号不一样,它把保留队列中的消息重新排序。   * 组播通信--全排序 全排序的ISIS算法(序)   1. 正确的进程最终会对同一组序号达成一致;   2. 序号是单调递增的;   3. 不保证因果或FIFO序;   4. 比基于顺序者的组播有更大的延迟   * 组播通信--组重叠 FIFO、全排序和因果排序语义的定义和算法中,只考虑非重叠的组。 全局的FIFO排序   如果一个正确的进程发出multicast(g,m),然后发出multicast(g’,m’),则两个消息被发送到g∩g’的成员。 全局的因果排序   如果multicast(g,m) → multicast(g’,m’) ,则g∩g’中的任何传递m’的正确进程将在m’前传递m。 * 组播通信--组重叠 进程对的全排序   如果一个正确的进程在传递发送到g’的消息m’前传递了发送到g的消息m,则g∩g’中的任何传递m’的正确进程将在m’前传递m。 全局的全排序   令“”是传递事件之间的排序关系。我们要求“〈”遵守进程对的全排序,并且无环。 * 第4章 协调和协定 简介 分布式互斥 选举 组播通信 共识和相关问题 小结 * 共识和相关问题 简介 分布式系统中的协定问题   - 互斥:哪个进程可以进入临界区 - 全排序组播:组播消息的顺序   - 拜占庭将军:进攻还是撤退 共识问题(consensus)   - 一个或多个进程提议了一个值后,应达成一致意见 - 共识问题、拜占庭将军和交互一致性问题 故障模型  - 进程崩溃故障、拜占庭进程故障 * 共识和相关问题 共识问题定义 符号   - pi: 进程i - vi: 进程pi的提议值   - di: 进程pi的决定变量   * 共识和相关问题 3个进程的共识问题示例   Consensus algorithm P1 P3 P2 d1:=proceed d2:=proceed V1:=proceed V2:=proceed V3:=abort (Crashes) * 共识和相关问题 共识算法的基本要求   - 终止性   每个正确的进程最终设置它的决定变量 - 协定性   如果pi和pj是正确的且已进入决定状态,那么di=dj ,其中i,j=12,…N。   - 完整性   如果正确的进程都提议了同一个值,那么处于决定状态的任何正确进程已选择了该值。   * 共识和相关问题 算法   - 每个进程组播它的提议值 - 每个进程收集其它进程的提议值   - 每个进程计算V = majority (v1, v2, …, vN)   majority()函数为抽象函数,可以是max()、min()等等 算法分析   - 终止性  由组播操作的可靠性保证   - 协定性和完整性   由majority()函数定义和可靠组播的完整性保证  * 共识和相关问题 拜占庭将军问题(byzantine generals) 问题描述   - 3个或更多的将军协商是进攻还是撤退 - 一个或多个将军可能会叛变   - 所有未叛变的将军执行相同的命令 与共识问题的区别   每个进程(将军)都提议一个值 算法要求   - 终止性 - 协定性    - 完整性 * 共识和相关问题 交互一致性(int

文档评论(0)

三沙市的姑娘 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档