61,873 research outputs found
An Improved Approximate Consensus Algorithm in the Presence of Mobile Faults
This paper explores the problem of reaching approximate consensus in
synchronous point-to-point networks, where each pair of nodes is able to
communicate with each other directly and reliably. We consider the mobile
Byzantine fault model proposed by Garay '94 -- in the model, an omniscient
adversary can corrupt up to nodes in each round, and at the beginning of
each round, faults may "move" in the system (i.e., different sets of nodes may
become faulty in different rounds). Recent work by Bonomi et al. '16 proposed a
simple iterative approximate consensus algorithm which requires at least
nodes. This paper proposes a novel technique of using "confession" (a mechanism
to allow others to ignore past behavior) and a variant of reliable broadcast to
improve the fault-tolerance level. In particular, we present an approximate
consensus algorithm that requires only nodes, an
improvement over the state-of-the-art algorithms.
Moreover, we also show that the proposed algorithm is optimal within a family
of round-based algorithms
Parallelizing Deadlock Resolution in Symbolic Synthesis of Distributed Programs
Previous work has shown that there are two major complexity barriers in the
synthesis of fault-tolerant distributed programs: (1) generation of fault-span,
the set of states reachable in the presence of faults, and (2) resolving
deadlock states, from where the program has no outgoing transitions. Of these,
the former closely resembles with model checking and, hence, techniques for
efficient verification are directly applicable to it. Hence, we focus on
expediting the latter with the use of multi-core technology.
We present two approaches for parallelization by considering different design
choices. The first approach is based on the computation of equivalence classes
of program transitions (called group computation) that are needed due to the
issue of distribution (i.e., inability of processes to atomically read and
write all program variables). We show that in most cases the speedup of this
approach is close to the ideal speedup and in some cases it is superlinear. The
second approach uses traditional technique of partitioning deadlock states
among multiple threads. However, our experiments show that the speedup for this
approach is small. Consequently, our analysis demonstrates that a simple
approach of parallelizing the group computation is likely to be the effective
method for using multi-core computing in the context of deadlock resolution
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
- …