线性化是否等同于共识问题?


9

在本文的最终最终线性化共享对象(PO​​DC'10)的介绍中,作者提出了以下声明,但未提供参考:

但是,只有在可以达成共识的情况下,才能实现线性化。

这里,线性化是共享对象的最强的已知一致性属性,这在论文《线性化:并发对象的正确性条件》中提出

由于以下参数,我对上述声明感到困惑:

在“ 在消息传递系统中稳健地共享内存”(JACM95)一文中,我们知道可以在异步消息传递系统中实现线性化,同时容忍少数进程崩溃:

只要至少大多数处理器没有故障并且保持连接,任何基于原子,单写多读取器寄存器的免等待算法都可以在消息传递系统中自动进行仿真。

另一方面,论文《有一个错误的过程的分布式共识的不可能》(JACM85)证明了即使只有一个过程崩溃,也无法达成共识的结果:

共识问题涉及进程的异步系统,其中某些进程可能不可靠。问题是可靠的过程在二进制值上达成共识。在本文中,表明即使有一个错误的过程,针对该问题的每种协议也都有可能不终止。

因此,我们能否得出以下结论:

共识要强于线性化能力?

我的论点有什么问题?等价结论是否有直接参考?


1
到目前为止,还不是分布式计算方面的专家,但是在我看来,您能够得出结果的原因是因为JACM85参考中的结果中进行了假设。线性化可能等效于对特定计算模型的共识,但是如果我们极大地限制了计算模型,情况可能并非如此。
chazisop

Answers:


4

您弄错的是“我们知道可以在异步消息传递系统中实现线性化,同时容忍少数进程崩溃”。我们不知道,实际上这是错误的。

JACM95论文的引用表明,可以使用消息传递来实现单写入器多读取器寄存器。并且只有此类寄存器,或可以从此类寄存器实现的任何其他对象(考虑到少数崩溃)。例如,这包括多写入器多读取器寄存器(MWMR)。

相反,线性化能力不限于可以使用单写入器多读取器寄存器实现的对象。这样的对象的一个​​例子是那些支持(原子的)Read-Modify-Write操作的对象。

实际上,正如Attiya等人指出的(第7节),此类对象不能由MWMR寄存器精确实现,因为它们允许解决共识(请参见Herlihy的无等待同步),因此可实现性将与FLP结果相矛盾。


抱歉耽搁了。但是,1.因为线性化是一个局部属性,所以我认为有关的对象数量不是重点。您能否进一步解释?2.什么是您使用的意思“即”对涉及atomicity of operations on a single objectsequential specifications are not violated
hengxin

真正。让我再想想....
Martin B.

我已经完全改写了答案...我认为现在很有意义。不记得我以前在想什么。
Martin B.

我认为您当前的论点是有道理的。按照您的回答,我检查了论文Eventually Linearizable Shared Objects (PODC'10)并发现考虑了任意对象(而不是仅SWMR寄存器)。
衡新2014年

感谢您的关注和努力。您正在研究分布式计算/并发理论吗?然后,您介意评估我的另一个问题:树结构共享寄存器上的原子快照算法吗?您认为这是值得研究的问题吗?
恒新2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.