3,132 research outputs found
Memory lower bounds for deterministic self-stabilization
In the context of self-stabilization, a \emph{silent} algorithm guarantees
that the register of every node does not change once the algorithm has
stabilized. At the end of the 90's, Dolev et al. [Acta Inf. '99] showed that,
for finding the centers of a graph, for electing a leader, or for constructing
a spanning tree, every silent algorithm must use a memory of
bits per register in -node networks. Similarly, Korman et al. [Dist. Comp.
'07] proved, using the notion of proof-labeling-scheme, that, for constructing
a minimum-weight spanning trees (MST), every silent algorithm must use a memory
of bits per register. It follows that requiring the algorithm
to be silent has a cost in terms of memory space, while, in the context of
self-stabilization, where every node constantly checks the states of its
neighbors, the silence property can be of limited practical interest. In fact,
it is known that relaxing this requirement results in algorithms with smaller
space-complexity.
In this paper, we are aiming at measuring how much gain in terms of memory
can be expected by using arbitrary self-stabilizing algorithms, not necessarily
silent. To our knowledge, the only known lower bound on the memory requirement
for general algorithms, also established at the end of the 90's, is due to
Beauquier et al.~[PODC '99] who proved that registers of constant size are not
sufficient for leader election algorithms. We improve this result by
establishing a tight lower bound of bits per
register for self-stabilizing algorithms solving -coloring or
constructing a spanning tree in networks of maximum degree~. The lower
bound bits per register also holds for leader election
Compact Deterministic Self-Stabilizing Leader Election: The Exponential Advantage of Being Talkative
This paper focuses on compact deterministic self-stabilizing solutions for
the leader election problem. When the protocol is required to be \emph{silent}
(i.e., when communication content remains fixed from some point in time during
any execution), there exists a lower bound of Omega(\log n) bits of memory per
node participating to the leader election (where n denotes the number of nodes
in the system). This lower bound holds even in rings. We present a new
deterministic (non-silent) self-stabilizing protocol for n-node rings that uses
only O(\log\log n) memory bits per node, and stabilizes in O(n\log^2 n) rounds.
Our protocol has several attractive features that make it suitable for
practical purposes. First, the communication model fits with the model used by
existing compilers for real networks. Second, the size of the ring (or any
upper bound on this size) needs not to be known by any node. Third, the node
identifiers can be of various sizes. Finally, no synchrony assumption, besides
a weakly fair scheduler, is assumed. Therefore, our result shows that, perhaps
surprisingly, trading silence for exponential improvement in term of memory
space does not come at a high cost regarding stabilization time or minimal
assumptions
Polynomial-Time Space-Optimal Silent Self-Stabilizing Minimum-Degree Spanning Tree Construction
Motivated by applications to sensor networks, as well as to many other areas,
this paper studies the construction of minimum-degree spanning trees. We
consider the classical node-register state model, with a weakly fair scheduler,
and we present a space-optimal \emph{silent} self-stabilizing construction of
minimum-degree spanning trees in this model. Computing a spanning tree with
minimum degree is NP-hard. Therefore, we actually focus on constructing a
spanning tree whose degree is within one from the optimal. Our algorithm uses
registers on bits, converges in a polynomial number of rounds, and
performs polynomial-time computation at each node. Specifically, the algorithm
constructs and stabilizes on a special class of spanning trees, with degree at
most . Indeed, we prove that, unless NP coNP, there are no
proof-labeling schemes involving polynomial-time computation at each node for
the whole family of spanning trees with degree at most . Up to our
knowledge, this is the first example of the design of a compact silent
self-stabilizing algorithm constructing, and stabilizing on a subset of optimal
solutions to a natural problem for which there are no time-efficient
proof-labeling schemes. On our way to design our algorithm, we establish a set
of independent results that may have interest on their own. In particular, we
describe a new space-optimal silent self-stabilizing spanning tree
construction, stabilizing on \emph{any} spanning tree, in rounds, and
using just \emph{one} additional bit compared to the size of the labels used to
certify trees. We also design a silent loop-free self-stabilizing algorithm for
transforming a tree into another tree. Last but not least, we provide a silent
self-stabilizing algorithm for computing and certifying the labels of a
NCA-labeling scheme
Fast and compact self-stabilizing verification, computation, and fault detection of an MST
This paper demonstrates the usefulness of distributed local verification of
proofs, as a tool for the design of self-stabilizing algorithms.In particular,
it introduces a somewhat generalized notion of distributed local proofs, and
utilizes it for improving the time complexity significantly, while maintaining
space optimality. As a result, we show that optimizing the memory size carries
at most a small cost in terms of time, in the context of Minimum Spanning Tree
(MST). That is, we present algorithms that are both time and space efficient
for both constructing an MST and for verifying it.This involves several parts
that may be considered contributions in themselves.First, we generalize the
notion of local proofs, trading off the time complexity for memory efficiency.
This adds a dimension to the study of distributed local proofs, which has been
gaining attention recently. Specifically, we design a (self-stabilizing) proof
labeling scheme which is memory optimal (i.e., bits per node), and
whose time complexity is in synchronous networks, or time in asynchronous ones, where is the maximum degree of
nodes. This answers an open problem posed by Awerbuch and Varghese (FOCS 1991).
We also show that time is necessary, even in synchronous
networks. Another property is that if faults occurred, then, within the
requireddetection time above, they are detected by some node in the locality of each of the faults.Second, we show how to enhance a known
transformer that makes input/output algorithms self-stabilizing. It now takes
as input an efficient construction algorithm and an efficient self-stabilizing
proof labeling scheme, and produces an efficient self-stabilizing algorithm.
When used for MST, the transformer produces a memory optimal self-stabilizing
algorithm, whose time complexity, namely, , is significantly better even
than that of previous algorithms. (The time complexity of previous MST
algorithms that used memory bits per node was , and
the time for optimal space algorithms was .) Inherited from our proof
labelling scheme, our self-stabilising MST construction algorithm also has the
following two properties: (1) if faults occur after the construction ended,
then they are detected by some nodes within time in synchronous
networks, or within time in asynchronous ones, and (2) if
faults occurred, then, within the required detection time above, they are
detected within the locality of each of the faults. We also show
how to improve the above two properties, at the expense of some increase in the
memory
Simple and Efficient Local Codes for Distributed Stable Network Construction
In this work, we study protocols so that populations of distributed processes
can construct networks. In order to highlight the basic principles of
distributed network construction we keep the model minimal in all respects. In
particular, we assume finite-state processes that all begin from the same
initial state and all execute the same protocol (i.e. the system is
homogeneous). Moreover, we assume pairwise interactions between the processes
that are scheduled by an adversary. The only constraint on the adversary
scheduler is that it must be fair. In order to allow processes to construct
networks, we let them activate and deactivate their pairwise connections. When
two processes interact, the protocol takes as input the states of the processes
and the state of the their connection and updates all of them. Initially all
connections are inactive and the goal is for the processes, after interacting
and activating/deactivating connections for a while, to end up with a desired
stable network. We give protocols (optimal in some cases) and lower bounds for
several basic network construction problems such as spanning line, spanning
ring, spanning star, and regular network. We provide proofs of correctness for
all of our protocols and analyze the expected time to convergence of most of
them under a uniform random scheduler that selects the next pair of interacting
processes uniformly at random from all such pairs. Finally, we prove several
universality results by presenting generic protocols that are capable of
simulating a Turing Machine (TM) and exploiting it in order to construct a
large class of networks.Comment: 43 pages, 7 figure
- …