单个 运行 中可以接受多个值吗?
Can multiple values be accepted in a single run?
考虑以下流程:
提议者准备一条消息,获得承诺,发送具有一定价值的提议,并获得接受。一切顺利。
接受后,另一个提议者出现并准备了一个更高id的消息,然后继续相同的流程。
这是 单 轮 paxos 算法的有效流程吗?或者这实际上是 multi paxos?
接受后,如果另一个提议者出现并准备消息,它将至少收到一个包含先前接受值的回复。 Paxos 规则要求第二个提议者必须提议先前接受的值。它想要建议的值被第一个值覆盖。这确保了只能为 Paxos 算法的单个实例选择单个值。
这取决于你的意思是在给定的一轮 Paxos 中“可以固定多个值”还是“任何给定节点可以接受多个值”。
根据@Rakis 接受的答案,您不能获得多个固定到一个位置的值。然而,由于消息丢失,您可以让节点在固定位置之前接受多个值到一个位置。
为了理解这是如何发生的,我们可以想象任意消息丢失任意节点崩溃。例如节点 {A, B, C, D, E}
,领导者 A
。它发出准备,获得多数响应,发出 accept(Va)
然后崩溃并且永远无法恢复。由于消息丢失,接受消息只能被节点 B
看到。节点 E
超时并发出准备。由于消息丢失,这仅被节点 C
、D
和 E
看到。节点 E
有多数响应,但不知道节点 A
发送并被节点 B
接受的值 Va
。可以自由选择自己的价值和问题accept(Ve)
。这次所有消息都通过了。节点 B
接受 Ve
以及节点 C
、D
和 E
.
在那种情况下,算法固定的唯一值是 Ve
。然而节点 B
接受了两个不同的值 Va
和 Vb
.
要回答你的问题是这个 multipaxos 答案是否定的。请参阅 this answer for the explanation about mutltipaxos is. Note it isn't helpful to call things Paxos
and Multi-Paxos
. In his 2019 lectures, the inventor talks about the Single Synod Algorithm
for the minimal algorithm to fix a single value. Then the actual algorithm that is practically useful is the extension to choose many values from a stable leader. See 。如果您正在参加该主题的考试,您可能需要坚持使用旧的令人困惑的术语。
考虑以下流程:
提议者准备一条消息,获得承诺,发送具有一定价值的提议,并获得接受。一切顺利。
接受后,另一个提议者出现并准备了一个更高id的消息,然后继续相同的流程。
这是 单 轮 paxos 算法的有效流程吗?或者这实际上是 multi paxos?
接受后,如果另一个提议者出现并准备消息,它将至少收到一个包含先前接受值的回复。 Paxos 规则要求第二个提议者必须提议先前接受的值。它想要建议的值被第一个值覆盖。这确保了只能为 Paxos 算法的单个实例选择单个值。
这取决于你的意思是在给定的一轮 Paxos 中“可以固定多个值”还是“任何给定节点可以接受多个值”。
根据@Rakis 接受的答案,您不能获得多个固定到一个位置的值。然而,由于消息丢失,您可以让节点在固定位置之前接受多个值到一个位置。
为了理解这是如何发生的,我们可以想象任意消息丢失任意节点崩溃。例如节点 {A, B, C, D, E}
,领导者 A
。它发出准备,获得多数响应,发出 accept(Va)
然后崩溃并且永远无法恢复。由于消息丢失,接受消息只能被节点 B
看到。节点 E
超时并发出准备。由于消息丢失,这仅被节点 C
、D
和 E
看到。节点 E
有多数响应,但不知道节点 A
发送并被节点 B
接受的值 Va
。可以自由选择自己的价值和问题accept(Ve)
。这次所有消息都通过了。节点 B
接受 Ve
以及节点 C
、D
和 E
.
在那种情况下,算法固定的唯一值是 Ve
。然而节点 B
接受了两个不同的值 Va
和 Vb
.
要回答你的问题是这个 multipaxos 答案是否定的。请参阅 this answer for the explanation about mutltipaxos is. Note it isn't helpful to call things Paxos
and Multi-Paxos
. In his 2019 lectures, the inventor talks about the Single Synod Algorithm
for the minimal algorithm to fix a single value. Then the actual algorithm that is practically useful is the extension to choose many values from a stable leader. See