294 research outputs found
Asynchronous Convex Consensus in the Presence of Crash Faults
This paper defines a new consensus problem, convex consensus. Similar to
vector consensus [13, 20, 19], the input at each process is a d-dimensional
vector of reals (or, equivalently, a point in the d-dimensional Euclidean
space). However, for convex consensus, the output at each process is a convex
polytope contained within the convex hull of the inputs at the fault-free
processes. We explore the convex consensus problem under crash faults with
incorrect inputs, and present an asynchronous approximate convex consensus
algorithm with optimal fault tolerance that reaches consensus on an optimal
output polytope. Convex consensus can be used to solve other related problems.
For instance, a solution for convex consensus trivially yields a solution for
vector consensus. More importantly, convex consensus can potentially be used to
solve other more interesting problems, such as convex function optimization [5,
4].Comment: A version of this work is published in PODC 201
Byzantine Approximate Agreement on Graphs
Consider a distributed system with n processors out of which f can be Byzantine faulty. In the approximate agreement task, each processor i receives an input value x_i and has to decide on an output value y_i such that
1) the output values are in the convex hull of the non-faulty processors\u27 input values,
2) the output values are within distance d of each other.
Classically, the values are assumed to be from an m-dimensional Euclidean space, where m >= 1.
In this work, we study the task in a discrete setting, where input values with some structure expressible as a graph. Namely, the input values are vertices of a finite graph G and the goal is to output vertices that are within distance d of each other in G, but still remain in the graph-induced convex hull of the input values. For d=0, the task reduces to consensus and cannot be solved with a deterministic algorithm in an asynchronous system even with a single crash fault. For any d >= 1, we show that the task is solvable in asynchronous systems when G is chordal and n > (omega+1)f, where omega is the clique number of G. In addition, we give the first Byzantine-tolerant algorithm for a variant of lattice agreement. For synchronous systems, we show tight resilience bounds for the exact variants of these and related tasks over a large class of combinatorial structures
Approximate Consensus in Highly Dynamic Networks: The Role of Averaging Algorithms
In this paper, we investigate the approximate consensus problem in highly
dynamic networks in which topology may change continually and unpredictably. We
prove that in both synchronous and partially synchronous systems, approximate
consensus is solvable if and only if the communication graph in each round has
a rooted spanning tree, i.e., there is a coordinator at each time. The striking
point in this result is that the coordinator is not required to be unique and
can change arbitrarily from round to round. Interestingly, the class of
averaging algorithms, which are memoryless and require no process identifiers,
entirely captures the solvability issue of approximate consensus in that the
problem is solvable if and only if it can be solved using any averaging
algorithm. Concerning the time complexity of averaging algorithms, we show that
approximate consensus can be achieved with precision of in a
coordinated network model in synchronous
rounds, and in rounds when
the maximum round delay for a message to be delivered is . While in
general, an upper bound on the time complexity of averaging algorithms has to
be exponential, we investigate various network models in which this exponential
bound in the number of nodes reduces to a polynomial bound. We apply our
results to networked systems with a fixed topology and classical benign fault
models, and deduce both known and new results for approximate consensus in
these systems. In particular, we show that for solving approximate consensus, a
complete network can tolerate up to 2n-3 arbitrarily located link faults at
every round, in contrast with the impossibility result established by Santoro
and Widmayer (STACS '89) showing that exact consensus is not solvable with n-1
link faults per round originating from the same node
Relaxed Byzantine Vector Consensus
Exact Byzantine consensus problem requires that non-faulty processes reach
agreement on a decision (or output) that is in the convex hull of the inputs at
the non-faulty processes. It is well-known that exact consensus is impossible
in an asynchronous system in presence of faults, and in a synchronous system,
n>=3f+1 is tight on the number of processes to achieve exact Byzantine
consensus with scalar inputs, in presence of up to f Byzantine faulty
processes. Recent work has shown that when the inputs are d-dimensional vectors
of reals, n>=max(3f+1,(d+1)f+1) is tight to achieve exact Byzantine consensus
in synchronous systems, and n>= (d+2)f+1 for approximate Byzantine consensus in
asynchronous systems.
Due to the dependence of the lower bound on vector dimension d, the number of
processes necessary becomes large when the vector dimension is large. With the
hope of reducing the lower bound on n, we consider two relaxed versions of
Byzantine vector consensus: k-Relaxed Byzantine vector consensus and
(delta,p)-Relaxed Byzantine vector consensus. In k-relaxed consensus, the
validity condition requires that the output must be in the convex hull of
projection of the inputs onto any subset of k-dimensions of the vectors. For
(delta,p)-consensus the validity condition requires that the output must be
within distance delta of the convex hull of the inputs of the non-faulty
processes, where L_p norm is used as the distance metric. For
(delta,p)-consensus, we consider two versions: in one version, delta is a
constant, and in the second version, delta is a function of the inputs
themselves.
We show that for k-relaxed consensus and (delta,p)-consensus with constant
delta>=0, the bound on n is identical to the bound stated above for the
original vector consensus problem. On the other hand, when delta depends on the
inputs, we show that the bound on n is smaller when d>=3
Tight Bounds for Asymptotic and Approximate Consensus
We study the performance of asymptotic and approximate consensus algorithms
under harsh environmental conditions. The asymptotic consensus problem requires
a set of agents to repeatedly set their outputs such that the outputs converge
to a common value within the convex hull of initial values. This problem, and
the related approximate consensus problem, are fundamental building blocks in
distributed systems where exact consensus among agents is not required or
possible, e.g., man-made distributed control systems, and have applications in
the analysis of natural distributed systems, such as flocking and opinion
dynamics. We prove tight lower bounds on the contraction rates of asymptotic
consensus algorithms in dynamic networks, from which we deduce bounds on the
time complexity of approximate consensus algorithms. In particular, the
obtained bounds show optimality of asymptotic and approximate consensus
algorithms presented in [Charron-Bost et al., ICALP'16] for certain dynamic
networks, including the weakest dynamic network model in which asymptotic and
approximate consensus are solvable. As a corollary we also obtain
asymptotically tight bounds for asymptotic consensus in the classical
asynchronous model with crashes.
Central to our lower bound proofs is an extended notion of valency, the set
of reachable limits of an asymptotic consensus algorithm starting from a given
configuration. We further relate topological properties of valencies to the
solvability of exact consensus, shedding some light on the relation of these
three fundamental problems in dynamic networks
Distributed Computability in Byzantine Asynchronous Systems
In this work, we extend the topology-based approach for characterizing
computability in asynchronous crash-failure distributed systems to asynchronous
Byzantine systems. We give the first theorem with necessary and sufficient
conditions to solve arbitrary tasks in asynchronous Byzantine systems where an
adversary chooses faulty processes. In our adversarial formulation, outputs of
non-faulty processes are constrained in terms of inputs of non-faulty processes
only. For colorless tasks, an important subclass of distributed problems, the
general result reduces to an elegant model that effectively captures the
relation between the number of processes, the number of failures, as well as
the topological structure of the task's simplicial complexes.Comment: Will appear at the Proceedings of the 46th Annual Symposium on the
Theory of Computing, STOC 201
Byzantine Vector Consensus in Complete Graphs
Consider a network of n processes each of which has a d-dimensional vector of
reals as its input. Each process can communicate directly with all the
processes in the system; thus the communication network is a complete graph.
All the communication channels are reliable and FIFO (first-in-first-out). The
problem of Byzantine vector consensus (BVC) requires agreement on a
d-dimensional vector that is in the convex hull of the d-dimensional input
vectors at the non-faulty processes. We obtain the following results for
Byzantine vector consensus in complete graphs while tolerating up to f
Byzantine failures:
* We prove that in a synchronous system, n >= max(3f+1, (d+1)f+1) is
necessary and sufficient for achieving Byzantine vector consensus.
* In an asynchronous system, it is known that exact consensus is impossible
in presence of faulty processes. For an asynchronous system, we prove that n >=
(d+2)f+1 is necessary and sufficient to achieve approximate Byzantine vector
consensus.
Our sufficiency proofs are constructive. We show sufficiency by providing
explicit algorithms that solve exact BVC in synchronous systems, and
approximate BVC in asynchronous systems.
We also obtain tight bounds on the number of processes for achieving BVC
using algorithms that are restricted to a simpler communication pattern
- …