349 research outputs found
Necessary and Sufficient Conditions on Partial Orders for Modeling Concurrent Computations
Partial orders are used extensively for modeling and analyzing concurrent
computations. In this paper, we define two properties of partially ordered
sets: width-extensibility and interleaving-consistency, and show that a partial
order can be a valid state based model: (1) of some synchronous concurrent
computation iff it is width-extensible, and (2) of some asynchronous concurrent
computation iff it is width-extensible and interleaving-consistent. We also
show a duality between the event based and state based models of concurrent
computations, and give algorithms to convert models between the two domains.
When applied to the problem of checkpointing, our theory leads to a better
understanding of some existing results and algorithms in the field. It also
leads to efficient detection algorithms for predicates whose evaluation
requires knowledge of states from all the processes in the system
Parallel and Distributed Algorithms for the Housing Allocation Problem
We give parallel and distributed algorithms for the housing allocation
problem. In this problem, there is a set of agents and a set of houses. Each
agent has a strict preference list for a subset of houses. We need to find a
matching such that some criterion is optimized. One such criterion is Pareto
Optimality. A matching is Pareto optimal if no coalition of agents can be
strictly better off by exchanging houses among themselves. We also study the
housing market problem, a variant of the housing allocation problem, where each
agent initially owns a house. In addition to Pareto optimality, we are also
interested in finding the core of a housing market. A matching is in the core
if there is no coalition of agents that can be better off by breaking away from
other agents and switching houses only among themselves.
In the first part of this work, we show that computing a Pareto optimal
matching of a house allocation is in {\bf CC} and computing the core of a
housing market is {\bf CC}-hard. Given a matching, we also show that verifying
whether it is in the core can be done in {\bf NC}. We then give an algorithm to
show that computing a maximum Pareto optimal matching for the housing
allocation problem is in {\bf RNC}^2 and quasi-{\bf NC}^2. In the second part
of this work, we present a distributed version of the top trading cycle
algorithm for finding the core of a housing market. To that end, we first
present two algorithms for finding all the disjoint cycles in a functional
graph: a Las Vegas algorithm which terminates in rounds with high
probability, where is the length of the longest cycle, and a deterministic
algorithm which terminates in rounds, where is the
number of nodes in the graph. Both algorithms work in the synchronous
distributed model and use messages of size
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
Lattice Linear Predicate Algorithms for the Constrained Stable Marriage Problem with Ties
We apply Lattice-Linear Predicate Detection Technique to derive parallel and
distributed algorithms for various variants of the stable matching problem.
These problems are: (a) the constrained stable marriage problem (b) the super
stable marriage problem in presence of ties, and (c) the strongly stable
marriage in presence of ties. All these problems are solved using the
Lattice-Linear Predicate (LLP) algorithm showing its generality. The
constrained stable marriage problem is a version of finding the stable marriage
in presence of lattice-linear constraints such as ``Peter's regret is less than
that of Paul.'' For the constrained stable marriage problem, we present a
distributed algorithm that takes messages each of size
where is the number of men in the problem. Our algorithm is completely
asynchronous. Our algorithms for the stable marriage problem with ties are also
parallel with no synchronization.Comment: arXiv admin note: text overlap with arXiv:1812.1043
Linearizable Replicated State Machines With Lattice Agreement
This paper studies the lattice agreement problem in asynchronous systems and explores its application to building a linearizable replicated state machine (RSM). First, we propose an algorithm to solve the lattice agreement problem in O(log f) asynchronous rounds, where f is the number of crash failures that the system can tolerate. This is an exponential improvement over the previous best upper bound of O(f). Second, Faleiro et al have shown in [Faleiro et al. PODC, 2012] that combination of conflict-free data types and lattice agreement protocols can be applied to implement a linearizable RSM. They give a Paxos style lattice agreement protocol, which can be adapted to implement a linearizable RSM and guarantee that a command by a client can be learned in at most O(n) message delays, where n is the number of proposers. Later, Xiong et al in [Xiong et al. DISC, 2018] gave a lattice agreement protocol which improves the O(n) message delay guarantee to O(f). However, neither of the protocols is practical for building a linearizable RSM. Thus, in the second part of the paper, we first give an improved protocol based on the one proposed by Xiong et al. Then, we implement a simple linearizable RSM using our improved protocol and compare our implementation with an open source Java implementation of Paxos. Results show that better performance can be obtained by using lattice agreement based protocols to implement a linearizable RSM compared to traditional consensus based protocols
- …