Paxos算法详解.ppt_第1页
Paxos算法详解.ppt_第2页
Paxos算法详解.ppt_第3页
Paxos算法详解.ppt_第4页
Paxos算法详解.ppt_第5页
已阅读5页,还剩4页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Paxos算法详解 The basic algorithm of paxos 网络组:胡术、杨诚、杨铮,角色介绍,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),P:proposer,也可以是客户端,提交议案。 C:coordinator,协调者, A:acceptor,选举者, L:learner,学习者, A round include two phases:

2、(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 Phas

3、e 2b:accepted,1、C要提出一个value并获得批准的过程叫做一个round,它两个阶段:phase1和phase2. 2、C开始某个round i,发送phase 1ai给所有的A,如果收到某A的rejectj(ji),重新发送phase 1aj+x(为方便举例,令x = 1),并设置crnd = j+1,cval = 0。 3、Pick a value: 收到来自某quorum的phase 1bj+1,vrnd,vval消息回复。令K为来自该quorum消息中所有vrnd的最大值,V为来自该quorum的消息中vrnd = k的消息对应的vval值的集合(当k0时,fast p

4、axos在文中证明了这样的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的Nackh,hj,设置crnd = h+1并重复上述prepare过程。否则,若收到来自某quorum的phase2b消息,则说明对该value_s的选举已经完成。,任何一个A必须批准它收到的第一个value。 A在round i的prepare过程(phase 1

5、)收到phase1a: (a)如果i= rnd,令rnd = i,发送phase 1b消息。 Phase 1b: rnd,vrnd,vval A在round i的phase 2收到phase 2ai,vval_i: (a)如果i=rnd,令rnd = vrnd = i,vval = vval_i,发送phase2b 故而在其它的C开始更高round number的过程时,Round有可能被中断, 。,C Receive phase1b from a quorum,pick any value proposed by p.,C(0,null),初始化(round 1),A(0,0,null),A

6、(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),Phase1b1,0,null,C(1,value_s),A(1,1,value_s),A(1,1,value_s),A(1,1,value_s),A(1,1,value_s),A(1,1,value_s),P

7、hase2b,Phase2b,L receive phase2b from a quorum,then learn value_s,L receive phase2b from a quorum,then learn value_s,L receive phase2b from a quorum,then learn value_s,L receive phase2b from a quorum,then learn value_s,because 10 A(1,0,null),Phase2a1,Value_s,正常运行(round 2 as an example),A(1,1,value_s),A(1,1,value_s),A(1,1,value_s),A(1,1,value_s),A(1,1,value_s),P,P,P,P,L,L,L,L,C(1,value_s),C(0,null),C(0,null),Phase1a1,Reject 1,Phase 1a2,Phase 1b2,1,value_s,C(1,null),C(2,null),Phase 2a2,value_s,Phase 2b,Phase 2b,A(2,1,value_s),A(2,1,value_s),A(2,1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论