Wait-Free Stabilizing Dining Using Regular Registers

  • Srikanth Sastry
  • Jennifer L. Welch
  • Josef Widder
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7702)


Dining philosophers is a scheduling paradigm that determines when processes in a distributed system should execute certain sections of their code so that processes do not execute ‘conflicting’ code sections concurrently, for some application-dependent notion of a ‘conflict’. Designing a stabilizing dining algorithm for shared-memory systems subject to process crashes presents an interesting challenge: classic stabilization relies on all processes continuing to execute actions forever, an assumption which is violated when crash failures are considered. We present a dining algorithm that is both wait-free (tolerates any number of crashes) and is pseudo-stabilizing. Our algorithm works in an asynchronous system in which processes communicate via shared regular registers and have access to the eventually perfect failure detector \(\diamondsuit \mathcal{P}\). Furthermore, with a stronger failure detector, the solution becomes wait-free and self-stabilizing. To our knowledge, this is the first such algorithm. Prior results show that \(\diamondsuit \mathcal{P}\) is necessary for wait-freedom.


Failure Detector Critical Section Mutual Exclusion Transient Fault Asynchronous System 
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.
    Antonoiu, G., Srimani, P.K.: Mutual Exclusion Between Neighboring Nodes in an Arbitrary System Graph Tree That Stabilizes Using Read/Write Atomicity. In: Amestoy, P.R., Berger, P., Daydé, M., Duff, I.S., Frayssé, V., Giraud, L., Ruiz, D. (eds.) Euro-Par 1999. LNCS, vol. 1685, pp. 823–830. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  2. 2.
    Beauquier, J., Datta, A.K., Gradinariu, M., Magniette, F.: Self-stabilizing local mutual exclusion and daemon refinement. Chicago Journal of Theortical Computer Science 2002(1) (2002)Google Scholar
  3. 3.
    Beauquier, J., Kekkonen-Moneta, S.: Fault-tolerance and self-stabilization: impossibility results and solutions using self-stabilizing failure detectors. International Journal of Systems Science 28(11), 1177–1187 (1997)zbMATHCrossRefGoogle Scholar
  4. 4.
    Burns, J.E., Gouda, M.G., Miller, R.E.: Stabilization and pseudo-stabilization. Distributed Computing 7(1), 35–42 (1993)zbMATHCrossRefGoogle Scholar
  5. 5.
    Cantarell, S., Datta, A.K., Petit, F.: Self-Stabilizing Atomicity Refinement Allowing Neighborhood Concurrency. In: Huang, S.-T., Herman, T. (eds.) SSS 2003. LNCS, vol. 2704, pp. 102–112. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  6. 6.
    Chandra, T.D., Toueg, S.: Unreliable failure detectors for reliable distributed systems. J. ACM 43(2), 225–267 (1996)MathSciNetzbMATHCrossRefGoogle Scholar
  7. 7.
    Choy, M., Singh, A.K.: Localizing failures in distributed synchronization. IEEE Transactions on Parallel and Distributed Systems 7(7), 705–716 (1996)CrossRefGoogle Scholar
  8. 8.
    Delporte-Gallet, C., Devismes, S., Fauconnier, H.: Robust Stabilizing Leader Election. In: Masuzawa, T., Tixeuil, S. (eds.) SSS 2007. LNCS, vol. 4838, pp. 219–233. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  9. 9.
    Delporte-Gallet, C., Fauconnier, H., Guerraoui, R., Kouznetsov, P.: Mutual exclusion in asynchronous systems with failure detectors. Journal of Parallel and Distributed Computing 65(4), 492–505 (2005)zbMATHCrossRefGoogle Scholar
  10. 10.
    Dijkstra, E.W.: Solution of a problem in concurrent programming control. Communications of the ACM 8(9), 569 (1965)CrossRefGoogle Scholar
  11. 11.
    Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. Communications of the ACM 17(11), 643–644 (1974)zbMATHCrossRefGoogle Scholar
  12. 12.
    Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs. Commun. ACM 18(8), 453–457 (1975)MathSciNetzbMATHCrossRefGoogle Scholar
  13. 13.
    Dolev, S.: Self-Stabilization. MIT Press (2000)Google Scholar
  14. 14.
    Dolev, S., Herman, T.: Dijkstra’s Self-Stabilizing Algorithm in Unsupportive Environments. In: Datta, A.K., Herman, T. (eds.) WSS 2001. LNCS, vol. 2194, pp. 67–81. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  15. 15.
    Dolev, S., Kat, R.I., Schiller, E.M.: When Consensus Meets Self-stabilization: Self-stabilizing Failure-Detector, Consensus and Replicated State-Machine (Extended Abstract). In: Shvartsman, M.M.A.A. (ed.) OPODIS 2006. LNCS, vol. 4305, pp. 45–63. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  16. 16.
    Fischer, M., Jiang, H.: Self-stabilizing Leader Election in Networks of Finite-State Anonymous Agents. In: Shvartsman, M.M.A.A. (ed.) OPODIS 2006. LNCS, vol. 4305, pp. 395–409. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  17. 17.
    Hoepman, J.H., Papatriantafilou, M., Tsigas, P.: Self-stabilization of wait-free shared memory objects. Journal of Parallel and Distributed Computing 62(5), 818–842 (2002)zbMATHCrossRefGoogle Scholar
  18. 18.
    Hutle, M., Widder, J.: On the Possibility and the Impossibility of Message-Driven Self-stabilizing Failure Detection. In: Tixeuil, S., Herman, T. (eds.) SSS 2005. LNCS, vol. 3764, pp. 153–170. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  19. 19.
    Lamport, L.: On interprocess communication. Part II: Algorithms. Distributed Computing 1(2), 86–101 (1986)zbMATHCrossRefGoogle Scholar
  20. 20.
    Line, J.C., Ghosh, S.: A methodology for constructing a stabilizing crash-tolerant application. In: Proceedings of the 13th Symposium on Reliable Distributed Systems, pp. 12–21 (1994)Google Scholar
  21. 21.
    Line, J.C., Ghosh, S.: Stabilizing algorithms for diagnosing crash failures. In: Proceedings of the 13th Annual ACM Symposium on Principles of Distributed Computing, p. 376 (1994)Google Scholar
  22. 22.
    Lynch, N.A.: Upper bounds for static resource allocation in a distributed system. Journal of Computer and System Sciences 23(2), 254–278 (1981)MathSciNetzbMATHCrossRefGoogle Scholar
  23. 23.
    Mizuno, M., Nesterenko, M.: A transformation of self-stabilizing serial model programs for asynchronous parallel computing environments. Inf. Process. Lett. 66(6), 285–290 (1998)zbMATHCrossRefGoogle Scholar
  24. 24.
    Nesterenko, M., Arora, A.: Dining philosophers that tolerate malicious crashes. In: Proceedings of the 22nd International Conference on Distributed Computing Systems, pp. 172–179 (2002)Google Scholar
  25. 25.
    Nesterenko, M., Arora, A.: Stabilization-preserving atomicity refinement. Journal of Parallel and Distributed Computing 62(5), 766–791 (2002)zbMATHCrossRefGoogle Scholar
  26. 26.
    Nesterenko, M., Arora, A.: Tolerance to unbounded byzantine faults. In: Proceedings of the 21st IEEE Symposium on Reliable Distributed Systems, pp. 22–29 (2002)Google Scholar
  27. 27.
    Pike, S.M., Sivilotti, P.A.: Dining philosophers with crash locality 1. In: Proceedings of the 24th IEEE International Conference on Distributed Computing Systems, pp. 22–29 (2004)Google Scholar
  28. 28.
    Pike, S.M., Song, Y., Sastry, S.: Wait-Free Dining Under Eventual Weak Exclusion. In: Rao, S., Chatterjee, M., Jayanti, P., Murthy, C.S.R., Saha, S.K. (eds.) ICDCN 2008. LNCS, vol. 4904, pp. 135–146. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  29. 29.
    Sastry, S., Pike, S.M., Welch, J.L.: The weakest failure detector for wait-free dining under eventual weak exclusion. In: Proceedings of the 21st ACM Symposium on Parallelism in Algorithms and Architectures, pp. 111–120 (2009)Google Scholar
  30. 30.
    Song, Y., Pike, S.M.: Eventually k-bounded wait-free distributed daemons. In: IEEE International Conference on Dependable Systems and Networks, pp. 645–655 (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Srikanth Sastry
    • 1
  • Jennifer L. Welch
    • 2
  • Josef Widder
    • 3
  1. 1.CSAILMITCambridgeUSA
  2. 2.Texas A&M UniversityCollege StationUSA
  3. 3.Technische Universität WienViennaAustria

Personalised recommendations