繁体   English   中英

Paxos领导人选举可能不会终止

[英]Paxos leader election might not terminate

我正在研究Paxos编写的简单论文,而我却为这样的事实而苦苦挣扎:如果有2个提案人以更高的提案数量相互竞争,Paxos不能保证进度,并且如论文中所建议,为了保证进度,必须是一位杰出的提案人。选择,使他成为领导者。

但是这里出现了问题,因为人们建议使用Paxos选举杰出的提议者,这又需要领导者来保证进度。

我了解给定的场景可能是特定于实现的,例如,如果给从中选择的流程的可分辨集排序,则表示P1集<P2集。

但是我想在实际的实现中了解如何处理?

通常的方法是简单地使用随机超时,在这种情况下,延长的领导者对决的可能性很低。 如果您在论文中搜索“超时”,那么它会提到这一点。

如果稳定的领导者出现并取得进展平均需要X秒(我们可以使用最少的消息往返次数来估计),那么我们可以简单地使每个节点在某个X倍的间隔内随机超时。通过在每次尝试成为领导者时使用新的随机数,我们延长领导者决斗的可能性很小。

如果我们将X的较大倍数设置为随机超时的上限,则扩展领导者决斗的可能性较低。 但是,在领导人出现之前,我们还有更长的平均时间。 所以这是一个权衡。

如果实现需要非常快速的故障转移,我们可以使用低超时随机间隔,但是尝试实现一种机制,领导者对决可以快速解决。 您可以发明任何任意机制。

确保一个节点具有成为领导者的优势的简单机制如下。 每个节点都有一个用于订购选票的唯一编号。 在领导者决斗期间,每个节点都可以使用按其自己的唯一编号缩放的指数补偿。 例如,如果在每次尝试失败成为领导者时节点号为N,我们可以将其超时窗口的上限乘以1 + 1 / N。 这意味着在任何决斗中,N最高的节点在尝试成为领导者时将更具攻击性,因为其他节点的退避速度更快。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM