论文标题

什么是现场?了解分布式共识

What's Live? Understanding Distributed Consensus

论文作者

Chand, Saksham, Liu, Yanhong A

论文摘要

已经广泛研究了分布式共识算法,例如Paxos。他们都使用相同的安全定义。尽管众所周知的理论不可能结果,但在实践中尤为重要。但是,已经陈述了许多不同的LIVISE属性和假设,并且没有系统的比较可以更好地理解这些属性。 本文系统地研究并比较了30多种突出共识算法和变体的不同性能。我们引入了一种精确的高级语言,并用该语言正式指定了这些属性。然后,我们创建一个结合了所使用的假设的两个层次结构和所做的断言的层次结构的层次结构,并比较了确保这些属性的算法的优势和劣势。我们的正式规格和系统的比较导致在各种既定的属性特性中发现了一系列问题,这是从没有能力断言的过于弱的假设中,到过于强大的假设,从而使其变得琐碎,无法实现主张。我们还开发了这些Livices属性的TLA+规格,并使用执行步骤的模型检查来说明PAXOS的可笑模式。

Distributed consensus algorithms such as Paxos have been studied extensively. They all use the same definition of safety. Liveness is especially important in practice despite well-known theoretical impossibility results. However, many different liveness properties and assumptions have been stated, and there are no systematic comparisons for better understanding of these properties. This paper systematically studies and compares different liveness properties stated for over 30 prominent consensus algorithms and variants. We introduce a precise high-level language and formally specify these properties in the language. We then create a hierarchy of liveness properties combining two hierarchies of the assumptions used and a hierarchy of the assertions made, and compare the strengths and weaknesses of algorithms that ensure these properties. Our formal specifications and systematic comparisons led to the discovery of a range of problems in various stated liveness properties, from too weak assumptions for which no liveness assertions can hold, to too strong assumptions making it trivial to achieve the assertions. We also developed TLA+ specifications of these liveness properties, and we use model checking of execution steps to illustrate liveness patterns for Paxos.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源