- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
04协调和协定汇编
组播通信--全排序 使用顺序者的全排序算法 1. 组成员p的算法 初始化:rg:=0; 为了给组g发TO-multicast消息: B-multicast(g∪{sequencer(g)},m,i); 在B-deliver(Morder=“order”,i,s)时,其中g=group(Morder) Wait until m,i在保留队列中并且S=rg; To-deliver m; //在从保留队列删除它之后 rg=S+1; 组播通信--全排序 使用顺序者的全排序算法(续) 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: 进程迄今为止 从组g观察到的最大的协定序号 Pgq : 进程自己提出的最大序号 进程p组播消息m到组g的算法: 1. p B-multicasts m, i到g, 其中i 是m的一个委员的标识符 2. 每个进程: (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排序 如果一个正确的进程发出multicast(g,m),然后发出multicast(g’,m’),则g∩g’中的每一个传递m’的正确进程将在m’前传递m。 全局的因果排序 如果multicast(g,m) → multicast(g’,m’) ,则g∩g’中的任何传递m’的正确进程将在m’前传递m。 选举 性能 - 最坏情况 启动选举算法的逆时针邻居具有最大标识符,共计需要3N-1个消息,回转时间为3N-1。 - 最好情况 回转时间为2N。 - 不具备容错功能 选举 霸道算法 假设 - 同步系统,使用超时检测进程故障 - 通道可靠,但允许进程崩溃 - 每个进程知道哪些进程具有更大的标识符 - 每个进程均可以和其它进程通信 选举 算法 - 选举初始化 进程P在发现协调者失效后启动一次选举,将选举消息发送给具有更大标识符的进程 - 接收进程回复一个应答消息并开始另一次选举 - 协调者发送协调者消息 若进程P 没有收到应答消息,则给所有具有较小标识符的进程发送协调者消息。 若进程P 收到应答消息,则等待协调者消息;若消息在一段时间没没有到达,则启动一次新的选举算法。 - 进程收到协调者信息后,设置 electedi = idcoordinator 选举 算法示例 p4、p3相继出现故障 选举 性能 - bandwidthbest = N-2 标识符次大的进程发起选举 发送N-2个协调者消息 回转时间为1个消息 - bandwidthworst : O(N2) 标识符最小的进程发起选举 第4章 协调和协定 简介 分布式互斥 选举 组播通信 共识和相关问题 小结 组播通信 组播/广播 组播:发送一个消息给进程组中的每个进程。 广播:发送一个消息给系统中的所有进程。 组播面临的挑战 效率 - 带宽使用 - 总传输时间 传递保证 - 可靠性 - 顺序 进程组管理 进程可任意加入或退出进程组 组播通信 系统模型 multicast(g,m) 进程发送消息给进程组g的所有成员 deliver(m) 传递由组播发送的消息到调用进程 组播通信 封闭组和开放组 封闭组 开放组 封闭组:只有组的成员可以组播到该组 开放组:组外的进程也可以向该组发送消息 组播通信 基本组播 原语: B-multicast、B
文档评论(0)