On the Complexity of Adding Convergence
This paper investigates the complexity of designing Self-Stabilizing (SS) distributed programs, where an SS program meets two properties, namely closure and convergence. Convergence requires that, from any state, the computations of an SS program reach a set of legitimate states (a.k.a. invariant)....
Saved in:
Published in | Fundamentals of Software Engineering Vol. 8161; pp. 17 - 33 |
---|---|
Main Authors | , |
Format | Book Chapter |
Language | English |
Published |
Germany
Springer Berlin / Heidelberg
2013
Springer Berlin Heidelberg |
Series | Lecture Notes in Computer Science |
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | This paper investigates the complexity of designing Self-Stabilizing (SS) distributed programs, where an SS program meets two properties, namely closure and convergence. Convergence requires that, from any state, the computations of an SS program reach a set of legitimate states (a.k.a. invariant). Upon reaching a legitimate state, the computations of an SS program remain in the set of legitimate states as long as no faults occur; i.e., Closure. We illustrate that, in general, the problem of augmenting a distributed program with convergence, i.e., adding convergence, is NP-complete (in the size of its state space). An implication of our NP-completeness result is the hardness of adding nonmasking fault tolerance to distributed programs, which has been an open problem for the past decade. |
---|---|
Bibliography: | This work was sponsored in part by the NSF grant CCF-1116546 and a grant from Michigan Technological University. |
ISBN: | 3642402127 9783642402128 |
ISSN: | 0302-9743 1611-3349 |
DOI: | 10.1007/978-3-642-40213-5_2 |