Theory of Computing Systems

, Volume 51, Issue 4, pp 404–424 | Cite as

Generating Fast Indulgent Algorithms

  • Dan Alistarh
  • Seth Gilbert
  • Rachid Guerraoui
  • Corentin Travers


Synchronous distributed algorithms are easier to design and prove correct than algorithms that tolerate asynchrony. Yet, in the real world, networks experience asynchrony and other timing anomalies. In this paper, we address the question of how to efficiently transform an algorithm that relies on synchronous timing into an algorithm that tolerates asynchronous executions. We introduce a transformation technique from synchronous algorithms to indulgent algorithms (Guerraoui, in PODC, pp. 289–297, 2000), which induces only a constant overhead in terms of time complexity in well-behaved executions.

Our technique is based on a new abstraction we call an asynchrony detector, which the participating processes implement collectively. The resulting transformation works for the class of colorless distributed tasks, including consensus and set agreement. Interestingly, we also show that our technique is relevant for colored tasks, by applying it to the renaming problem, to obtain the first indulgent renaming algorithm.


Distributed algorithms Asynchrony Indulgent algorithms 



The authors would like to thank Hagit Attiya and Nikola Knežević for their feedback on previous drafts of this paper, and the anonymous reviewers for their useful comments.


  1. 1.
    Aguilera, M.K., Chen, W., Toueg, S.: Heartbeat: A timeout-free failure detector for quiescent reliable communication. In: WDAG, pp. 126–140 (1997) Google Scholar
  2. 2.
    Alistarh, D., Gilbert, S., Guerraoui, R., Travers, C.: How to solve consensus in the smallest window of synchrony. In: DISC, pp. 32–46 (2008) Google Scholar
  3. 3.
    Alistarh, D., Gilbert, S., Guerraoui, R., Travers, C.: Of choices, failures and asynchrony: the many faces of set agreement. In: Proceedings of the 20th International Symposium on Algorithms and Computation, ISAAC ’09, pp. 943–953. Springer, Berlin (2009) Google Scholar
  4. 4.
    Attiya, H., Bar-Noy, A., Dolev, D., Peleg, D., Reischuk, R.: Renaming in an asynchronous environment. J. ACM 37(3), 524–548 (1990) MathSciNetzbMATHCrossRefGoogle Scholar
  5. 5.
    Chandra, T.D., Toueg, S.: Unreliable failure detectors for asynchronous systems (preliminary version). In: ACM Symposium on Principles of Distributed Computing, August, pp. 325–340 (1991) Google Scholar
  6. 6.
    Chaudhuri, S., Herlihy, M., Tuttle, M.R.: Wait-free implementations in message-passing systems. Theor. Comput. Sci. 220(1), 211–245 (1999) MathSciNetzbMATHCrossRefGoogle Scholar
  7. 7.
    Delporte-Gallet, C., Fauconnier, H., Guerraoui, R., Tielmann, A.: The disagreement power of an adversary. In: DISC, pp. 8–21 (2009) Google Scholar
  8. 8.
    Dutta, P., Guerraoui, R.: The inherent price of indulgence. In: PODC ’02: Proceedings of the Annual ACM Symposium on Principles of Distributed Computing, pp. 88–97 (2002) Google Scholar
  9. 9.
    Dutta, P., Guerraoui, R.: The inherent price of indulgence. Distrib. Comput. 18(1), 85–98 (2005) CrossRefGoogle Scholar
  10. 10.
    Dutta, P., Guerraoui, R., Keidar, I.: The overhead of consensus failure recovery. Distrib. Comput. 19(5–6), 373–386 (2007) CrossRefGoogle Scholar
  11. 11.
    Dwork, C., Lynch, N.A., Stockmeyer, L.: Consensus in the presence of partial synchrony. J. ACM 35(2), 288–323 (1988) MathSciNetCrossRefGoogle Scholar
  12. 12.
    Gafni, E.: Round-by-round fault detectors (extended abstract): unifying synchrony and asynchrony. In: Proceedings of the Seventeenth Annual ACM Symposium on Principles of Distributed Computing, PODC ’98, pp. 143–152. ACM, New York (1998) CrossRefGoogle Scholar
  13. 13.
    Guerraoui, R.: Indulgent algorithms. In: PODC’ 2000, July, pp. 289–297. ACM, New York (2000) Google Scholar
  14. 14.
    Herlihy, M., Shavit, N.: The topological structure of asynchronous computability. J. ACM 46(2), 858–923 (1999) MathSciNetzbMATHCrossRefGoogle Scholar
  15. 15.
    Keidar, I., Shraer, A.: Timeliness, failure-detectors, and consensus performance. In: PODC, pp. 169–178 (2006) Google Scholar
  16. 16.
    Lamport, L.: Generalized consensus and paxos. Microsoft research technical report MSR-TR-2005-33 (2005) Google Scholar
  17. 17.
    Lamport, L.: Fast paxos. Distrib. Comput. 19(2), 79–103 (2006) MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2012

Authors and Affiliations

  • Dan Alistarh
    • 1
  • Seth Gilbert
    • 2
  • Rachid Guerraoui
    • 1
  • Corentin Travers
    • 3
  1. 1.EPFLLausanneSwitzerland
  2. 2.National University of SingaporeSingaporeSingapore
  3. 3.LaBRIUniversité de Bordeaux 1BordeauxFrance

Personalised recommendations