Preserving stabilization while practically bounding state space using incorruptible partially synchronized clocks

Distributed Computing(2019)

引用 0|浏览18
暂无评分
摘要
Stabilization is a key dependability property for dealing with unanticipated transient faults, as it guarantees that even in the presence of such faults, the system will recover to states where it satisfies its specification. One of the desirable attributes of stabilization is the use of bounded space for each variable. In this paper, we present an algorithm that transforms a stabilizing program that uses variables with unbounded domain into a stabilizing program that uses bounded variables by using partially synchronized physical time . Specifically, our algorithm relies on bounded clock drift ϵ among processes and message delivery that either delivers the message in time δ or loses it. If we let ϵ to be as much as 100 s and δ to be as much as 1 h, this property is satisfied by any practical system. While non-stabilizing programs (that do not handle transient faults) can deal with unbounded variables by assigning large enough but bounded space, stabilizing programs—that need to deal with arbitrary transient faults—cannot do the same since a transient fault may corrupt the variable to its maximum value. We show that our transformation algorithm is applicable to several problems including logical clocks, vector clocks, mutual exclusion, diffusing computations, and so on. Moreover, our approach can also be used to bound counters used in an earlier work by Katz and Perry for adding stabilization to a non-stabilizing program. By combining our algorithm with that work by Katz and Perry and by assuming incorruptible partially synchronized clocks , it would be possible to provide stabilization for a rich class of problems, by assigning large enough but bounded space for variables.
更多
查看译文
关键词
Self-stabilization, Unbounded variables, Bounded space, Physical time
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要