Automatically Adjusting Concurrency to the Level of Synchrony

  • Pierre Fraigniaud
  • Eli Gafni
  • Sergio Rajsbaum
  • Matthieu Roy
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8784)


The state machine approach is a well-known technique for building distributed services requiring high performance and high availability, by replicating servers, and by coordinating client interactions with server replicas using consensus. Indulgent consensus algorithms exist for realistic eventually partially synchronous models, that never violate safety and guarantee liveness once the system becomes synchronous. Unavoidably, these algorithms may never terminate, even when no processor crashes, if the system never becomes synchronous.

This paper proposes a mechanism similar to state machine replication, called RC-simulation, that can always make progress, even if the system is never synchronous. Using RC-simulation, the quality of the service will adjust to the current level of asynchrony of the network — degrading when the system is very asynchronous, and improving when the system becomes more synchronous. RC-simulation generalizes the state machine approach in the following sense: when the system is asynchronous, the system behaves as if k + 1 threads were running concurrently, where k is a function of the asynchrony.

In order to illustrate how the RC-simulation can be used, we describe a long-lived renaming implementation. By reducing the concurrency down to the asynchrony of the system, RC-simulation enables to obtain renaming quality that adapts linearly to the asynchrony.


State Machine Liveness Property Active Thread Synchronous Model Server Replica 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Afek, Y., Attiya, H., Dolev, D., Gafni, E., Merritt, M., Shavit, N.: Atomic snapshots of shared memory. J. ACM 40(4), 873–890 (1993)CrossRefzbMATHGoogle Scholar
  2. 2.
    Aguilera, M.K., Delporte-Gallet, C., Fauconnier, H., Toueg, S.: Partial synchrony based on set timeliness. Distributed Computing 25(3), 249–260 (2012)CrossRefzbMATHGoogle Scholar
  3. 3.
    Aguilera, M.K., Keidar, I., Malkhi, D., Shraer, A.: Dynamic atomic storage without consensus. J. ACM 58(2), 7:1–7:32 (2011)Google Scholar
  4. 4.
    Aguilera, M.K., Toueg, S.: Adaptive progress: A gracefully-degrading liveness property. Distributed Computing 22(5-6), 303–334 (2010)CrossRefzbMATHGoogle Scholar
  5. 5.
    Alistarh, D., Gilbert, S., Guerraoui, R., Travers, C.: Generating fast indulgent algorithms. Theory Comput. Syst. 51(4), 404–424 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Attiya, H.: Adapting to point contention with long-lived safe agreement. In: Flocchini, P., Gąsieniec, L. (eds.) SIROCCO 2006. LNCS, vol. 4056, pp. 10–23. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Attiya, H., Bar-Noy, A., Dolev, D.: Sharing memory robustly in message-passing systems. J. ACM 42(1), 124–142 (1995)CrossRefzbMATHGoogle Scholar
  8. 8.
    Attiya, H., Bar-Noy, A., Dolev, D., Peleg, D., Reischuk, R.: Renaming in an asynchronous environment. Journal of the ACM 37(3), 524–548 (1990)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Attiya, H., Welch, J.: Distributed Computing Fundamentals, Simulations, and Advanced Topics, 2nd edn. John Wiley and Sons, Inc. (2004)Google Scholar
  10. 10.
    Borowsky, E., Gafni, E.: Generalized FLP impossibility result for t-resilient asynchronous computations. In: STOC 1993, pp. 91–100. ACM (1993)Google Scholar
  11. 11.
    Borowsky, E., Gafni, E.: The Implication of the Borowsky-Gafni Simulation on the Set-Consensus Hierarchy. Technical report, UCLA (1993)Google Scholar
  12. 12.
    Borowsky, E., Gafni, E., Lynch, N., Rajsbaum, S.: The BG distributed simulation algorithm. Distributed Computing 14(3), 127–146 (2001)CrossRefGoogle Scholar
  13. 13.
    Burns, J.E., Peterson, G.L.: The ambiguity of choosing. In: PODC 1989, pp. 145–157. ACM (1989)Google Scholar
  14. 14.
    Castañeda, A., Imbs, D., Rajsbaum, S., Raynal, M.: Renaming is weaker than set agreement but for perfect renaming: A map of sub-consensus tasks. In: Fernández-Baca, D. (ed.) LATIN 2012. LNCS, vol. 7256, pp. 145–156. Springer, Heidelberg (2012)Google Scholar
  15. 15.
    Castañeda, A., Rajsbaum, S., Raynal, M.: The renaming problem in shared memory systems: An introduction. Comput. Sci. Rev. 5(3), 229–251 (2011)CrossRefGoogle Scholar
  16. 16.
    Chandra, T., Hadzilacos, V., Jayanti, P., Toueg, S.: Wait-freedom vs. t-resiliency and the robustness of wait-free hierarchies (extended abstract). In: PODC 1994, pp. 334–343. ACM (1994)Google Scholar
  17. 17.
    Chaudhuri, S.: More choices allow more faults: Set consensus problems in totally asynchronous systems. Information and Computation 105(1), 132–158 (1993)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Chaudhuri, S., Reiners, P.: Understanding the Set Consensus Partial Order Using the Borowsky-Gafni Simulation (Extended Abstract). In: Babaoğlu, Ö., Marzullo, K. (eds.) WDAG 1996. LNCS, vol. 1151, pp. 362–379. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  19. 19.
    Cristian, F., Fetzer, C.: The timed asynchronous distributed system model. IEEE Trans. Parallel Distrib. Syst. 10(6), 642–657 (1999)CrossRefGoogle Scholar
  20. 20.
    Dolev, D.: The byzantine generals strike again. J. of Algorithms 3(1), 14–30 (1982)MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Dwork, C., Lynch, N., Stockmeyer, L.: Consensus in the presence of partial synchrony. J. ACM 35(2), 288–323 (1988)MathSciNetCrossRefGoogle Scholar
  22. 22.
    Fischer, M., Lynch, N.A., Paterson, M.S.: Impossibility of Distributed Commit With One Faulty Process. Journal of the ACM 32(2) (April 1985)Google Scholar
  23. 23.
    Fischer, M.J.: The consensus problem in unreliable distributed systems (a brief survey). In: Karpinski, M. (ed.) FCT 1983. LNCS, vol. 158, pp. 127–140. Springer, Heidelberg (1983)CrossRefGoogle Scholar
  24. 24.
    Gafni, E.: The extended BG-simulation and the characterization of t-resiliency. In: STOC 2009, pp. 85–92. ACM (2009)Google Scholar
  25. 25.
    Gafni, E., Guerraoui, R.: Generalized universality. In: Katoen, J.-P., König, B. (eds.) CONCUR 2011. LNCS, vol. 6901, pp. 17–27. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  26. 26.
    Guerraoui, R.: Indulgent algorithms. In: PODC, pp. 289–297. ACM (2000)Google Scholar
  27. 27.
    Herlihy, M.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)CrossRefGoogle Scholar
  28. 28.
    Herlihy, M., Ruppert, E.: On the existence of booster types. In: FOCS 2000, pp. 653–663. IEEE Computer Society (2000)Google Scholar
  29. 29.
    Imbs, D., Rajsbaum, S., Raynal, M.: The universe of symmetry breaking tasks. In: Kosowski, A., Yamashita, M. (eds.) SIROCCO 2011. LNCS, vol. 6796, pp. 66–77. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  30. 30.
    Imbs, D., Raynal, M.: Visiting Gafni’s Reduction Land: From the BG Simulation to the Extended BG Simulation. In: Guerraoui, R., Petit, F. (eds.) SSS 2009. LNCS, vol. 5873, pp. 369–383. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  31. 31.
    Imbs, D., Raynal, M.: The multiplicative power of consensus numbers. In: PODC 2010, pp. 26–35. ACM (2010)Google Scholar
  32. 32.
    Keidar, I., Rajsbaum, S.: On the cost of fault-tolerant consensus when there are no faults: Preliminary version. SIGACT News 32(2), 45–63 (2001)CrossRefGoogle Scholar
  33. 33.
    Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)CrossRefzbMATHGoogle Scholar
  34. 34.
    Lamport, L.: The part-time parliament. ACM Trans. Comput. Syst. 16(2), 133–169 (1998)CrossRefGoogle Scholar
  35. 35.
    Lo, W.-K., Hadzilacos, V.: On the power of shared object types to implement one-resilient Consensus. Distributed Computing 13(4), 219–238 (2000)CrossRefGoogle Scholar
  36. 36.
    Lynch, N., Rajsbaum, S.: On the Borowsky-Gafni Simulation Algorithm. In: ISTCS 1996, pp. 4–15. IEEE Computer Society (June 1996)Google Scholar
  37. 37.
    Schneider, F.B.: Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial. ACM Computing Surveys 22(4), 299–319 (1990)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Pierre Fraigniaud
    • 1
  • Eli Gafni
    • 2
  • Sergio Rajsbaum
    • 3
  • Matthieu Roy
    • 4
  1. 1.CNRS and University Paris DiderotFrance
  2. 2.Dpt. of Computer ScienceUCLAUSA
  3. 3.Instituto de MatemáticasUNAMMexico
  4. 4.LAAS-CNRS, CNRS and U. ToulouseFrance

Personalised recommendations