8,863 research outputs found
Fast self-stabilizing byzantine tolerant digital clock synchronization
Consider a distributed network in which up to a third of the nodes may be Byzantine, and in which the non-faulty nodes may be subject to transient faults that alter their memory in an arbitrary fashion. Within the context of this model, we are interested in the digital clock synchronization problem; which consists of agreeing on bounded integer counters, and increasing these counters regularly. It has been postulated in the past that synchronization cannot be solved in a Byzantine tolerant and self-stabilizing manner. The first solution to this problem had an expected exponential convergence time. Later, a deterministic solution was published with linear convergence time, which is optimal for deterministic solutions. In the current paper we achieve an expected constant convergence time. We thus obtain the optimal probabilistic solution, both in terms of convergence time and in terms of resilience to Byzantine adversaries
Dynamic FTSS in Asynchronous Systems: the Case of Unison
Distributed fault-tolerance can mask the effect of a limited number of
permanent faults, while self-stabilization provides forward recovery after an
arbitrary number of transient fault hit the system. FTSS protocols combine the
best of both worlds since they are simultaneously fault-tolerant and
self-stabilizing. To date, FTSS solutions either consider static (i.e. fixed
point) tasks, or assume synchronous scheduling of the system components. In
this paper, we present the first study of dynamic tasks in asynchronous
systems, considering the unison problem as a benchmark. Unison can be seen as a
local clock synchronization problem as neighbors must maintain digital clocks
at most one time unit away from each other, and increment their own clock value
infinitely often. We present many impossibility results for this difficult
problem and propose a FTSS solution when the problem is solvable that exhibits
optimal fault containment
Minimizing Message Size in Stochastic Communication Patterns: Fast Self-Stabilizing Protocols with 3 bits
This paper considers the basic model of communication, in
which in each round, each agent extracts information from few randomly chosen
agents. We seek to identify the smallest amount of information revealed in each
interaction (message size) that nevertheless allows for efficient and robust
computations of fundamental information dissemination tasks. We focus on the
Majority Bit Dissemination problem that considers a population of agents,
with a designated subset of source agents. Each source agent holds an input bit
and each agent holds an output bit. The goal is to let all agents converge
their output bits on the most frequent input bit of the sources (the majority
bit). Note that the particular case of a single source agent corresponds to the
classical problem of Broadcast. We concentrate on the severe fault-tolerant
context of self-stabilization, in which a correct configuration must be reached
eventually, despite all agents starting the execution with arbitrary initial
states.
We first design a general compiler which can essentially transform any
self-stabilizing algorithm with a certain property that uses -bits
messages to one that uses only -bits messages, while paying only a
small penalty in the running time. By applying this compiler recursively we
then obtain a self-stabilizing Clock Synchronization protocol, in which agents
synchronize their clocks modulo some given integer , within rounds w.h.p., and using messages that contain bits only.
We then employ the new Clock Synchronization tool to obtain a
self-stabilizing Majority Bit Dissemination protocol which converges in time, w.h.p., on every initial configuration, provided that the
ratio of sources supporting the minority opinion is bounded away from half.
Moreover, this protocol also uses only 3 bits per interaction.Comment: 28 pages, 4 figure
Stabilizing data-link over non-FIFO channels with optimal fault-resilience
Self-stabilizing systems have the ability to converge to a correct behavior
when started in any configuration. Most of the work done so far in the
self-stabilization area assumed either communication via shared memory or via
FIFO channels. This paper is the first to lay the bases for the design of
self-stabilizing message passing algorithms over unreliable non-FIFO channels.
We propose a fault-send-deliver optimal stabilizing data-link layer that
emulates a reliable FIFO communication channel over unreliable capacity bounded
non-FIFO channels
Synchronization Algorithms on Oriented Chains
We present a space- and time-optimal self-stabilizing algorithm, SSDS, for a given synchronization problem on asynchronous oriented chains. SSDS is uniform and works under the unfair distributed daemon. From SSDS we derive solutions for the local mutual exclusion and distributed sorting. Algorithm SSDS can also be used to obtain optimal space solutions for other problems such as broadcasting, leader election, and mutual exclusion
Self-Stabilizing Wavelets and r-Hops Coordination
We introduce a simple tool called the wavelet (or, r-wavelet) scheme.
Wavelets deals with coordination among processes which are at most r hops away
of each other. We present a selfstabilizing solution for this scheme. Our
solution requires no underlying structure and works in arbritrary anonymous
networks, i.e., no process identifier is required. Moreover, our solution works
under any (even unfair) daemon. Next, we use the wavelet scheme to design
self-stabilizing layer clocks. We show that they provide an efficient device in
the design of local coordination problems at distance r, i.e., r-barrier
synchronization and r-local resource allocation (LRA) such as r-local mutual
exclusion (LME), r-group mutual exclusion (GME), and r-Reader/Writers. Some
solutions to the r-LRA problem (e.g., r-LME) also provide transformers to
transform algorithms written assuming any r-central daemon into algorithms
working with any distributed daemon
An Optimal Self-Stabilizing Firing Squad
Consider a fully connected network where up to processes may crash, and
all processes start in an arbitrary memory state. The self-stabilizing firing
squad problem consists of eventually guaranteeing simultaneous response to an
external input. This is modeled by requiring that the non-crashed processes
"fire" simultaneously if some correct process received an external "GO" input,
and that they only fire as a response to some process receiving such an input.
This paper presents FireAlg, the first self-stabilizing firing squad algorithm.
The FireAlg algorithm is optimal in two respects: (a) Once the algorithm is
in a safe state, it fires in response to a GO input as fast as any other
algorithm does, and (b) Starting from an arbitrary state, it converges to a
safe state as fast as any other algorithm does.Comment: Shorter version to appear in SSS0
Universal Loop-Free Super-Stabilization
We propose an univesal scheme to design loop-free and super-stabilizing
protocols for constructing spanning trees optimizing any tree metrics (not only
those that are isomorphic to a shortest path tree). Our scheme combines a novel
super-stabilizing loop-free BFS with an existing self-stabilizing spanning tree
that optimizes a given metric. The composition result preserves the best
properties of both worlds: super-stabilization, loop-freedom, and optimization
of the original metric without any stabilization time penalty. As case study we
apply our composition mechanism to two well known metric-dependent spanning
trees: the maximum-flow tree and the minimum degree spanning tree
- …