26 research outputs found
ORLease: Optimistically Replicated Lease Using Lease Version Vector For Higher Replica Consistency in Optimistic Replication Systems
There is a tradeoff between the availability and consistency properties of any distributed replication system. Optimistic replication favors high availability over strong consistency so that the replication system can support disconnected replicas as well as high network latency between replicas. Optimistic replication improves the availability of these systems by allowing data updates to be committed at their originating replicas first before they are asynchronously replicated out and committed later at the rest of the replicas. This leads the whole system to suffer from a relaxed data consistency. This is due to the lack of any locking mechanism to synchronize access to the replicated data resources in order to mutually exclude one another.
When consistency is relaxed, there is a potential of reading from stale data as well as introducing data conflicts due to the concurrent data updates that might have been introduced at different replicas. These issues could be ameliorated if the optimistic replication system is aggressively propagating the data updates at times of good network connectivity between replicas. However, aggressive propagation for data updates does not scale well in write intensive environments and leads to communication overhead in order to keep all replicas in sync.
In pursuance of a solution to mitigate the relaxed consistency drawback, a new technique has been developed that improves the consistency of optimistic replication systems without sacrificing its availability and with minimal communication overhead. This new methodology is based on applying the concurrency control technique of leasing in an optimistic way. The optimistic lease technique is built on top of a replication framework that prioritizes metadata replication over data replication. The framework treats the lease requests as replication metadata updates and replicates them aggressively in order to optimistically acquire leases on replicated data resources. The technique is demonstrating a best effort semi-locking semantics that improves the overall system consistency while avoiding any locking issues that could arise in optimistic replication systems
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
Specification of a partial replication protocol with TLA+
Nowadays, data available and used by companies is growing very fast creating the
need to use and manage this data in the most efficient way. To this end, data is replicated overmultiple datacenters and use different replication protocols, according to their needs, like more availability or stronger consistency level. The costs associated with full data replication can be very high, and most of the times, full replication is not needed since information can be logically partitioned. Another problem, is that by using datacenters to store and process information clients become heavily dependent on them. We propose a partial replication protocol called ParTree, which replicates data to clients, and organizes clients in a hierarchy, using communication between them to propagate information. This solution addresses some of these problems, namely by supporting partial data replication and offline execution mode. Given the complexity of the protocol, the use of formal verification is crucial to ensure the protocol two correctness properties: causal consistency and preservation of data. The use of TLA+ language and tools to formally specificity and verify the proposed protocol are also described
Characterizing and Enforcing Consistency of Online Services
While several proposals for the specification and implementation of various
consistency models exist, little is known about what is the consistency currently
offered by online services with millions of users. Such knowledge is important,
not only because it allows for setting the right expectations and justifying the
behavior observed by users, but also because it can be used for improving the
process of developing applications that use APIs offered by such services and
for creating tools that facilitate this process. To fill this gap, in the first part
of this thesis, we present a measurement study of the consistency of the APIs
exported by four widely used Internet services, the Facebook Feed, Facebook
Groups, Blogger, and Google+. To conduct this study, our work develops a
simple, yet generic methodology comprising a small number of tests, which
probe these services from a user perspective, and try to uncover consistency
anomalies, and reports on the analysis of the data obtained from running these
tests for a period of several weeks. Our measurement study shows that some of
these services do exhibit consistency anomalies, including some behaviors that
may appear counter-intuitive for users, such as the lack of session guarantees
for write monotonicity. The results show that developers have to deal with
consistency anomalies, to provide consistency guarantees they need.
To address the challenge of enforcing consistency guarantees on top of existing
systems, in the second part of this thesis, we show that it is possible to
deploy a middleware between the application and the service, which enables a
fine-grained control over the session guarantees that comprise the consistency semantics provided by these APIs, without having to gain access to the implementation
of the underlying services. Our solution intercepts all interactions
of the client with the online service and uses four different algorithms to enforce
each of the session guarantees and also their combination. We evaluated
our middleware using the Facebook public API and the Redis data store, and
our results show that we are able to provide fine-grained control of the consistency
semantics, while incurring in a small local storage and modest latency
overhead
Highly-available and consistent group collaboration at the edge with colony
International audienceEdge applications, such as gaming, cooperative engineering, or in-the-field information sharing, enjoy immediate response, autonomy and availability by distributing and replicating data at the edge. However, application developers and users demand the highest possible consistency guarantees, and specific support for group collaboration. To address this challenge, Colony guarantees Transactional Causal Plus Consistency (TCC+) globally, strengthened to Snapshot Isolation within edge groups. To help with scalability, fault tolerance and security, its logical communication topology is forest-like, with replicated roots in the core cloud, but with the flexibility to migrate a node or a group. Despite this hybrid approach, applications enjoy the same semantics everywhere in the topology. Our experiments show that local caching and peer groups improve throughput and response time significantly, performance is not affected in offline mode, and that migration is seamless