341 research outputs found
Wait-Free Solvability of Equality Negation Tasks
We introduce a family of tasks for n processes, as a generalization of the two process equality negation task of Lo and Hadzilacos (SICOMP 2000). Each process starts the computation with a private input value taken from a finite set of possible inputs. After communicating with the other processes using immediate snapshots, the process must decide on a binary output value, 0 or 1. The specification of the task is the following: in an execution, if the set of input values is large enough, the processes should agree on the same output; if the set of inputs is small enough, the processes should disagree; and in-between these two cases, any output is allowed. Formally, this specification depends on two threshold parameters k and l, with k<l, indicating when the cardinality of the set of inputs becomes "small" or "large", respectively. We study the solvability of this task depending on those two parameters. First, we show that the task is solvable whenever k+2 <= l. For the remaining cases (l = k+1), we use various combinatorial topology techniques to obtain two impossibility results: the task is unsolvable if either k <= n/2 or n-k is odd. The remaining cases are still open
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
Locality and Checkability in Wait-free Computing
22 pagesThis paper studies several notions of locality that are inherent to the specification of distributed tasks and independent of the computing environment, and investigates the ability of a shared memory wait-free system to solve tasks satisfying various forms of locality. First, we define a task to be projection-closed if every partial output π(t) for a full input s is also a valid output for the partial input π(s) and prove that projection-closed tasks are precisely those tasks that are wait-free checkable. Our second main contribution is dealing with a stronger notion of lo- cality of topological nature. A task T = (I, O, ∆) is said to be locality- preserving if and only if O is a covering complex of I, that is, each simplex s of I is mapped by ∆ to a set of simplexes of O each isomorphic to s. This topological property yields obstacles for wait-free solvability different in nature from the classical agreement impossibility results. On the other hand, locality-preserving tasks are projection-closed and therefore always wait-free checkable. We provide a classification of locality-preserving tasks in term of their computational power, by establishing a correspondence between locality-preserving tasks and subgroups of the edgepath group of a complex. Using this correspondence, we prove the existence of hierarchies of locality-preserving tasks, each one containing a universal task (induced by the universal covering complex), and at the bottom the trivial identity task
Decentralized Asynchronous Crash-Resilient Runtime Verification
Runtime Verification (RV) is a lightweight method for monitoring the formal specification of a system during its execution. It has recently been shown that a given state predicate can be monitored consistently by a set of crash-prone asynchronous distributed monitors, only if sufficiently many different verdicts can be emitted by each monitor. We revisit this impossibility result in the context of LTL semantics for RV. We show that employing the four-valued logic Rv-LTL will result in inconsistent distributed monitoring for some formulas. Our first main contribution is a family of logics, called Ltl2k+4, that refines Rv-Ltl incorporating 2k + 4 truth values, for each k >= 0. The truth values of Ltl2k+4 can be effectively used by each monitor to reach a consistent global set of verdicts for each given formula, provided k is sufficiently large. Our second main contribution is an algorithm for monitor construction enabling fault-tolerant distributed monitoring based on the aggregation of the individual verdicts by each monitor
- …
