On the Performance of Dijkstra's Third Self-stabilizing Algorithm for Mutual Exclusion

In [7] Dijkstra introduced the notion of self-stabilizing algorithms, and presented three such algorithms for the problem of mutual exclusion on a ring of processors. The third algorithm is the most interesting of these three, but is rather non intuitive. In [8] 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 O(n2) (n being the size of the ring) for this algorithm's complexity. This complexity applies to a centralized as well as to a distributed scheduler.

[1]  Edsger W. Dijkstra,et al.  Self-stabilizing systems in spite of distributed control , 1974, CACM.

[2]  H. S. M. Kruijer Self-Stabilization (in Spite of Distributed Control) in Tree-Structured Systems , 1979, Inf. Process. Lett..

[3]  Maurice Tchuente,et al.  Sur l'Auto- Stabilisation dans un Réseau d'Ordinateurs , 1981, RAIRO Theor. Informatics Appl..

[4]  Gaston H. Gonnet,et al.  On the Costs of Self-Stabilization , 1987, Inf. Process. Lett..

[5]  Joep L. W. Kessels,et al.  An Exercise in Proving Self-Stabilization with a Variant Function , 1988, Information Processing Letters.

[6]  Marco Schneider,et al.  Self-stabilization , 1993, CSUR.

[7]  Tohru Kikuno,et al.  Computing the Stabilization Times of Self-Stabilizing Systems , 2000 .

[8]  Mohamed G. Gouda,et al.  Stabilization of General Loop-Free Routing , 2002, J. Parallel Distributed Comput..

[9]  Shlomi Dolev,et al.  Self Stabilization , 2004, J. Aerosp. Comput. Inf. Commun..

[10]  Edsger W. Dijkstra A belated proof of self-stabilization , 2005, Distributed Computing.

[11]  Hirotsugu Kakugawa,et al.  An advanced performance analysis of self-stabilizing protocols: stabilization time with transient faults during convergence , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[12]  Joffroy Beauquier,et al.  Brief Announcement: Computing Automatically the Stabilization Time Against the Worst and the Best Schedules , 2006, DISC.

[13]  Shmuel Zaks,et al.  A Self-stabilizing Algorithm with Tight Bounds for Mutual Exclusion on a Ring , 2008, DISC.