Advertisement

The weakest failure detector for eventual consistency

  • Swan Dubois
  • Rachid Guerraoui
  • Petr KuznetsovEmail author
  • Franck Petit
  • Pierre Sens
Article
  • 103 Downloads

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.

Keywords

Eventual consistency Failure detectors Consensus Total-order broadcast 

Notes

Acknowledgements

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

References

  1. 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)Google Scholar
  2. 2.
    Burckhardt, S.: Principles of eventual consistency. Found. Trends Program. Lang. 1(1–2), 1–150 (2014)CrossRefGoogle Scholar
  3. 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)Google Scholar
  4. 4.
    Chandra, T.D., Hadzilacos, V., Toueg, S.: The weakest failure detector for solving consensus. J. ACM 43(4), 685–722 (1996)CrossRefzbMATHMathSciNetGoogle Scholar
  5. 5.
    Chandra, T.D., Toueg, S.: Unreliable failure detectors for reliable distributed systems. J. ACM 43(2), 225–267 (1996)CrossRefzbMATHMathSciNetGoogle Scholar
  6. 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)CrossRefGoogle Scholar
  7. 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)Google Scholar
  8. 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)CrossRefGoogle Scholar
  9. 9.
    Cristian, F., Aghili, H., Strong, R., Dolev, D.: Atomic broadcast. Inf. Comput. 118(1), 158–179 (1995)CrossRefzbMATHMathSciNetGoogle Scholar
  10. 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)Google Scholar
  11. 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)Google Scholar
  12. 12.
    Dolev, S., Kat, R.I., Schiller, E.M.: When consensus meets self-stabilization. J. Comput. Syst. Sci. 76(8), 884–900 (2010)CrossRefzbMATHMathSciNetGoogle Scholar
  13. 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)Google Scholar
  14. 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)Google Scholar
  15. 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)CrossRefzbMATHMathSciNetGoogle Scholar
  16. 16.
    Freiling, F.C., Guerraoui, R., Kuznetsov, P.: The failure detector abstraction. ACM Comput. Surv. 43(2), 9:1–9:40 (2011)CrossRefzbMATHGoogle Scholar
  17. 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)CrossRefGoogle Scholar
  18. 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)CrossRefzbMATHMathSciNetGoogle Scholar
  19. 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)Google Scholar
  20. 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)Google Scholar
  21. 21.
    Jayanti, P., Toueg, S.: Every Problem has a Weakest Failure Detector. In: PODC, pp. 75–84 (2008)Google Scholar
  22. 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)Google Scholar
  23. 23.
    Lakshman, A., Malik, P.: Cassandra: a decentralized structured storage system. SIGOPS Oper. Syst. Rev. 44(2), 35–40 (2010)CrossRefGoogle Scholar
  24. 24.
    Lamport, L.: Proving the correctness of multiprocessor programs. Trans. Softw. Eng. 3(2), 125–143 (1977)CrossRefzbMATHMathSciNetGoogle Scholar
  25. 25.
    Lamport, L.: The part-time parliament. ACM Trans. Comput. Syst. 16(2), 133–169 (1998)CrossRefGoogle Scholar
  26. 26.
    Lamport, L.: Lower bounds for asynchronous consensus. Distrib. Comput. 19(2), 104–125 (2006)CrossRefzbMATHGoogle Scholar
  27. 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)CrossRefzbMATHMathSciNetGoogle Scholar
  28. 28.
    Saito, Y., Shapiro, M.: Optimistic replication. ACM Comput. Surv. 37(1), 42–81 (2005)CrossRefzbMATHGoogle Scholar
  29. 29.
    Schneider, F.B.: Implementing fault-tolerant services using the state machine approach: a tutorial. ACM Comput. Surv. 22(4), 299–319 (1990)CrossRefGoogle Scholar
  30. 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)Google Scholar
  31. 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)Google Scholar
  32. 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)Google Scholar
  33. 33.
    Vogels, W.: Eventually consistent. Commun. ACM 52(1), 40–44 (2009)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2017

Authors and Affiliations

  1. 1.Sorbonne Universités, UPMC Univ Paris 06, CNRS, Inria, LIP6 UMR 7606ParisFrance
  2. 2.École Polytechnique Fédérale de LausanneLausanneSwitzerland
  3. 3.Télécom ParisTechParisFrance

Personalised recommendations