Publication

Optimistic Causal Consistency for Geo-Replicated Key-Value Stores

Abstract

In this paper we present a new approach to implementing causal consistency in geo-replicated data stores, which we call Optimistic Causal Consistency (OCC). The optimism in our approach lies in that updates from a remote data center are immediately made visible in the local data center, without checking if their causal dependencies have been received. Servers perform the dependency check needed to enforce causal consistency only upon serving a client operation, rather than on the receipt of a replicated data item as in existing systems. OCC explores a novel trade-off in the landscape of causal consistency protocols. The potentially blocking behavior of OCC makes it vulnerable to network partitions. Because network partitions are rare in practice, however, OCC chooses to trade availability to maximize data freshness and reduce the communication overhead. We further propose a recovery mechanism that allows an OCC system to fall back on a pessimistic protocol to continue operating even during network partitions. POCC is an implementation of OCC based on physical clocks. We show that OCC improves data freshness, while offering comparable or better performance than its pessimistic counterpart.

About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.
Related concepts (36)
Trade
Trade involves the transfer of goods and services from one person or entity to another, often in exchange for money. Economists refer to a system or network that allows trade as a market. An early form of trade, barter, saw the direct exchange of goods and services for other goods and services, i.e. trading things without the use of money. Modern traders generally negotiate through a medium of exchange, such as money. As a result, buying can be separated from selling, or earning.
Client–server model
The client–server model is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. Often clients and servers communicate over a computer network on separate hardware, but both client and server may reside in the same system. A server host runs one or more server programs, which share their resources with clients. A client usually does not share any of its resources, but it requests content or service from a server.
Trade barrier
Trade barriers are government-induced restrictions on international trade. According to the theory of comparative advantage, trade barriers are detrimental to the world economy and decrease overall economic efficiency. Most trade barriers work on the same principle: the imposition of some sort of cost (money, time, bureaucracy, quota) on trade that raises the price or availability of the traded products. If two or more nations repeatedly use trade barriers against each other, then a trade war results.
Show more
Related publications (35)

Oracular Byzantine Reliable Broadcast

Rachid Guerraoui, Manuel José Ribeiro Vidigueira, Martina Camaioni, Matteo Monti

Byzantine Reliable Broadcast (BRB) is a fundamental distributed computing primitive, with applications ranging from notifications to asynchronous payment systems. Motivated by practical consideration, we study Client-Server Byzantine Reliable Broadcast (CS ...
Schloss Dagstuhl - Leibniz-Zentrum für Informatik2022

Activity-based modeling and simulation of epidemics

Michel Bierlaire, Cloe Cortes Balcells, Rico Krüger

The SARS-CoV-2 outburst in March 2020 has led to the lockdown of several countries across the world. Mobility restrictions have been constantly put into action and reversed to find the trade-off between minimizing the number of infections and death and mit ...
2021

When to Hedge in Interactive Services

Edouard Bugnion, Mia Primorac

In online data-intensive (OLDI) services, each client request typically executes on multiple servers in parallel; as a result, “system hiccups”, although rare within a single server, can interfere with many client requests and cause violations of service-l ...
USENIX2021
Show more

Graph Chatbot

Chat with Graph Search

Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.

DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.