Hybrid Distributed Consensus

  • Roy Friedman
  • Gabriel Kliot
  • Alex Kogan
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8304)


Inspired by the proliferation of cloud-based services, this paper studies consensus, one of the most fundamental distributed computing problems, in a hybrid model of computation. In this model, processes (or nodes) exchange information by passing messages or by accessing a reliable and highly-available register hosted in the cloud. The paper presents a formal definition of the model and problem, and studies performance tradeoffs related to using such a register. Specifically, it proves a lower bound on the number of register accesses in deterministic protocols, and gives a simple deterministic protocol that meets this bound when the register is compare-and-swap (CAS). In addition, two efficient protocols are presented; the first one is probabilistic and solves consensus with a single CAS register access in expectation, while the second one is deterministic and requires a single CAS register access when some favorable network conditions occur. A benefit of those protocols is that they can ensure both liveness and safety, and only their efficiency is affected by the probabilistic and timing assumptions.


Consensus cloud computing message passing lower bounds 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abraham, I., Chockler, G.V., Keidar, I., Malkhi, D.: Byzantine disk paxos: optimal resilience with byzantine shared memory. In: Proc. of the 23rd Annual ACM Symposium on Principles of Distributed Computing (PODC), pp. 226–235 (2004)Google Scholar
  2. 2.
    Aguilera, M.K., Delporte-Gallet, C., Fauconnier, H., Toueg, S.: On implementing omega with weak reliability and synchrony assumptions. In: Proc. of the 22nd Annual ACM Symposium on Principles of Distributed Computing (PODC), pp. 306–314 (2003)Google Scholar
  3. 3.
    Aguilera, M.K., Delporte-Gallet, C., Fauconnier, H., Toueg, S.: Communication-efficient leader election and consensus with limited link synchrony. In: Proc. of the 23rd Annual ACM Symposium on Principles of Distributed Computing (PODC), pp. 328–337 (2004)Google Scholar
  4. 4.
    Aguilera, M.K., Delporte-Gallet, C., Fauconnier, H., Toueg, S.: Consensus with byzantine failures and little system synchrony. In: Proc. of the International IEEE Conference on Dependable Systems and Networks (DSN), pp. 147–155 (2006)Google Scholar
  5. 5.
    Attiya, H.: Lecture notes for course #236357: Distributed algorithms (spring 1993); Technical report, Department of Computer Science, The Technion (January 1994)Google Scholar
  6. 6.
    Attiya, H., Censor-Hillel, K.: Lower bounds for randomized consensus under a weak adversary. SIAM J. Comput. 39(8), 3885–3904 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Attiya, H., Welch, J.: Distributed Computing: Fundamentals, Simulations, and Advanced Topics, 2nd edn. John Wiley and Sons, Inc. (2004)Google Scholar
  8. 8.
    Basu, A., Charron-Bost, B., Toueg, S.: Simulating reliable links with unreliable links in the presence of process crashes. In: Babaoğlu, Ö., Marzullo, K. (eds.) WDAG 1996. LNCS, vol. 1151, pp. 105–122. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  9. 9.
    Bernstein, P., Hadzilacos, V., Goodman, H.: Concurrency Control and Recovery in Database Systems. Addison-Wesley, Reading (1987)Google Scholar
  10. 10.
    Bracha, G.: An \(o(\lg n)\) expected rounds randomized byzantine generals protocol. In: Proc. 17th Annual ACM Symposium on Theory of Computing (STOC), pp. 316–326 (1985)Google Scholar
  11. 11.
    Canetti, R., Rabin, T.: Fast asynchronous byzantine agreement with optimal resilience. In: Proc. 25th Annual ACM Symposium on Theory of Computing (STOC), pp. 42–51 (1993)Google Scholar
  12. 12.
    Chandra, T., Toueg, S.: Unreliable failure detectors for asynchronous systems. J. ACM 43(4), 685–722 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Chandra, T.D., Hadzilacos, V., Toueg, S.: The weakest failure detector for solving consensus. J. ACM 43, 685–722 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Chockler, G., Malkhi, D.: Active disk paxos with infinitely many processes. In: Proc. of the 21st Annual ACM Symposium on Principles of Distributed Computing (PODC), pp. 78–87 (2002)Google Scholar
  15. 15.
    Chu, F.: Reducing ω to ⋄ s. Information Processing Letters 67(6), 298–293 (1998)Google Scholar
  16. 16.
    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. of VLDB Endowment 1, 1277–1288 (2008)Google Scholar
  17. 17.
    Correia, M., Neves, N.F., Lung, L.C., Veríssimo, P.: Low complexity byzantine-resilient consensus. Distributed Computing 17, 237–249 (2005)CrossRefzbMATHGoogle Scholar
  18. 18.
    Dwork, C., Lynch, N., Stockmeyer, L.: Consensus in the Presence of Partial Synchrony. Journal of the ACM 35(2), 288–323 (1988)MathSciNetCrossRefGoogle Scholar
  19. 19.
    Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. Journal of the ACM 32, 374–382 (1985)MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    Gafni, E., Lamport, L.: Disk paxos. Distributed Computing 16, 1–20 (2003)CrossRefGoogle Scholar
  21. 21.
    Golab, W., Hadzilacos, V., Hendler, D., Woelfel, P.: Constant-RMR implementations of CAS and other synchronization primitives using read and write operations. In: Proc. ACM Symposium on Principles of Distributed Computing, PODC (2007)Google Scholar
  22. 22.
    Guerraoui, R.: Non-Blocking Atomic Commit in Asynchronous Distributed Systems with Failure Detectors. Distributed Computing 15, 15–17 (2002)CrossRefGoogle Scholar
  23. 23.
    Guerraoui, R., Schiper, A.: The generic consensus service. IEEE Transactions on Software Engineering 27(1), 29–41 (2001)MathSciNetCrossRefGoogle Scholar
  24. 24.
    Hamouma, M., Mostefaoui, A., Trédan, G.: Byzantine consensus with few synchronous links. In: Tovar, E., Tsigas, P., Fouchal, H. (eds.) OPODIS 2007. LNCS, vol. 4878, pp. 76–89. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  25. 25.
    Herlihy, M.: Wait-free synchronization. ACM Trans. Prog. Lang. Syst. 13(1), 124–149 (1991)CrossRefGoogle Scholar
  26. 26.
    Herlihy, M., Wing, J.: Linearizability: A correctness condition for concurrent objects. ACM Trans. on Programming Languages and Systems 12(3), 463–492 (1990)CrossRefGoogle Scholar
  27. 27.
    Kaashoek, M.F., Tanenbaum, A.S., Hummel, S.F.: An efficient reliable broadcast protocol. ACM SIGOPS Operating Systems Review 23, 5–19 (1989)CrossRefGoogle Scholar
  28. 28.
    Lamport, L.: The part-time parliament. IEEE Transactions on Computer Systems 16(2), 133–169 (1998)CrossRefGoogle Scholar
  29. 29.
    Lamport, L., Shostak, R., Pease, M.: The byzantine generals problem. ACM Transactions on Programming Languages and Systems 3(4), 382–401 (1982)CrossRefGoogle Scholar
  30. 30.
    Wang, H., Jing, Q., Jiao, S., Chen, R., He, B., Qian, Z., Zhou, L.: Distributed systems meet economics: Pricing in the cloud. In: Proc. USENIX HotCloud (2010)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2013

Authors and Affiliations

  • Roy Friedman
    • 1
  • Gabriel Kliot
    • 2
  • Alex Kogan
    • 3
  1. 1.Department of Computer ScienceTechnionHaifaIsrael
  2. 2.Microsoft ResearchRedmondUSA
  3. 3.Oracle LabsBurlingtonUSA

Personalised recommendations