3,736 research outputs found
A Flexible and Efficient Protocol for Multi-Scope Service Registry Replication
Service registries play an important role in service discovery systems by accepting service registrations and answering service queries; they can serve a wide range of purposes, such as membership services, lookup services, and search services. To provide fault tolerant, and enhance scalability, availability and performance, service registries often need to be replicated. In this paper, we present Swift (Selective anti-entropy WIth FasT update propagation), a flexible and efficient protocol for multi-scope service registry replication. As consistency is a less of concern compared with availability in service registry replication, we choose to build Swift on top of anti-entropy to support high availability replication. Swift makes two contributions as follows. First, it defines a more general and flexible form of anti-entropy called selective anti-entropy, which extends the applicability of anti-entropy from full replication to partial replication by selectively reconciling inconsistent states between two replicas, and improves anti-entropy efficiency by fine controlling update propagation within each subset. Selective anti-entropy is the first that we are aware of in using anti-entropy to support generic partial replication. Secondly, Swift integrates service registry overlay networks with selective anti-entropy. Different topologies, such as full mesh and spanning tree, can be used for constructing service registry overlay networks. These overlay networks are used to propagate new updates quickly so as to minimize inconsistency among replicas. We have implemented Swift for replicating multi-scope Directory Agents in the Service Location Protocol. Our experience shows that Swift is flexible, efficient, and lightweight
Khazana: a flexible wide area data store
technical reportKhazana is a peer-to-peer data service that supports efficient sharing and aggressive caching of mutable data across the wide area while giving clients significant control over replica divergence. Previous work on wide-area replicated services focussed on at most two of the following three properties: aggressive replication, customizable consistency, and generality. In contrast, Khazana provides scalable support for large numbers of replicas while giving applications considerable flexibility in trading off consistency for availability and performance. Its flexibility enables applications to effectively exploit inherent data locality while meeting consistency needs. Khazana exports a file system-like interface with a small set of consistency controls which can be combined to yield a broad spectrum of consistency flavors ranging from strong consistency to best-effort eventual consistency. Khazana servers form failure-resilient dynamic replica hierarchies to manage replicas across variable quality network links. In this report, we outline Khazana?s design and show how its flexibility enables three diverse network services built on top of it to meet their individual consistency and performance needs: (i) a wide-area replicated file system that supports serializable writes as well as traditional file sharing across wide area, (ii) an enterprise data service that exploits locality by caching enterprise data closer to end-users while ensuring strong consistency for data integrity, and (iii) a replicated database that reaps order of magnitude gains in throughput by relaxing consistency
Optimistic replication
Data replication is a key technology in distributed data sharing systems, enabling higher availability and performance. This paper surveys optimistic replication algorithms that allow replica contents to diverge in the short term, in order to support concurrent work practices and to tolerate failures in low-quality communication links. The importance of such techniques is increasing as collaboration through wide-area and mobile networks becomes popular. Optimistic replication techniques are different from traditional “pessimistic ” ones. Instead of synchronous replica coordination, an optimistic algorithm propagates changes in the background, discovers conflicts after they happen and reaches agreement on the final contents incrementally. We explore the solution space for optimistic replication algorithms. This paper identifies key challenges facing optimistic replication systems — ordering operations, detecting and resolving conflicts, propagating changes efficiently, and bounding replica divergence — and provides a comprehensive survey of techniques developed for addressing these challenges
A demand based algorithm for rapid updating of replicas
In many Internet scale replicated system, not all
replicas can be dealt with in the same way, since some will
be in greater demand than others. In the case of weak
consistency algorithms, we have observed that updating
first replicas having most demand, a greater number of
clients would gain access to updated content in a shorter
period of time.
In this work we have investigated the benefits that can
be obtained by prioritizing replicas with greater demand,
and considerable improvements have been achieved. In
zones of higher demand, the consistent state is reached up
to six times quicker than with a normal weak consistency
algorithm, without incurring the additional costs of the
strong consistency.Peer Reviewe
Okapi: Causally Consistent Geo-Replication Made Faster, Cheaper and More Available
Okapi is a new causally consistent geo-replicated key- value store. Okapi
leverages two key design choices to achieve high performance. First, it relies
on hybrid logical/physical clocks to achieve low latency even in the presence
of clock skew. Second, Okapi achieves higher resource efficiency and better
availability, at the expense of a slight increase in update visibility latency.
To this end, Okapi implements a new stabilization protocol that uses a
combination of vector and scalar clocks and makes a remote update visible when
its delivery has been acknowledged by every data center. We evaluate Okapi with
different workloads on Amazon AWS, using three geographically distributed
regions and 96 nodes. We compare Okapi with two recent approaches to causal
consistency, Cure and GentleRain. We show that Okapi delivers up to two orders
of magnitude better performance than GentleRain and that Okapi achieves up to
3.5x lower latency and a 60% reduction of the meta-data overhead with respect
to Cure
Designing a commutative replicated data type
Commuting operations greatly simplify consistency in distributed systems.
This paper focuses on designing for commutativity, a topic neglected
previously. We show that the replicas of \emph{any} data type for which
concurrent operations commute converges to a correct value, under some simple
and standard assumptions. We also show that such a data type supports
transactions with very low cost. We identify a number of approaches and
techniques to ensure commutativity. We re-use some existing ideas
(non-destructive updates coupled with invariant identification), but propose a
much more efficient implementation. Furthermore, we propose a new technique,
background consensus. We illustrate these ideas with a shared edit buffer data
type
Safe Generic Data Synchronizer
Rapport interne.Reconciliating divergent data is an important issue in concurrent engineering, mobile computing and software configuration management. Actually, a lot of synchronizers or merge tools perform reconciliations, however, which strategy they apply ? is it correct ? In this paper, we propose to use a transformational approach to build a safe generic data synchronizer
Contention management for distributed data replication
PhD ThesisOptimistic replication schemes provide distributed applications with access
to shared data at lower latencies and greater availability. This is
achieved by allowing clients to replicate shared data and execute actions
locally. A consequence of this scheme raises issues regarding shared data
consistency. Sometimes an action executed by a client may result in
shared data that may conflict and, as a consequence, may conflict with
subsequent actions that are caused by the conflicting action. This requires
a client to rollback to the action that caused the conflicting data,
and to execute some exception handling. This can be achieved by relying
on the application layer to either ignore or handle shared data inconsistencies
when they are discovered during the reconciliation phase of an
optimistic protocol.
Inconsistency of shared data has an impact on the causality relationship
across client actions. In protocol design, it is desirable to preserve the
property of causality between different actions occurring across a distributed
application. Without application level knowledge, we assume
an action causes all the subsequent actions at the same client. With
application knowledge, we can significantly ease the protocol burden of
provisioning causal ordering, as we can identify which actions do not
cause other actions (even if they precede them). This, in turn, makes
possible the client’s ability to rollback to past actions and to change
them, without having to alter subsequent actions. Unfortunately, increased
instances of application level causal relations between actions
lead to a significant overhead in protocol. Therefore, minimizing the
rollback associated with conflicting actions, while preserving causality,
is seen as desirable for lower exception handling in the application layer.
In this thesis, we present a framework that utilizes causality to create
a scheduler that can inform a contention management scheme to reduce
the rollback associated with the conflicting access of shared data.
Our framework uses a backoff contention management scheme to provide
causality preserving for those optimistic replication systems with high
causality requirements, without the need for application layer knowledge.
We present experiments which demonstrate that our framework reduces
clients’ rollback and, more importantly, that the overall throughput of
the system is improved when the contention management is used with
applications that require causality to be preserved across all actions
- …