29,120 research outputs found
On the Optimal Space Complexity of Consensus for Anonymous Processes
The optimal space complexity of consensus in shared memory is a decades-old
open problem. For a system of processes, no algorithm is known that uses a
sublinear number of registers. However, the best known lower bound due to Fich,
Herlihy, and Shavit requires registers.
The special symmetric case of the problem where processes are anonymous (run
the same algorithm) has also attracted attention. Even in this case, the best
lower and upper bounds are still and . Moreover, Fich,
Herlihy, and Shavit first proved their lower bound for anonymous processes, and
then extended it to the general case. As such, resolving the anonymous case
might be a significant step towards understanding and solving the general
problem.
In this work, we show that in a system of anonymous processes, any consensus
algorithm satisfying nondeterministic solo termination has to use
read-write registers in some execution. This implies an lower bound
on the space complexity of deterministic obstruction-free and randomized
wait-free consensus, matching the upper bound and closing the symmetric case of
the open problem
A Complexity-Based Hierarchy for Multiprocessor Synchronization
For many years, Herlihy's elegant computability based Consensus Hierarchy has
been our best explanation of the relative power of various types of
multiprocessor synchronization objects when used in deterministic algorithms.
However, key to this hierarchy is treating synchronization instructions as
distinct objects, an approach that is far from the real-world, where
multiprocessor programs apply synchronization instructions to collections of
arbitrary memory locations. We were surprised to realize that, when considering
instructions applied to memory locations, the computability based hierarchy
collapses. This leaves open the question of how to better capture the power of
various synchronization instructions.
In this paper, we provide an approach to answering this question. We present
a hierarchy of synchronization instructions, classified by their space
complexity in solving obstruction-free consensus. Our hierarchy provides a
classification of combinations of known instructions that seems to fit with our
intuition of how useful some are in practice, while questioning the
effectiveness of others. We prove an essentially tight characterization of the
power of buffered read and write instructions.Interestingly, we show a similar
result for multi-location atomic assignments
Simple Dynamics for Plurality Consensus
We study a \emph{Plurality-Consensus} process in which each of anonymous
agents of a communication network initially supports an opinion (a color chosen
from a finite set ). Then, in every (synchronous) round, each agent can
revise his color according to the opinions currently held by a random sample of
his neighbors. It is assumed that the initial color configuration exhibits a
sufficiently large \emph{bias} towards a fixed plurality color, that is,
the number of nodes supporting the plurality color exceeds the number of nodes
supporting any other color by additional nodes. The goal is having the
process to converge to the \emph{stable} configuration in which all nodes
support the initial plurality. We consider a basic model in which the network
is a clique and the update rule (called here the \emph{3-majority dynamics}) of
the process is the following: each agent looks at the colors of three random
neighbors and then applies the majority rule (breaking ties uniformly).
We prove that the process converges in time with high probability, provided that .
We then prove that our upper bound above is tight as long as . This fact implies an exponential time-gap between the
plurality-consensus process and the \emph{median} process studied by Doerr et
al. in [ACM SPAA'11].
A natural question is whether looking at more (than three) random neighbors
can significantly speed up the process. We provide a negative answer to this
question: In particular, we show that samples of polylogarithmic size can speed
up the process by a polylogarithmic factor only.Comment: Preprint of journal versio
Distributed anonymous discrete function computation
We propose a model for deterministic distributed function computation by a
network of identical and anonymous nodes. In this model, each node has bounded
computation and storage capabilities that do not grow with the network size.
Furthermore, each node only knows its neighbors, not the entire graph. Our goal
is to characterize the class of functions that can be computed within this
model. In our main result, we provide a necessary condition for computability
which we show to be nearly sufficient, in the sense that every function that
satisfies this condition can at least be approximated. The problem of computing
suitably rounded averages in a distributed manner plays a central role in our
development; we provide an algorithm that solves it in time that grows
quadratically with the size of the network
On the Uncontended Complexity of Anonymous Consensus
Consensus is one of the central distributed abstractions. By enabling a collection of processes to agree on one of the values they propose, consensus can be used to implement any generic replicated service in a consistent and fault-tolerant way.
In this paper, we study uncontended complexity of anonymous consensus algorithms, counting the number of memory locations used and the number of memory updates performed in operations that encounter no contention. We assume that contention-free operations on a consensus object perform "fast" reads and writes, and resort to more expensive synchronization primitives, such as CAS, only when contention is detected. We call such concurrent implementations interval-solo-fast and derive one of the first nontrivial tight bounds on space complexity of anonymous interval-solo-fast consensus
- …