skip to main content
research-article

Self-stabilizing philosophers with generic conflicts

Published:09 February 2009Publication History
Skip Abstract Section

Abstract

We generalize the classic dining philosophers problem to separate the conflict and communication neighbors of each process. Communication neighbors may directly exchange information while conflict neighbors compete for the access to the exclusive critical section of code. This generalization is motivated by a number of practical problems in distributed systems including problems in wireless sensor networks. We present a self-stabilizing deterministic algorithm—GDP that solves this generalized problem. Our algorithm is terminating. We formally prove GDP correct and evaluate its performance. We extend the algorithm to handle a similarly generalized drinking philosophers and the committee coordination problem. We describe how GDP can be implemented in wireless sensor networks and demonstrate that this implementation does not jeopardize its correctness or termination properties.

References

  1. Antoniu, G. and Srimani, P. 1999. A self-stabilizing distributed algorithm to find the median of a tree graph. J. Comput. Syst. Sci. 58, 215--221. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Arora, A. and Nesterenko, M. 2005. Unifying stabilization and termination in message-passing systems. Distrib. Comput. 17, 3, 279--290. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Arumugam, M. and Kulkarni, S. 2005. Self-stabilizing deterministic TDMA for sensor networks. Tech. rep. MSU-CSE-05-19, Michigan State University.Google ScholarGoogle Scholar
  4. Banerjee, S., Kommareddy, C., Kar, K., Bhattacharjee, S., and Khuller, S. 2003. Construction of an efficient overlay multicast infrastructure for real-time applications. In Proceedings of the Joint Conference of the IEEE Computer and Communications Societies (INFOCOM). 1521--1531.Google ScholarGoogle Scholar
  5. Beauquier, J., Datta, A., Gradinariu, M., and Magniette, F. 2000. Self-stabilizing local mutual exclusion and daemon refinement. In Proceedings of the 12th International Symposium on Distributed Computing. Springer, 223--237. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Blin, L., Cournier, A., and Villain, V. 2003. An improved snap-stabilizing PIF algorithm. In Proceedings of the 6th International Symposium on Self-Stabilizing Systems, (SSS03), S.-T. Huang and T. Herman, Eds. Lecture Notes in Computer Science, vol. 2704. Springer, 199--214. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Boulinier, C., Petit, F., and Villain, V. 2004. When graph theory helps self-stabilization. In Proceedings of the 23rd Annual ACM Symposium on Principles of Distributed Computing. ACM Press, 150--159. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Bui, A., Datta, A., Petit, F., and Villain, V. 1999. State-optimal snap-stabilizing PIF in tree networks. In Proceedings of the Forth Workshop on Self-Stabilizing Systems. IEEE, 78--85. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Cantarell, S., Datta, A., and Petit, F. 2003. Self-stabilizing atomicity refinement allowing neighborhood concurrency. In Proceedings of the 6th International Symposium on Self-Stabilizing Systems. Lecture Notes in Computer Science, vol. 2704. Springer, 102--112. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Chandy, K. and Misra, J. 1984. The drinking philosophers problem. ACM Trans. Program. Lang. Syst. 6, 4, 632--646. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Chandy, K. and Misra, J. 1988. Parallel Program Design: a Foundation. Addison-Wesley, Reading, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Datta, A., Gradinariu, M., and Raynal, M. 2005. Stabilizing mobile philosophers. Inform. Proces. Lett. 95, 1, 299--306. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Dijkstra, E. 1968. Cooperating Sequential Processes. Academic Press.Google ScholarGoogle Scholar
  14. Dolev, S. 2000. Self-Stabilization. MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Gairing, M., Goddard, W., Hedetniemi, S., Kristiansen, P., and McRae, A. 2004. Distance-two information in self-stabilizing algorithms. Parall. Process. Lett. 14, 3-4, 387--398.Google ScholarGoogle ScholarCross RefCross Ref
  16. Goddard, W., Hedetniemi, S., Jacobs, D., and Trevisan, V. 2006. Distance-K information in self-stabilizing algorithms. In Proceedings of the 13th Colloquium on Structural Information and Communication Complexity (SIROCCO), 349--356. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Gouda, M. 1998. Elements of Network Protocol Design. John Wiley & Sons, Inc. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Gouda, M. and Haddix, F. 1999. The alternator. In Proceedings of the 4th Workshop on Self-Stabilizing Systems. IEEE Computer Society, 48--53. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Gouda, M. and Multari, N. 1991. Stabilizing communication protocols. IEEE Trans. Comput. 40, 448--458. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Gradinariu, M. and Tixeuil, S. 2007. Conflict managers for self-stabilization without fairness assumption. In Proceedings of the International Conference on Distributed Computing Systems (ICDCS 2007). IEEE, 46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Herman, T. 1991. Adaptivity through distributed convergence. Ph.D. thesis, Department of Computer Science, University of Texas at Austin. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Herman, T. and Tixeuil, S. 2004. A distributed TDMA slot assignment algorithm for wireless sensor networks. In Proceedings of the 1st International Workshop on Algorithmic Aspects of Wireless Sensor Networks, 45--58.Google ScholarGoogle Scholar
  23. Hoover, H. 1995. On the self-stabilization of processors with continuous states. In Proceedings of the 2nd Workshop on Self-Stabilizing Systems, 8.1--8.15.Google ScholarGoogle Scholar
  24. Huang, S. 2000. The fuzzy philosophers. In Proceedings of the 15th International Parallel and Distributed Processing Symposium Workshops, J. R. et al., Ed. Lecture Notes in Computer Science, vol. 1800, 130--136. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Jayanti, P. 2003. Adaptive and efficient abortable mutual exclusion. In Proceedings of the 22nd Annual ACM Symposium on Principles of Distributed Computing (PODC'03), 295--304. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Johnen, C., Alima, L., Datta, A., and Tixeuil, S. 2002. Optimal snap-stabilizing neighborhood synchronizer in tree networks. Parall. Process. Lett. 12, 3-4, 327--340.Google ScholarGoogle ScholarCross RefCross Ref
  27. Kulkarni, S. and Arumugam, M. 2003. Collision-free communication in sensor networks. In Proceedings of the Symposium on Self-Stabilizing Systems (SSS). Lecture Notes in Computer Science, vol. 2704, 17--31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Lynch, N. 1980. Fast allocation of nearby resources in a distributed system. In Proceedings of the 12th Annual ACM Symposium on Theory of Computing (STOC). ACM Press, 70--81. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Malhotra, M., Krasniewski, M., Yang, C., Bagchi, S., and Chappbell, W. 2005. Location estimation in ad-hoc networks with directional antennas. In Proceedings of the 25th IEEE International Conference on Distributed Computing Systems. 633--642. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Mitton, N., Fleury, E., Guérin-Lassous, I., Sericola, B., and Tixeuil, S. 2006. Fast convergence in self-stabilizing wireless networks. In Proceedings of the International Conference on Parallel and Distributed Systems. IEEE Computer Society, 31--38. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Mitton, N., Paroux, K., Sericola, B., and Tixeuil, S. 2008. Ascending runs in dependent uniformly distributed random variables: Application to wireless networks. Methodology and Computing in Applied Probability.Google ScholarGoogle Scholar
  32. Mizuno, M. and Nesterenko, M. 1998. A transformation of self-stabilizing serial model programs for asynchronous parallel computing environments. Inform. Proc. Lett. 66, 6, 285--290. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Nesterenko, M. and Arora, A. 2001. Self-stabilizing routing in wireless embedded. In Proceedings of the SRDS Workshop on Reliability in Embedded Systems, 16--22.Google ScholarGoogle Scholar
  34. Nesterenko, M. and Arora, A. 2002a. Dining philosophers that tolerate malicious crashes. In Proceedings of the 22nd International Conference on Distributed Computing Systems (ICDCS). IEEE, 191--198. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Nesterenko, M. and Arora, A. 2002b. Stabilization-preserving atomicity refinement. J. Parall. Distrib. Comput. 62, 5, 766--791. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Scott, M. L. and Scherer, III, W. N. 2001. Scalable queue-based spin locks with timeout. In Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPOPP'01), ACM SIGPLAN Notices (8th PPOPP'01), 44--52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Shi, S. and Turner, J. S. 2002. Routing in overlay multicast networks. In Proceedings of the IEEE INFOCOM. Vol. 3. IEEE Computer Society, 1200--1208.Google ScholarGoogle Scholar
  38. Sivilotti, P., Pike, S., and Sridhar, N. 2000. A new distributed resource-allocation algorithm with optimal failure locality. In Proceedings of the 12th IASTED International Conference on Parallel and Distributed Computing and Systems. Vol. 2. IASTED/ACTA Press, 524--529.Google ScholarGoogle Scholar

Index Terms

  1. Self-stabilizing philosophers with generic conflicts

                      Recommendations

                      Reviews

                      Bayard Kohlhepp

                      The dining philosophers problem, attributed to Dijkstra, describes resource contention in terms of diners who must share a limited number of forks in order to eat their meal. Other variants, such as the drinking philosophers, have also been used. Regardless of what the philosophers are doing, the core issue in any philosophers problem is how multiple entities can obtain fair use of a shared resource without causing a crisis. While concurrency is important to many aspects of computing, the authors of this paper focus on wireless sensor networks. Wireless networks have the same contention issues as traditional networks, plus an additional problem: it is very likely that two wireless transmitters are out of each other's range and transmitting simultaneously, while a receiver is in range of both but cannot hear either, due to mutual interference. As the two radios cannot "talk" to each other to coordinate their signaling, they continue to drown each other out. This behavior breaks the existing philosophers problem solutions. Danturi, Nesterenko, and Tixeuil present a self-stabilizing, deterministic algorithm with a correctness proof. Theirs is not the first deterministic, self-stabilizing philosophers solution-they cite others in the text. However, they add the key innovation of separating the entities into two sets: communicating neighbors and conflict neighbors. Spanning trees are constructed for each set and traversed to negotiate the transfer of control. This innovation allows their algorithm to address a wider range of problems, such as the physical wireless sensor network and the theoretical drinking philosophers and committee coordination problems. They demonstrate reasonable time efficiency and suggest space efficiency as a future research topic. This work should be valuable to anyone interested in concurrency issues, such as network or operating system designers. Newcomers will appreciate the numerous citations to past work, while experienced designers will be eager to use the new algorithm. Online Computing Reviews Service

                      Access critical reviews of Computing literature here

                      Become a reviewer for Computing Reviews.

                      Comments

                      Login options

                      Check if you have access through your login credentials or your institution to get full access on this article.

                      Sign in

                      Full Access

                      • Published in

                        cover image ACM Transactions on Autonomous and Adaptive Systems
                        ACM Transactions on Autonomous and Adaptive Systems  Volume 4, Issue 1
                        January 2009
                        213 pages
                        ISSN:1556-4665
                        EISSN:1556-4703
                        DOI:10.1145/1462187
                        Issue’s Table of Contents

                        Copyright © 2009 ACM

                        Publisher

                        Association for Computing Machinery

                        New York, NY, United States

                        Publication History

                        • Published: 9 February 2009
                        • Revised: 1 September 2008
                        • Accepted: 1 September 2008
                        • Received: 1 February 2007
                        Published in taas Volume 4, Issue 1

                        Permissions

                        Request permissions about this article.

                        Request Permissions

                        Check for updates

                        Qualifiers

                        • research-article
                        • Research
                        • Refereed

                      PDF Format

                      View or Download as a PDF file.

                      PDF

                      eReader

                      View online with eReader.

                      eReader
                      About Cookies On This Site

                      We use cookies to ensure that we give you the best experience on our website.

                      Learn more

                      Got it!