Skip to main content
Log in

The weakest failure detector for eventual consistency

  • Published:
Distributed Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2

Similar content being viewed by others

Notes

  1. Note that three communication steps are, in the worst case, necessary when strong consistency is required [26].

  2. 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

  1. 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)

  2. Burckhardt, S.: Principles of eventual consistency. Found. Trends Program. Lang. 1(1–2), 1–150 (2014)

    Google Scholar 

  3. 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)

  4. Chandra, T.D., Hadzilacos, V., Toueg, S.: The weakest failure detector for solving consensus. J. ACM 43(4), 685–722 (1996)

    Article  MathSciNet  Google Scholar 

  5. Chandra, T.D., Toueg, S.: Unreliable failure detectors for reliable distributed systems. J. ACM 43(2), 225–267 (1996)

    Article  MathSciNet  Google Scholar 

  6. 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)

    Article  Google Scholar 

  7. 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)

  8. 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)

    Article  Google Scholar 

  9. Cristian, F., Aghili, H., Strong, R., Dolev, D.: Atomic broadcast. Inf. Comput. 118(1), 158–179 (1995)

    Article  Google Scholar 

  10. 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)

  11. Delporte-Gallet, C., Fauconnier, H., Guerraoui, R.: Tight failure detection bounds on atomic object implementations. J. ACM 57(4), 22:1–22:32 (2010)

  12. Dolev, S., Kat, R.I., Schiller, E.M.: When consensus meets self-stabilization. J. Comput. Syst. Sci. 76(8), 884–900 (2010)

    Article  MathSciNet  Google Scholar 

  13. 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)

  14. 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)

  15. Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)

    Article  MathSciNet  Google Scholar 

  16. Freiling, F.C., Guerraoui, R., Kuznetsov, P.: The failure detector abstraction. ACM Comput. Surv. 43(2), 9:1–9:40 (2011)

    Article  Google Scholar 

  17. Gilbert, S., Lynch, N.: Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News 33(2), 51–59 (2002)

    Article  Google Scholar 

  18. 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)

    Article  MathSciNet  Google Scholar 

  19. 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)

  20. 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)

  21. Jayanti, P., Toueg, S.: Every Problem has a Weakest Failure Detector. In: PODC, pp. 75–84 (2008)

  22. 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)

  23. Lakshman, A., Malik, P.: Cassandra: a decentralized structured storage system. SIGOPS Oper. Syst. Rev. 44(2), 35–40 (2010)

    Article  Google Scholar 

  24. Lamport, L.: Proving the correctness of multiprocessor programs. Trans. Softw. Eng. 3(2), 125–143 (1977)

    Article  Google Scholar 

  25. Lamport, L.: The part-time parliament. ACM Trans. Comput. Syst. 16(2), 133–169 (1998)

    Article  Google Scholar 

  26. Lamport, L.: Lower bounds for asynchronous consensus. Distrib. Comput. 19(2), 104–125 (2006)

    Article  Google Scholar 

  27. 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)

    Article  MathSciNet  Google Scholar 

  28. Saito, Y., Shapiro, M.: Optimistic replication. ACM Comput. Surv. 37(1), 42–81 (2005)

    Article  Google Scholar 

  29. Schneider, F.B.: Implementing fault-tolerant services using the state machine approach: a tutorial. ACM Comput. Surv. 22(4), 299–319 (1990)

    Article  Google Scholar 

  30. 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)

  31. 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)

  32. 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)

  33. Vogels, W.: Eventually consistent. Commun. ACM 52(1), 40–44 (2009)

    Article  Google Scholar 

Download references

Acknowledgements

We would like to thank Vassos Hadzilacos and the anonymous referees for their helpful comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Petr Kuznetsov.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-016-0292-9

Keywords

Navigation