首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >paxos算法- propose阶段是如何工作的?

paxos算法- propose阶段是如何工作的?
EN

Stack Overflow用户
提问于 2020-12-07 11:51:30
回答 1查看 88关注 0票数 1

我正在查看paxos算法的提议阶段的伪代码:https://www.cs.rutgers.edu/~pxk/417/notes/paxos.html

代码语言:javascript
运行
复制
did I receive PROMISE responses from a majority of acceptors?
if yes
    do any responses contain accepted values (from other proposals)?
    if yes
        val = accepted_VALUE    // value from PROMISE message with the highest accepted ID
    if no
        val = VALUE     // we can use our proposed value
    send PROPOSE(ID, val) to at least a majority of acceptors

如果其中一个对等体之前已经接受了一个值(accepted_VALUE),那么提出者试图提出的值(VALUE)会发生什么情况?

据我所知,它看着伪代码,它被丢弃了吗?这看起来像是信息的丢失..。

EN

回答 1

Stack Overflow用户

发布于 2020-12-09 01:54:34

当接受者回复一个值时,提出者确实会丢弃它的值。

我是这样想的: Paxos是一个协作协议,很像一个等待自由锁自由算法。提出者的工作不是确保它的价值被选择,而是帮助这个过程进行,而不是。当一个提出者看到它被另一个提出者击败时,它有助于复制其他提出者。

类似地,您可以将其视为提议人正在继续先前的、可能已经死亡的提议人的工作。

您可以在更简单的非共识Attiya/Bar-Noy/Dolev (ABD)协议中更清楚地看到这一点。即使在ABD中读取时,"proposer“也会重写该值,以确保该值分布在整个系统中。

ABD:“在消息传递系统中稳健地共享内存”,H. Attiya,A. Bar-Noy和D. Dolev,1995

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

https://stackoverflow.com/questions/65175918

复制
相关文章

相似问题

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