983 research outputs found
Relating L-Resilience and Wait-Freedom via Hitting Sets
The condition of t-resilience stipulates that an n-process program is only
obliged to make progress when at least n-t processes are correct. Put another
way, the live sets, the collection of process sets such that progress is
required if all the processes in one of these sets are correct, are all sets
with at least n-t processes.
We show that the ability of arbitrary collection of live sets L to solve
distributed tasks is tightly related to the minimum hitting set of L, a minimum
cardinality subset of processes that has a non-empty intersection with every
live set. Thus, finding the computing power of L is NP-complete.
For the special case of colorless tasks that allow participating processes to
adopt input or output values of each other, we use a simple simulation to show
that a task can be solved L-resiliently if and only if it can be solved
(h-1)-resiliently, where h is the size of the minimum hitting set of L.
For general tasks, we characterize L-resilient solvability of tasks with
respect to a limited notion of weak solvability: in every execution where all
processes in some set in L are correct, outputs must be produced for every
process in some (possibly different) participating set in L. Given a task T, we
construct another task T_L such that T is solvable weakly L-resiliently if and
only if T_L is solvable weakly wait-free
The solvability of consensus in iterated models extended with safe-consensus
The safe-consensus task was introduced by Afek, Gafni and Lieber (DISC'09) as
a weakening of the classic consensus. When there is concurrency, the consensus
output can be arbitrary, not even the input of any process. They showed that
safe-consensus is equivalent to consensus, in a wait-free system. We study the
solvability of consensus in three shared memory iterated models extended with
the power of safe-consensus black boxes. In the first model, for the -th
iteration, processes write to the memory, invoke safe-consensus boxes and
finally they snapshot the memory. We show that in this model, any wait-free
implementation of consensus requires safe-consensus black-boxes
and this bound is tight. In a second iterated model, the processes write to
memory, then they snapshot it and finally they invoke safe-consensus boxes. We
prove that in this model, consensus cannot be implemented. In the last iterated
model, processes first invoke safe-consensus, then they write to memory and
finally they snapshot it. We show that this model is equivalent to the previous
model and thus consensus cannot be implemented.Comment: 49 pages, A preliminar version of the main results appeared in the
SIROCCO 2014 proceeding
Wait-Freedom with Advice
We motivate and propose a new way of thinking about failure detectors which
allows us to define, quite surprisingly, what it means to solve a distributed
task \emph{wait-free} \emph{using a failure detector}. In our model, the system
is composed of \emph{computation} processes that obtain inputs and are supposed
to output in a finite number of steps and \emph{synchronization} processes that
are subject to failures and can query a failure detector. We assume that, under
the condition that \emph{correct} synchronization processes take sufficiently
many steps, they provide the computation processes with enough \emph{advice} to
solve the given task wait-free: every computation process outputs in a finite
number of its own steps, regardless of the behavior of other computation
processes. Every task can thus be characterized by the \emph{weakest} failure
detector that allows for solving it, and we show that every such failure
detector captures a form of set agreement. We then obtain a complete
classification of tasks, including ones that evaded comprehensible
characterization so far, such as renaming or weak symmetry breaking
- …