Skip to main content
Log in

On the performance of Dijkstra’s third self-stabilizing algorithm for mutual exclusion and related algorithms

  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

In Dijkstra (Commun ACM 17(11):643–644, 1974) introduced the notion of self-stabilizing algorithms and presented three such algorithms for the problem of mutual exclusion on a ring of n processors. The third algorithm is the most interesting of these three but is rather non intuitive. In Dijkstra (Distrib Comput 1:5–6, 1986) a proof of its correctness was presented, but the question of determining its worst case complexity—that is, providing an upper bound on the number of moves of this algorithm until it stabilizes—remained open. In this paper we solve this question and prove an upper bound of \({3\frac{13}{18} n^2 + O(n)}\) for the complexity of this algorithm. We also show a lower bound of \({1\frac{5}{6} n^2 - O(n)}\) for the worst case complexity. For computing the upper bound, we use two techniques: potential functions and amortized analysis. We also present a new-three state self-stabilizing algorithm for mutual exclusion and show a tight bound of \({\frac{5}{6} n^2 + O(n)}\) for the worst case complexity of this algorithm. In Beauquier and Debas (Proceedings of the second workshop on self-stabilizing systems, pp 17.1–17.13, 1995) presented a similar three-state algorithm, with an upper bound of \({5\frac{3}{4}n^2+O(n)}\) and a lower bound of \({\frac{1}{8}n^2-O(n)}\) for its stabilization time. For this algorithm we prove an upper bound of \({1\frac{1}{2}n^2 + O(n)}\) and show a lower bound of n 2O(n). As far as the worst case performance is considered, the algorithm in Beauquier and Debas (Proceedings of the second workshop on self-stabilizing systems, pp 17.1–17.13, 1995) is better than the one in Dijkstra (Commun ACM 17(11):643–644, 1974) and our algorithm is better than both.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Beauquier, J., Debas, O.: An optimal self-stabilizing algorithm for mutual exclusion on bidirectional non uniform rings. In: Proceedings of the Second Workshop on Self-Stabilizing Systems, pp. 17.1–17.13 (1995)

  2. Beauquier, J., Johnen, C., Messika, S.: Brief announcement: computing automatically the stabilization time against the worst and the best schedules. In: 20th International Symposium on Distributed Computing (DISC), Stockholm, Sweden, pp. 543–547, 18–20 Sept 2006

  3. Burns, J.E., Gouda, M.G., Miller, R.E.: On relaxing interleaving assumptions. In: Proceedings of the MCC Workshop on Self-Stabilizing Systems, MCC Technical Report No. STP-379-89 (1989)

  4. Chang E.J.H., Gonnet G.H., Rotem D.: On the costs of self-stabilization. Inf. Process. Lett. 24, 311–316 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  5. Chernoy, V., Shalom, M., Zaks, S.: On the performance of Beauquier and Debas’ self-stabilizing algorithm for mutual exclusion. In 15th International Colloquium on Structural Information and Communication Complexity (SIROCCO), Villars-sur-Ollon, pp. 221–233, June 2008

  6. Cobb J.A., Gouda M.G.: Stabilization of general loop-free routing. J. Parallel Distrib. Comput. 62(5), 922–944 (2002)

    Article  MATH  Google Scholar 

  7. Dijkstra E.W.: Self stabilizing systems in spite of distributed control. Commun. ACM 17(11), 643–644 (1974)

    Article  MATH  Google Scholar 

  8. Dijkstra E.W.: A belated proof of self-stabilization. Distrib. Comput. 1, 5–6 (1986)

    Article  MATH  Google Scholar 

  9. Dolev S.: Self-stabilization. MIT Press, Cambridge (2000)

    MATH  Google Scholar 

  10. Kessels J.L.W.: An exercise in proving self-stabilization with a variant function. Inf. Process. Lett. 29, 39–42 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  11. Kruijer H.S.M.: Self-stabilization (in spite of distributed control) in tree-structured systems. Inf. Process. Lett. 8, 91–95 (1979)

    Article  MATH  MathSciNet  Google Scholar 

  12. Nakaminami, Y., Kakugawa, H., Masuzawa, T.: An advanced performance analysis of self-stabilizing protocols: stabilization time with transient faults during convergence. In 20th International Parallel and Distributed Processing Symposium (IPDPS 2006), Rhodes Island, Greece, 25–29 April 2006

  13. Schneider M.: Self-stabilization. ACM Comput. Surv. 25, 45–67 (1993)

    Article  Google Scholar 

  14. Tchuente M.: Sur l’auto-stabilisation dans un réseau d’ordinateurs. RAIRO Informatique Theoretique 15, 47–66 (1981)

    MATH  MathSciNet  Google Scholar 

  15. Tsuchiya T., Tokuda Y., Kikuno T.: Computing the stabilization times of self-stabilizing systems. IEICE Trans. Fundam. Electron. Commun. Comput. Sci. E 83(11), 2245–2252 (2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Viacheslav Chernoy.

Additional information

This research was supported in part by the Technion V.P.R. fund.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Chernoy, V., Shalom, M. & Zaks, S. On the performance of Dijkstra’s third self-stabilizing algorithm for mutual exclusion and related algorithms. Distrib. Comput. 23, 43–60 (2010). https://doi.org/10.1007/s00446-010-0104-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-010-0104-6

Keywords

Navigation