- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
paxos算法ppt
Paxos算法详解 The basic algorithm of paxos 网络组:胡术、杨诚、杨铮 P:proposer,也可以是客户端,提交议案。 C:coordinator,协调者, A:acceptor,选举者, L:learner,学习者, A round include two phases: (i)phase 1 (ii)phase 2 crnd:某C开始的rounds中的最高的round number cval:某C在round crnd中提出的value。 rnd:某A参加过的rounds中最高的round number vrnd:某A批准过的rounds中最高的round number vval:某A在round vrnd中批准的value。 Quorum:a majority of the acceptors 所有的消息可能丢失或者延时,但是不会出错。 message Phase 1a:prepare Phase 1b:promise Phase 2a:accept Phase 2b:accepted 1、C要提出一个value并获得批准的过程叫做一个round,它两个阶段:phase1和phase2. 2、C开始某个round i,发送phase 1a[i]给所有的A,如果收到某A的reject[j](ji),重新发送phase 1a[j+x](为方便举例,令x = 1),并设置[crnd = j+1,cval = 0]。 3、Pick a value: 收到来自某quorum的phase 1b[j+1,vrnd,vval]消息回复。令K为来自该quorum消息中所有vrnd的最大值,V为来自该quorum的消息中vrnd = k的消息对应的vval值的集合(当k0时,fast paxos在文中证明了这样的vval值只有一个)。 If k = 0,C可以任意挑选一个来自P的value作为value_s else,将V中的那个唯一的value作为我们的挑选value_s 将value_s和round number j+1 作为phase 2a的内容发送给所有的A,并设置cval = value_s,若收到某A的Nack[h],hj,设置crnd = h+1并重复上述prepare过程。否则,若收到来自某quorum的phase2b消息,则说明对该value_s的选举已经完成。 任何一个A必须批准它收到的第一个value。 A在round i的prepare过程(phase 1)收到phase1a: (a)如果irnd,且round rnd的C(beginner)不是round i的C’(beginner),即C!=C’,则通知round i的C’拒绝(reject[rnd])它的prepare请求。如果C = C’,则忽略这个prepare请求。(important!) (b)如果i = rnd,令rnd = i,发送phase 1b消息。 Phase 1b:[ rnd,vrnd,vval] A在round i的phase 2收到phase 2a[i,vval_i]: (a)如果irnd, 即C!=C’,则通知round i的C’拒绝(Nack[rnd])它的accept请求。如果C = C’,则忽略这个accept请求。(important!) (b)如果i=rnd,令rnd = vrnd = i,vval = vval_i,发送phase2b 故而在其它的C开始更高round number的过程时,Round有可能被中断, 。 出现活锁的情况 * 角色介绍 A(rnd,vrnd,vval) A(rnd,vrnd,vval) A(rnd,vrnd,vval) A(rnd,vrnd,vval) A(rnd,vrnd,vval) P P P P L L L L C(crnd,cval) C(crnd,cval) C(crnd,cval) C Receive phase1b from a quorum,pick any value proposed by p. C(0,null) 初始化(round 1) A(0,0,null) A(0,0,null) A(0,0,null) A(0,0,null) A(0,0,null) P P P P L L L L C(0,null) C(0,null) C(1,null) Phase1a [ 1] because 10 A(1,0,null) because 10 A(1,0,null) because 10 A(1,0,null) because 10 A(1,0,null) Phase1b[1,0,null]
您可能关注的文档
- js操作frame详细解说,window.opener和window.parent的区别.docx
- 《归园田居其一》02.ppt.ppt
- 《归园田居其一》04.ppt.ppt
- 《归园田居》少无适俗韵22张.ppt
- 《归去来兮辞》自己用.ppt
- 《归园田居》ppt(19页).ppt
- 《成长烦恼》作文讲评ppt2.ppt
- 《手持式电动工具安全 第二部分:电钻与冲击电钻专用要求》GB.doc
- 焊缝隐蔽工程检查验收记录(通用表格).doc
- 《教材教法辅导》PPT 小学信息技术 四下.ppt
- 分析let s单元56ago2卷纸zheng unit56.pdf
- 塑胶材料其它分类原料pa9t 12.pdf
- md16x16数字媒体切换器设备.pdf
- 者参考项目发起人学科类型单位序列承包商修订页代码顺序典型.pdf
- 届世界天然气大会阿姆斯特丹2006add10288.pdf
- 期测试记录表每周weekly g1g6 journeys tests level 6 lesson26.pdf
- modernize-whitepaper现代化您应用程序白皮书.pdf
- anybackup产品典型案例分析.pdf
- 约克金融工程课程tfeslide32.pdf
- 广州市妇女儿童医疗中心历份教学药历01tjy.pdf
文档评论(0)