首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >可以在一次运行中接受多个值吗?

可以在一次运行中接受多个值吗?
EN

Stack Overflow用户
提问于 2020-12-10 15:01:45
回答 2查看 110关注 0票数 0

考虑以下流程:

提议者准备一条信息,得到一个承诺,发送一个有价值的建议,得到接受。都很好。

在接受后,另一个提议者会出现并准备一个带有higer id的消息,相同的流程将继续进行。

这是paxos算法的循环的有效流吗?或者这实际上是多个帕克斯?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-11 20:01:08

在接受后,如果另一个投标人出现并准备一条消息,它将收到至少一个包含先前接受的值的答复。然后,Paxos规则要求第二个投标人必须提出先前接受的值。它要建议的值被第一个值覆盖。这确保只能为Paxos算法的单个实例选择单个值。

票数 1
EN

Stack Overflow用户

发布于 2020-12-12 15:27:14

这取决于您的意思是“可以在给定的Paxos中固定多个值”,还是指“任何给定节点都可以接受多个值”。

根据@Rakis所接受的答案,您不能获得多个固定到某个位置的值。然而,由于消息丢失,在位置固定之前,可以让节点接受一个以上的值到一个位置。

要理解这种情况是如何发生的,我们可以想象任意消息丢失,任意节点崩溃。例如,节点{A, B, C, D, E}A领导。它发出准备,得到多数响应,发出accept(Va),然后崩溃,永远不会恢复。由于丢失了消息,节点B只能看到接受消息。节点E超时并发出准备。由于消息丢失,这只能由节点CDE看到。节点E具有大多数响应,但不知道节点A发送并由节点B接受的值Va。它可以自由选择自己的价值并发行accept(Ve)。这一次,所有的信息都会传出去。节点B与节点CDE一起接受Ve

在这种情况下,算法固定的唯一值是Ve。然而,节点B接受两个不同的值VaVb

回答你的问题是这个多帕克斯,答案是否定的。有关mutltipaxos的说明,请参见这个答案。注意,将事物称为PaxosMulti-Paxos是没有帮助的。在他的2019年讲座中,发明者谈到了用于修复单个值的最小算法的Single Synod Algorithm。然后,实际可行的算法是扩展从一个稳定的领导者中选择多个值。关于这个问题,请见这个职位。如果你正在参加这个题目的考试,你可能需要坚持旧的令人困惑的术语。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65237017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档