Skip to main content

Generalised Dining Philosophers as Feedback Control

  • Conference paper
  • First Online:
Distributed Computing and Internet Technology (ICDCIT 2020)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 11969))

  • 1119 Accesses

Abstract

We examine the mutual exclusion problem of concurrency through the systematic application of modern feedback control theory, by revisiting the classical problem involving mutual exclusion: the Generalised Dining Philosophers problem. The result is a modular development of the solution using the notions of system and system composition in a formal setting that employs simple equational reasoning. The modular approach separates the solution architecture from the algorithmic minutiae and has the benefit of simplifying the design and correctness proofs.

Two variants of the problem are considered: centralised and distributed topology with N philosophers. In each case, solving the Generalised Dining Philosophers reduces to designing an appropriate feedback controller.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    Due to page limit constraints, all proofs are delegated to a technical report [3].

  2. 2.

    “In the design of reactive systems it is sometimes not clear what is given and what the designer is expected to produce.” Chandy and Misra [4, p. 290].

  3. 3.

    Regardless of the initial state, the algorithm eventually converges to a legal state, and will therefore remain only in legal states.

References

  1. Gamma, E., Helm, R., Johnson, R., Visslides, R.: Design Patterns: Elements of Reusable Object-Oriented Software. Addisson-Wesley, Reading (1994)

    Google Scholar 

  2. Tabuada, P.: Verification and Control of Hybrid Systems: A Symbolic Approach. Springer, Boston (2009). https://doi.org/10.1007/978-1-4419-0224-5

    Book  MATH  Google Scholar 

  3. Choppella, V., Viswanath, K., Sanjeev, A.: Generalised dining philosophers as feedback control. arXiv preprint arXiv:1805.02010 (2018)

  4. Chandy, M., Misra, J.: Parallel Program Design: A Foundation. Addison–Wesley, Reading (1988)

    MATH  Google Scholar 

  5. Dijkstra, E.W.: Hierarchical ordering of sequential processes. Acta Informatica 1, 115–138 (1971). Also published as EWD 310

    Article  MathSciNet  Google Scholar 

  6. Dijkstra, E.W.: Two starvation-free solutions of a general exclusion problem. Circulated privately (1977)

    Google Scholar 

  7. Papatriantafilou, M.: On distributed resource handling: dining, drinking and mobile philosophers. In: Proceedings of the First International Conference on Principles of Distributed Systems (OPODIS), pp. 293–308(1997)

    Google Scholar 

  8. Lynch, N.: Upper bounds for static resource allocation in a distributed system. J. Comput. Syst. Sci. 23, 254–278 (1981)

    Article  MathSciNet  Google Scholar 

  9. Ramadge, P., Wonham, W.: The control of discrete event systems. Proc. IEEE 77(1), 81–98 (1989)

    Article  Google Scholar 

  10. Chandy, K.M., Misra, J.: The drinking philosophers problem. ACM Trans. Program. Lang. Syst. 6(4), 632–646 (1984)

    Article  Google Scholar 

  11. Welch, J.L., Lynch, N.A.: A modular drinking philosophers algorithm. Distrib. Comput. 6(4), 233–244 (1993)

    Article  MathSciNet  Google Scholar 

  12. Lynch, N.: Distributed Algorithms. Morgan Kaufmann, Burlington (1996)

    MATH  Google Scholar 

  13. Rhee, I.: A fast distributed modular algorithm for resource allocation. In: Proceedings of the 15th International Conference on Distributed Computing Systems, 1995, pp. 161–168, May 1995

    Google Scholar 

  14. Sidhu, D.P., Pollack, R.H.: A robust distributed solution to the generalized dining philosophers problem. In: 1984 IEEE First International Conference on Data Engineering, pp. 483–489. IEEE (1984)

    Google Scholar 

  15. Weidman, E.B., Page, I.P., Pervin, W.J.: Explicit dynamic exclusion algorithm

    Google Scholar 

  16. Zhan, J., Guo, Y., Liu, C.: A deadlock prevention using adjacency matrix on dining philosophers problem, vol. 121–126 (2012)

    Google Scholar 

  17. Awerbuch, B., Saks, M.: A dining philosophers algorithm with polynomial response time. In: Proceedings of the 31st Symposium on Foundations of Computer Science (FOCS), pp. 65–74 (1990)

    Google Scholar 

  18. Haiyan, Q.: A Distributed Algorithm in Agda: The Dining Philosophers (1999)

    Google Scholar 

  19. Hoover, D., Poole, J.: A distributed self-stabilizing solution to the dining philosophers problem. Inf. Process. Lett. 41(4), 209–213 (1992)

    Article  MathSciNet  Google Scholar 

  20. Keane, P., Moir, M.: A general resource allocation synchronization problem. In: 21st International Conference on Distributed Computing Systems, 2001, pp. 557–564. IEEE (2001)

    Google Scholar 

  21. Cargill, T.A.: A robust distributed solution to the dining philosophers problem. Softw. Pract. Exp. 12(10), 965–969 (1982)

    Article  Google Scholar 

  22. You, Z., Xue, J., Ying, S.: Categorial semantics of a solution to distributed dining philosophers problem. In: Lee, D.-T., Chen, D.Z., Ying, S. (eds.) FAW 2010. LNCS, vol. 6213, pp. 172–184. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14553-7_18

    Chapter  Google Scholar 

  23. Nesterenko, M., Arora, A.: Dining philosophers that tolerate malicious crashes. In: Proceedings on the 22nd International Conference on Distributed Computing Systems, 2002, pp. 191–198. IEEE (2002)

    Google Scholar 

  24. Chang, E.: n-philosophers: an exercise in distributed control. Comput. Netw. (1976) 4(2), 71–76 (1980)

    Article  Google Scholar 

  25. Datta, A.K., Gradinariu, M., Raynal, M.: Stabilizing mobile philosophers. Inf. Process. Lett. 95(1), 299–306 (2005)

    Article  MathSciNet  Google Scholar 

  26. Miremadi, S., Akesson, K., Fabian, M., Vahidi, A., Lennartson, B.: Solving two supervisory control benchmark problems in Supremica. In: Proceedings of the 9th International Workshop on Discrete Event Systems, pp. 131–136. IEEE (2008)

    Google Scholar 

  27. Andova, S., Groenewegen, L.P.J., de Vink, E.P.: Distributed adaption of dining philosophers. In: Barbosa, L.S., Lumpe, M. (eds.) FACS 2010. LNCS, vol. 6921, pp. 125–144. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-27269-1_8

    Chapter  Google Scholar 

  28. Vaughan, J.G.: The dining philosophers problem and its decentralisation. Microprocess. Microprogr. 35(1–5), 455–462 (1992)

    Article  Google Scholar 

  29. Siahaan, A.P.U.: Synchronization in dining philosophers problem using lock & release algorithm

    Google Scholar 

  30. Wang, Y., Kelly, T., Kudlur, M., Mahlke, S., Lafortune, S.: The application of supervisory control to deadlock avoidance in concurrent software. In: 9th International Workshop on Discrete Event Systems, WODES 2008, pp. 287–292. IEEE (2008)

    Google Scholar 

  31. Mizoguchi, M., Ushio, T.: Output feedback controller design with symbolic observers for cyber-physical systems. arXiv preprint arXiv:1612.04974 (2016)

  32. Fu, J., Tanner, H.G., Heinz, J., Chandlee, J.: Adaptive symbolic control for finite-state transition systems with grammatical inference. IEEE Trans. Autom. Control. 59(2), 505–511 (2014)

    Article  MathSciNet  Google Scholar 

  33. Halbwachs, N.: Synchronous Programming of Reactive Systems. Kluwer Academic Publishers, Dordrecht (1993)

    Book  Google Scholar 

  34. Gamatié, A.: Designing Embedded Systems with the Signal Programming Language: Synchronous, Reactive Specification. Springer, New York (2009). https://doi.org/10.1007/978-1-4419-0941-1

    Book  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Arjun Sanjeev .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Choppella, V., Sanjeev, A., Viswanath, K., Jayaraman, B. (2020). Generalised Dining Philosophers as Feedback Control. In: Hung, D., D´Souza, M. (eds) Distributed Computing and Internet Technology. ICDCIT 2020. Lecture Notes in Computer Science(), vol 11969. Springer, Cham. https://doi.org/10.1007/978-3-030-36987-3_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-36987-3_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-36986-6

  • Online ISBN: 978-3-030-36987-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics