Self-Stabilizing Local Mutual Exclusion and Daemon Refinement

  • Joffroy Beauquier
  • Ajoy K. Datta
  • Maria Gradinariu
  • Frederic Magniette
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1914)


Refining self-stabilizing algorithms which use tighter schedul- ing constraints (weaker daemon) into corresponding algorithms for weak- er or no scheduling constraints (stronger daemon), while preserving the stabilization property, is useful and challenging. Designing transforma- tion techniques for these refinements has been the subject of serious in- vestigations in recent years. This paper proposes a transformation tech- nique to achieve the above task. The heart of the transformer is a self- stabilizing local mutual exclusion algorithm. The local mutual exclusion problem is to grant a process the privilege to enter the critical section if and only if none of the neighbors of the process has the privilege. The con- tribution of this paper is twofold. First, we present a bounded-memory self-stabilizing local mutual exclusion algorithm for arbitrary network, assuming any arbitrary daemon. After stabilization, this algorithm main- tains a bound on the service time (the delay between two successive ex- ecutions of the critical section by a particular process). This bound is nx(n-1)/2where n is the network size. Second, we use the local mutual ex- clusion algorithm to design two scheduler transformers which convert the algorithms working under a weaker daemon to ones which work under the distributed, arbitrary (or unfair) daemon, both transformers preserv- ing the self-stabilizing property. The first transformer refines algorithms written under the central daemon, while the second transformer refines algorithms designed for the fc-fair (k≥(n - 1)) daemon.


Local mutual exclusion self-stabilization transformer unfair daemon 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AN99]
    A. Arora and M. Nesterenko. Stabilization-preserving atomicity refinement. DISC’99, pages 254–268, 1999.Google Scholar
  2. [AS90]
    B. Awerbuch and M. Saks. A dining philosophers algorithm with polynomial response time. 31st Annual Symposium on Foundations of Computer Science, volume 1:65–74, October 1990.CrossRefGoogle Scholar
  3. [AS99]
    GH. Antonoiu and P.K. Srimani. Mutual exclusion between neighboring nodes in an arbitrary system graph tree that stabilizes using read/write atomicity. In Euro-par99, Parallel Processing, Proceedings LNCS:1685, pages 823–830, 1999.Google Scholar
  4. [BG89]
    V. Barbosa and E. Gafni. Concurrency in heavily loaded neighborhood-constrained systems. Transactions on Programming Languages and Systems Vol 11 Num 4, pages 562–584, 1989.CrossRefGoogle Scholar
  5. [CFG92]
    J.M. Couvreur, N. Francez, and M.G. Gouda. Asynchronous unison. ICD-CS92 Proceedings of the 12th International Conference on Distributed Computing Systems, pages 486–493, 1992.Google Scholar
  6. [CM84]
    M. Chandy and J. Misra. The drinking philosophers problem. ACM Transa-tions on Programming Languages and Systems, pages 6(4):632–646, October 1984.CrossRefGoogle Scholar
  7. [DGS96]
    S. Dolev, M. G. Gouda, and M. Schneider. Memory requirements for silent stabilization. In PODC96 Proceedings of the Fifteenth Annual ACM Symposium on Principles of Distributed Computing, pages 27–34, 1996.Google Scholar
  8. [Dij71]
    E. W. Dijkstra. Hierarchical ordering of sequential processes. Ada Informatica, pages 115–138, 1971.Google Scholar
  9. [Dij74]
    E. W. Dijkstra. Self-stabilizing systems in spite of distributed control. ACM 17, pages 643–644, 1974.Google Scholar
  10. [DIM93]
    S. Dolev, A. Israeli, and S. Moran. Self-stabilizing of dynamic systems assuming only read/write atomicity. Distributed Computing, 7:3–16, 1993.CrossRefGoogle Scholar
  11. [DolOO]
    S. Dolev. Self-Stabilization. The MIT Press, 2000.Google Scholar
  12. [GH97]
    M. Gouda and F. Hadix. The linear alternator. Proceedings of the third workshop on self-stabilizing systems (WSS-97), International Informatics Series 7, Carleton University Press, pages 31–47, 1997.Google Scholar
  13. [GH99]
    M. Gouda and F. Hadix. The alternator. In Proceedings of the Third Workshop on Self-Stabilizing Systems (published in association with ICDCS99 The 19th IEEE International Conference on Distributed Computing Systems), pages 48–53, 1999.Google Scholar
  14. [GK93]
    S. Ghosh and Mehmet Hakan Karaata. A self-stabilizing algorithm for coloring planar graphs. Distributed Computing, pages 7:55–59, 1993.zbMATHCrossRefMathSciNetGoogle Scholar
  15. [Gou87]
    M. G. Gouda. The stabilizing philosopher: asymmetry by memory and by action. Tech Rep TR-87-12, Univesity of Texas at Austin, 1987.Google Scholar
  16. [HP89]
    D. Hoover and J. Poole. A distributed self-stabilizing solution for the dining philosophers problem. Information Processing Letter 1 1, pages 209–213, 1989.Google Scholar
  17. [HuaOO]
    S.T. Huang. The fuzzy philoshophers. In Workshop on Advances of Paral-leland Distributed Computational Models, page to appear, May 2000.Google Scholar
  18. [JADT99]
    C. Johnen, L. O. Alima, A. K. Datta, and S. Tixeuil. Self-stabilizing neighborhood synchronizer in tree networks. In Proceedings of the Nineteenth International Conference on Distributed Computing Systems (ICDCS’99), pages 487–494, June 1999.Google Scholar
  19. [MN97]
    M. Mizuno and M. Nesterenko. A transformation of self-stabilizing serial model programs for asynchronous parallel computing environments. Information Processing Letter 66, pages 285–290, 1997.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Joffroy Beauquier
    • 1
  • Ajoy K. Datta
    • 2
  • Maria Gradinariu
    • 1
  • Frederic Magniette
    • 1
  1. 1.Laboratoire de Recherche en InformatiqueUniversite de ParisSudFrance
  2. 2.Department of Computer ScienceUniversity of Nevada Las VegasLas Vegas

Personalised recommendations