118 research outputs found
On the Space Complexity of Set Agreement
The -set agreement problem is a generalization of the classical consensus
problem in which processes are permitted to output up to different input
values. In a system of processes, an -obstruction-free solution to the
problem requires termination only in executions where the number of processes
taking steps is eventually bounded by . This family of progress conditions
generalizes wait-freedom () and obstruction-freedom (). In this
paper, we prove upper and lower bounds on the number of registers required to
solve -obstruction-free -set agreement, considering both one-shot and
repeated formulations. In particular, we show that repeated set agreement
can be solved using registers and establish a nearly matching lower
bound of
Anonymous and fault-tolerant shared-memory computing
The vast majority of papers on distributed computing assume that processes are assigned unique identifiers before computation begins. But is this assumption necessary? What if processes do not have unique identifiers or do not wish to divulge them for reasons of privacy? We consider asynchronous shared-memory systems that are anonymous. The shared memory contains only the most common type of shared objects, read/write registers. We investigate, for the first time, what can be implemented deterministically in this model when processes can fail. We give anonymous algorithms for some fundamental problems: time-stamping, snapshots and consensus. Our solutions to the first two are wait-free and the third is obstruction-free. We also show that a shared object has an obstruction-free implementation if and only if it satisfies a simple property called idempotence. To prove the sufficiency of this condition, we give a universal construction that implements any idempotent objec
Secretive Birds: Privacy in Population Protocols
We study private computations in a system of tiny mobile agents. We consider the mobile population protocol model of Angluin et al. and ask what can be computed without ever revealing any input to a curious adversary. We show that any predicate that can be computed in the original population model can be made private through an procedure that exploits the inherent non-determinism of the mobility pattern. In short, the idea is for every mobile agent to generate, besides its actual input value, a set of wrong input values to confuse the curious adversary. To converge to the correct result, the procedure has the agents eventually eliminate the wrong values; however, the moment when this happens i s hidden from the adversary. This is achieved without jeopardizing the tiny nature of the agents: they still have very small storage size that is independent of the cardinality of the system. We present three variants of this obfuscation procedure that help compute resp ectively, remainder, threshold, and or predicates which, when com posed, cover all those that can be computed in the population protocol model
When Birds Die: Making Population Protocols Fault-Tolerant
14 pagesIn the population protocol model introduced by Angluin et al., a collection of agents, which are modelled by finite state machines, move around unpredictably and have pairwise interactions. The ability of such systems to compute functions on a multiset of inputs that are initially distributed across all of the agents has been studied in the absence of failures. Here, we show that essentially the same set of functions can be computed in the presence of halting and transient failures, unless the number of failures is so large that they can immediately obscure enough of the inputs to change the outcome. We do this by giving a general-purpose transformation that makes any algorithm for the fault-free setting tolerant to failures
A paradox of eventual linearizability in shared memory
This paper compares, for the rst time, the computational power of linearizable objects with that of eventually linearizable ones. We present the following paradox. We show that, unsurprisingly, no set of eventually linearizable objects can (1) implement any non-trivial linearizable object, nor (2) boost the consensus power of simple objects like linearizable registers. We also show, perhaps surprisingly, that any implementation of an eventually linearizable complex object like a fetch&increment counter (from linearizable base objects), can itself be viewed as a fully linearizable implementation of the same fetch&increment counter (using the exact same set of base objects
Even Small Birds are Unique: Population Protocols with Identifiers
Although much research has been devoted to designing and experimenting on ad hoc networks of tiny devices, very little has focussed on devising theoretical models to capture the inherent power and limitations of such networks. A notable exception is the population protocol model of Angluin et al. [2]. This model is simple and elegant but is sometimes considered too restrictive because of its anonymity: mobile agents have no identities and all look the same. We investigate in this paper the inherent power of the population protocol model augmented with the ability of each agent to be uniquely identified as well as store a constant number of other agentsâ identifiers. We provide an exact characterization of what can be computed in this new community protocol model: a function can be computed if and only if it is symmetric and in NSPACE(n log n). This is shown using a simulation of pointer machines. We also consider the ability of our community protocol model to handle failures. We describe what can be computed when there are a constant number of benign failures and show that nontrivial computations can be achieved even if agents can be Byzantine
- âŠ