分布式系统中是否存在一些规范问题?


13

上周,我再次阅读了莱斯利(Leslie)的兰莫特(Lamport)于1982年撰写的一次会议的摘要,该会议他发表了有关并发问题的解决,未解决的问题和非问题的讨论。该论文易于阅读,但让我思考的一件事是以下主张:

是否可以将任何问题视为互斥问题或生产者-消费者问题,或两者兼而有之?

我想知道分布式系统案例是否已经回答了这个问题。

是否存在一组规范的分布式系统问题,可以从中解决所有可能的分布式系统问题?这是什么规范清单?

如果没有规范列表,那么当前的问题列表是什么,存在哪些减少措施?

例如,我很天真地说,领导人选举和互斥问题可以简化为共识问题。我还要说,分布式快照可以减少为分布式时钟。是对还是错?

如果可能的话,我希望答案能为支持其主张的已发表论文提供参考:)


Answers:


9

是否存在一组规范的分布式系统问题,可以从中解决所有可能的分布式系统问题?

我不知道这样发布的问题清单。

请记住,分布式计算中有许多不同的模型(在某种程度上是无法比拟的),从“良性”同步(无故障)模型(在该模型中,节点以锁步方式执行,并在每一轮中可靠地传递所有消息)到异步模型,其中处理速度和消息延迟没有限制,节点本身可能崩溃或发送损坏的消息。为了进一步增加这种多样性,还有其他与同步性和故障正交的要求和假设:节点的初始知识(网络大小,网络直径,最大节点程度等),查询故障检测器的能力,节点是否具有唯一标识符,发送和接收步骤的原子性,单个消息的最大大小等等。

2

另一方面,在查看故障时,这些问题与诸如“该模型中的共识是否可以解决?”之类的可解决性问题更为相关“我们可以在这些假设下实现这种奇特的故障检测器吗?”

如果没有规范列表,那么当前的问题列表是什么,存在哪些减少措施?

在某些分布式计算模型中有许多减少这种情况的示例,我将回答限于以下2种:

(无故障)同步模型中的本地计算

Ω(logn+logΔ)nΔ2AA

具有崩溃失败的异步模型

在这里,研究最多的问题是容错共识及其许多变体,因为实现基本原语(例如原子广播和/或同步器本身)需要共识。

S PTPS

PQPQk

例如,我很天真地说,领导人选举和互斥问题可以简化为共识问题。

当然,如果您可以解决共识,那么您将立即拥有一个用于选举领导者的算法:只需将每个节点的ID用作共识算法的输入即可。相反的方法仅在确保领导者最终为所有人所知的模型中成立。

[1] Pierre Fraigniaud:分布式计算复杂性:您是上瘾还是痴迷于纳斯卡?2010年PODC http://doi.acm.org/10.1145/1835698.1835700

[2] Fabian Kuhn,Thomas Moscibroda,Roger Wattenhofer:本地计算:上下界。CoRR abs / 1011.5470(2010) http://arxiv.org/abs/1011.5470

[3] Tushar Deepak Chandra,Sam Toueg:可靠的分布式系统的不可靠故障检测器。J.ACM 43(2):225-267(1996)。 http://doi.acm.org/10.1145/226643.226647

[4] Prasad Jayanti,Sam Toueg:每个问题都有一个最弱的故障检测器。PODC 2008:75-84。 http://doi.acm.org/10.1145/1400751.1400763

[5] Tushar Deepak Chandra,Vassos Hadzilacos,Sam Toueg:解决共识的最弱失败检测器。J.ACM 43(4):685-722(1996) http://doi.acm.org/10.1145/234533.234549

[6] Michel Raynal:解决异步k-Set协议的故障检测器:近期结果概览。EATCS 103公告:74-95(2011) http://albcom.lsi.upc.edu/ojs/index.php/beatcs/article/view/61


1
Hagit Attiya和Faith Ellen即将出版一本书,名为“分布式计算的不可能结果”。
卡韦
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.