Predicting and preventing inconsistencies in deployed distributed systems

Predicting and preventing inconsistencies in deployed distributed systems
复制标题

DOI:
10.1145/1731060.1731062
复制
发表时间:
2009-04
期刊:
--
影响因子:
--
通讯作者:
M. Yabandeh;N. Knežević;Dejan Kostic;Viktor Kunčak
M. Yabandeh;N. Knežević;Dejan Kostic;Viktor Kunčak
中科院分区:
其他
文献类型:
--
作者:
M. Yabandeh;N. Knežević;Dejan Kostic;Viktor Kunčak

文献摘要

被引文献

相似文献

我们提出了一种开发和部署分布式系统的新方法,其中节点可以预测其行动的分布式后果,并使用此信息来检测和避免错误。每个节点在其邻里的最新一致快照上不断运行状态探索算法,并预测未来可能违反指定安全性的行为。我们描述了一种新的国家勘探算法,即后果预测,该算法探讨了导致财产侵犯的事件的因果关系链。本文介绍了这种方法的设计和实现,称为水晶球。我们在Randtree,Bulletprime,Paxos和Chord分布式系统实现上评估Crystalball。我们确定了三个系统的成熟MACE实现中的新错误。此外,我们表明,如果在系统开发过程中未纠正该错误,Crystalball可以在运行时有效地从不一致的状态转向执行。
We propose a new approach for developing and deploying distributed systems, in which nodes predict distributed consequences of their actions and use this information to detect and avoid errors. Each node continuously runs a state exploration algorithm on a recent consistent snapshot of its neighborhood and predicts possible future violations of specified safety properties. We describe a new state exploration algorithm, consequence prediction, which explores causally related chains of events that lead to property violation. This article describes the design and implementation of this approach, termed CrystalBall. We evaluate CrystalBall on RandTree, BulletPrime, Paxos, and Chord distributed system implementations. We identified new bugs in mature Mace implementations of three systems. Furthermore, we show that if the bug is not corrected during system development, CrystalBall is effective in steering the execution away from inconsistent states at runtime.