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 2−O(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.
Similar content being viewed by others
References
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)
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
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)
Chang E.J.H., Gonnet G.H., Rotem D.: On the costs of self-stabilization. Inf. Process. Lett. 24, 311–316 (1987)
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
Cobb J.A., Gouda M.G.: Stabilization of general loop-free routing. J. Parallel Distrib. Comput. 62(5), 922–944 (2002)
Dijkstra E.W.: Self stabilizing systems in spite of distributed control. Commun. ACM 17(11), 643–644 (1974)
Dijkstra E.W.: A belated proof of self-stabilization. Distrib. Comput. 1, 5–6 (1986)
Dolev S.: Self-stabilization. MIT Press, Cambridge (2000)
Kessels J.L.W.: An exercise in proving self-stabilization with a variant function. Inf. Process. Lett. 29, 39–42 (1988)
Kruijer H.S.M.: Self-stabilization (in spite of distributed control) in tree-structured systems. Inf. Process. Lett. 8, 91–95 (1979)
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
Schneider M.: Self-stabilization. ACM Comput. Surv. 25, 45–67 (1993)
Tchuente M.: Sur l’auto-stabilisation dans un réseau d’ordinateurs. RAIRO Informatique Theoretique 15, 47–66 (1981)
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)
Author information
Authors and Affiliations
Corresponding author
Additional information
This research was supported in part by the Technion V.P.R. fund.
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00446-010-0104-6