TY - JOUR
T1 - Eventually-serializable data services
AU - Fekete, Alan
AU - Gupta, David
AU - Luchangco, Victor
AU - Lynch, Nancy
AU - Shvartsman, Alex
N1 - Funding Information:
* Corresponding author. E-mail: [email protected]. ’ This work was supported by ARPA contract F19628-95-C-0118, AFOSR-ONR contract F49620-94-1-0199, AFOSR contract F49620-97-l-0337, and NSF contract 9225124-CCR. A preliminary version appeared in Proceedings of the 15th ACM Symposium on Principles of Distributed Computing, May 1996, pp. 300-309.
PY - 1999/6/6
Y1 - 1999/6/6
N2 - 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.
AB - 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.
KW - Consistency
KW - Distributed storage
KW - Replication
KW - Weak coherence
UR - http://www.scopus.com/inward/record.url?scp=0345765268&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0345765268&partnerID=8YFLogxK
U2 - 10.1016/S0304-3975(98)00239-4
DO - 10.1016/S0304-3975(98)00239-4
M3 - Article
AN - SCOPUS:0345765268
SN - 0304-3975
VL - 220
SP - 113
EP - 156
JO - Theoretical Computer Science
JF - Theoretical Computer Science
IS - 1
ER -