相关疑难解决方法(0)

关于Paxos实施的问题

我正在使用维基百科中提供的文档在集群模拟器应用程序中实现Paxos .不幸的是,它留下了几个可以解释的门,并没有提供关于关键实施问题的大量信息.目前还不清楚和不完整.

  • 假设一个簇分为3个区域,每个区域包含3个节点(总共= 9个节点).如果地区之间的沟通中断,会发生什么?任何领导者都无法达到法定人数(即5).

Paxos不会进入无限循环吗?我想如果一个人无法与至少一个法定数量的节点通信,就不应该发起Paxos.

  • 1B阶段:" 如果提案数N大于以往任何建议时,则每个接受者承诺不接受建议小于N,并把它最后接受了价值这种情况下,以投保人 ".

什么是"它接受的最后价值"?来自提议者的任何先前提案编号是什么?在这种情况下,'实例'究竟是指什么?

  • 在阶段1a:是否包含与准备消息达成一致的值,或者是否延迟到接受!信息?或者它确实重要?

  • 在阶段2a:' 如果任何接受者已经接受了值,则领导者必须选择具有最大提议号N '的值.

这里有什么价值?是提案编号吗?我不相信,但这句话不清楚.

  • 在阶段2a:'否则,提议者可以自由选择任何值'.这是什么意思?什么价值?对于提案号码?

  • Paxos似乎依赖于增加的N(提案号)值来运作?它是否正确?

  • 维基百科条目不讨论节点在开始参与Paxos之前应该设置的初始值.这些是什么?

PS:我没有足够的声誉来创建'Paxos'标签(任何志愿者?)

implementation paxos

14
推荐指数
1
解决办法
4958
查看次数

在Paxos中,Acceptor在接受了它之后是否可以接受不同的值?

在Multi-Paxos算法中,从接受者的角度考虑此消息流:

接收:准备(N)

回复:承诺(N,null)

接收:接受!(N,V1)

回复:已接受(N,V1)

接收:接受!(N + 1,V2)

回复:?

根据协议,接受者在这种情况下的反应应该是什么?它应该以Accepted(N + 1,V2)回复,还是应该忽略第二次接受!?

我相信这种情况可能发生在Multi-Paxos中,当第二个提议者上线并认为他是(并且始终是)领导者时,因此他发送他的接受而没有准备.或者,如果他的准备工作根本没有达到接受者.如果这种情况可能不会发生,你能解释一下原因吗?

distributed-computing paxos

5
推荐指数
1
解决办法
1820
查看次数