Eventually-serializable data services

Alan Fekete, David Gupta, Victor Luchangco, Nancy Lynch, Alex Shvartsman

Research output: Contribution to journalArticlepeer-review

Abstract

Data replication is used in distributed systems to improve availability, increase throughput and eliminate single points of failures. The cost of replication is that significant care and communication is required to maintain consistency among replicas. In some settings, such as distributed directory services, it is acceptable to have transient inconsistencies, in exhange for better performance, as long as a consistent view of the data is eventually established. For such services to be usable, it is important that the consistency guarantees are specified clearly. We present a new specification for distributed data services that trades off immediate consistency guarantees for improved system availability and efficiency, while ensuring the long-term consistency of the data. An eventually-serializable data service maintains the requested operations in a partial order that gravitates over time towards a total order. It provides clear and unambiguous guarantees about the immediate and long-term behavior of the system. We also present an algorithm, based on the lazy replication strategy of Ladin, Liskov, Shrira, and Ghemawat (1992), that implements this specification. Our algorithm provides the external interface of the eventually-serializable data service specification, and generalizes their algorithm by allowing arbitrary operations and greater flexibility in specifying consistency requirements. In addition to correctness, we prove performance and fault-tolerance properties of this algorithm.

Original languageEnglish (US)
Pages (from-to)113-156
Number of pages44
JournalTheoretical Computer Science
Volume220
Issue number1
DOIs
StatePublished - Jun 6 1999
Externally publishedYes

Keywords

  • Consistency
  • Distributed storage
  • Replication
  • Weak coherence

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Fingerprint

Dive into the research topics of 'Eventually-serializable data services'. Together they form a unique fingerprint.

Cite this