Abstract
In its classical form, a consistent replicated service requires all replicas to witness the same evolution of the service state. If we consider an asynchronous message-passing environment in which processes might fail by crashing, and assume that a majority of processes are correct, then the necessary and sufficient information about failures for implementing a general state machine replication scheme ensuring consistency is captured by the \(\varOmega \) failure detector. This paper shows that in such a message-passing environment, \(\varOmega \) is also the weakest failure detector to implement an eventually consistent replicated service, where replicas are expected to agree on the evolution of the service state only after some (a priori unknown) time. In fact, we show that \(\varOmega \) is the weakest to implement eventual consistency in any message-passing environment, i.e., under any assumption on when and where failures might occur. Ensuring (strong) consistency in any environment requires, in addition to \(\varOmega \), the quorum failure detector \(\varSigma \). Our paper thus captures, for the first time, an exact computational difference between building a replicated state machine that ensures consistency and one that only ensures eventual consistency.
Similar content being viewed by others
Notes
Note that three communication steps are, in the worst case, necessary when strong consistency is required [26].
In [4], the simulated schedules form a simulation forest, where a distinct simulation tree corresponds to each initial configuration encoding consensus inputs. Recall that here we follow the more flexible model of Jayanti and Toueg [21]: there is a single initial configuration and inputs are encoded in the form of input histories. As a result, we get a single simulation tree where branches depend on the parameters of \(\textit{propose}\) calls.
References
Brewer, E.A.: Towards robust distributed systems (abstract). In: Proceedings of the Nineteenth Annual ACM Symposium on Principles of Distributed Computing (PODC’00), p. 7 (2000)
Burckhardt, S.: Principles of eventual consistency. Found. Trends Program. Lang. 1(1–2), 1–150 (2014)
Burckhardt, S., Leijen, D., Protzenko, J., Fähndrich, M.: Global sequence protocol: a robust abstraction for replicated shared state. In: 29th European Conference on Object-Oriented Programming (ECOOP 2015), July 5–10, 2015, Prague, Czech Republic, pp. 568–590 (2015)
Chandra, T.D., Hadzilacos, V., Toueg, S.: The weakest failure detector for solving consensus. J. ACM 43(4), 685–722 (1996)
Chandra, T.D., Toueg, S.: Unreliable failure detectors for reliable distributed systems. J. ACM 43(2), 225–267 (1996)
Chang, F., Dean, J., Ghemawat, S., Hsieh, W.C., Wallach, D.A., Burrows, M., Chandra, T., Fikes, A., Gruber, R.E.: Bigtable: a distributed storage system for structured data. ACM Trans. Comput. Syst. 26(2), 4:1–4:26 (2008)
Charron-Bost, B., Tel, G.: Approximation d’une borne inférieure répartie. Technical Report LIX/RR/94/06, Laboratoire d’Informatique LIX, École Polytechnique (1994)
Cooper, B.F., Ramakrishnan, R., Srivastava, U., Silberstein, A., Bohannon, P., Jacobsen, H.-A., Puz, N., Weaver, D., Yerneni, R.: Pnuts: Yahoo!’s hosted data serving platform. Proc. VLDB Endow. 1(2), 1277–1288 (2008)
Cristian, F., Aghili, H., Strong, R., Dolev, D.: Atomic broadcast. Inf. Comput. 118(1), 158–179 (1995)
DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., Vogels, W.: Dynamo: Amazon’s highly available key-value store. In: Proceedings of Twenty-First ACM SIGOPS Symposium on Operating Systems Principles (SOSP’07), pp. 205–220. ACM, New York, NY, USA, (2007)
Delporte-Gallet, C., Fauconnier, H., Guerraoui, R.: Tight failure detection bounds on atomic object implementations. J. ACM 57(4), 22:1–22:32 (2010)
Dolev, S., Kat, R.I., Schiller, E.M.: When consensus meets self-stabilization. J. Comput. Syst. Sci. 76(8), 884–900 (2010)
Dubois, S., Guerraoui, R., Kuznetsov, P., Petit, F., Sens, P.: The weakest failure detector for eventual consistency. In: Proceedings of the 2015 ACM Symposium on Principles of Distributed Computing (PODC 2015), pp. 375–384 (2015)
Fekete, A., Gupta, D., Luchangco, V., Lynch, N., Shvartsman, A.: Eventually-serializable data services. In: Proceedings of the Fifteenth Annual ACM Symposium on Principles of Distributed Computing (PODC’96), pp. 300–309. ACM, New York, NY, USA (1996)
Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)
Freiling, F.C., Guerraoui, R., Kuznetsov, P.: The failure detector abstraction. ACM Comput. Surv. 43(2), 9:1–9:40 (2011)
Gilbert, S., Lynch, N.: Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News 33(2), 51–59 (2002)
Guerraoui, R., Hadzilacos, V., Kuznetsov, P., Toueg, S.: The weakest failure detectors to solve quittable consensus and nonblocking atomic commit. SIAM J. Comput. 41(6), 1343–1379 (2012)
Guerraoui, R., Ruppert, E.: A paradox of eventual linearizability in shared memory. In: Proceedings of the 2014 ACM Symposium on Principles of Distributed Computing (PODC’14), pp. 40–49 (2014)
Hadzilacos, V., Toueg, S.: A Modular Approach to Fault-tolerant Broadcasts and Related Problems. Technical Report TR 94-1425, Department of Computer Science, Cornell University (1994)
Jayanti, P., Toueg, S.: Every Problem has a Weakest Failure Detector. In: PODC, pp. 75–84 (2008)
Kuhn, F., Moses, Y., Oshman, R.: Coordinated consensus in dynamic networks. In: Proceedings of the 30th Annual ACM Symposium on Principles of Distributed Computing (PODC), pp. 1–10. ACM (2011)
Lakshman, A., Malik, P.: Cassandra: a decentralized structured storage system. SIGOPS Oper. Syst. Rev. 44(2), 35–40 (2010)
Lamport, L.: Proving the correctness of multiprocessor programs. Trans. Softw. Eng. 3(2), 125–143 (1977)
Lamport, L.: The part-time parliament. ACM Trans. Comput. Syst. 16(2), 133–169 (1998)
Lamport, L.: Lower bounds for asynchronous consensus. Distrib. Comput. 19(2), 104–125 (2006)
Mostefaoui, A., Raynal, M., Tronel, F.: From binary consensus to multivalued consensus in asynchronous message-passing systems. Inf. Process. Lett. 73(5–6), 207–212 (2000)
Saito, Y., Shapiro, M.: Optimistic replication. ACM Comput. Surv. 37(1), 42–81 (2005)
Schneider, F.B.: Implementing fault-tolerant services using the state machine approach: a tutorial. ACM Comput. Surv. 22(4), 299–319 (1990)
Serafini, M., Dobre, D., Majuntke, M., Bokor, P., Suri, N.: Eventually linearizable shared objects. In: Richa, A.W., Guerraoui, R. (eds.) Proceedings of the 29th Annual ACM Symposium on Principles of Distributed Computing, pp. 95–104. ACM (2010)
Singh, A., Fonseca, P., Kuznetsov, P., Rodrigues, R., Maniatis, P.: Zeno: eventually consistent byzantine-fault tolerance. In Proceedings of the 6th USENIX Symposium on Networked Systems Design and Implementation (NSDI’09), pp. 169–184. USENIX Association, Berkeley, CA, USA (2009)
Terry, D.B., Demers, A.J., Petersen, K., Spreitzer, M. Theimer, M., Welch, B.W.: Session guarantees for weakly consistent replicated data. In: Proceedings of the Third International Conference on Parallel and Distributed Information Systems (PDIS’94) pp. 140–149. IEEE Computer Society, Washington, DC, USA (1994)
Vogels, W.: Eventually consistent. Commun. ACM 52(1), 40–44 (2009)
Acknowledgements
We would like to thank Vassos Hadzilacos and the anonymous referees for their helpful comments.
Author information
Authors and Affiliations
Corresponding author
Additional information
A previous version of this work appears in the proceedings of the 2015 ACM Symposium on Principles of Distributed Computing [13].
P. Kuznetsov:The research leading to these results has received funding from the Agence Nationale de la Recherche, under Grant Agreement ANR-14-CE35-0010-01, project DISCMAT.
Rights and permissions
About this article
Cite this article
Dubois, S., Guerraoui, R., Kuznetsov, P. et al. The weakest failure detector for eventual consistency. Distrib. Comput. 32, 479–492 (2019). https://doi.org/10.1007/s00446-016-0292-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00446-016-0292-9