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)....

Full description

Saved in:
Bibliographic Details
Published inFundamentals of Software Engineering Vol. 8161; pp. 17 - 33
Main Authors Klinkhamer, Alex, Ebnenasir, Ali
Format Book Chapter
LanguageEnglish
Published Germany Springer Berlin / Heidelberg 2013
Springer Berlin Heidelberg
SeriesLecture Notes in Computer Science
Subjects
Online AccessGet full text

Cover

Loading…
More Information
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