是否存在一组规范的分布式系统问题,可以从中解决所有可能的分布式系统问题?
我不知道这样发布的问题清单。
请记住,分布式计算中有许多不同的模型(在某种程度上是无法比拟的),从“良性”同步(无故障)模型(在该模型中,节点以锁步方式执行,并在每一轮中可靠地传递所有消息)到异步模型,其中处理速度和消息延迟没有限制,节点本身可能崩溃或发送损坏的消息。为了进一步增加这种多样性,还有其他与同步性和故障正交的要求和假设:节点的初始知识(网络大小,网络直径,最大节点程度等),查询故障检测器的能力,节点是否具有唯一标识符,发送和接收步骤的原子性,单个消息的最大大小等等。
2
另一方面,在查看故障时,这些问题与诸如“该模型中的共识是否可以解决?”之类的可解决性问题更为相关。或“我们可以在这些假设下实现这种奇特的故障检测器吗?”
如果没有规范列表,那么当前的问题列表是什么,存在哪些减少措施?
在某些分布式计算模型中有许多减少这种情况的示例,我将回答限于以下2种:
(无故障)同步模型中的本地计算
Ω (对数ñ----√+ 日志Δ )ñΔ2一种一种
具有崩溃失败的异步模型
在这里,研究最多的问题是容错共识及其许多变体,因为实现基本原语(例如原子广播和/或同步器本身)需要共识。
小号 PŤP小号
P问PQk
例如,我很天真地说,领导人选举和互斥问题可以简化为共识问题。
当然,如果您可以解决共识,那么您将立即拥有一个用于选举领导者的算法:只需将每个节点的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