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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Due to page limit constraints, all proofs are delegated to a technical report [3].
- 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.
Regardless of the initial state, the algorithm eventually converges to a legal state, and will therefore remain only in legal states.
References
Gamma, E., Helm, R., Johnson, R., Visslides, R.: Design Patterns: Elements of Reusable Object-Oriented Software. Addisson-Wesley, Reading (1994)
Tabuada, P.: Verification and Control of Hybrid Systems: A Symbolic Approach. Springer, Boston (2009). https://doi.org/10.1007/978-1-4419-0224-5
Choppella, V., Viswanath, K., Sanjeev, A.: Generalised dining philosophers as feedback control. arXiv preprint arXiv:1805.02010 (2018)
Chandy, M., Misra, J.: Parallel Program Design: A Foundation. Addison–Wesley, Reading (1988)
Dijkstra, E.W.: Hierarchical ordering of sequential processes. Acta Informatica 1, 115–138 (1971). Also published as EWD 310
Dijkstra, E.W.: Two starvation-free solutions of a general exclusion problem. Circulated privately (1977)
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)
Lynch, N.: Upper bounds for static resource allocation in a distributed system. J. Comput. Syst. Sci. 23, 254–278 (1981)
Ramadge, P., Wonham, W.: The control of discrete event systems. Proc. IEEE 77(1), 81–98 (1989)
Chandy, K.M., Misra, J.: The drinking philosophers problem. ACM Trans. Program. Lang. Syst. 6(4), 632–646 (1984)
Welch, J.L., Lynch, N.A.: A modular drinking philosophers algorithm. Distrib. Comput. 6(4), 233–244 (1993)
Lynch, N.: Distributed Algorithms. Morgan Kaufmann, Burlington (1996)
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
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)
Weidman, E.B., Page, I.P., Pervin, W.J.: Explicit dynamic exclusion algorithm
Zhan, J., Guo, Y., Liu, C.: A deadlock prevention using adjacency matrix on dining philosophers problem, vol. 121–126 (2012)
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)
Haiyan, Q.: A Distributed Algorithm in Agda: The Dining Philosophers (1999)
Hoover, D., Poole, J.: A distributed self-stabilizing solution to the dining philosophers problem. Inf. Process. Lett. 41(4), 209–213 (1992)
Keane, P., Moir, M.: A general resource allocation synchronization problem. In: 21st International Conference on Distributed Computing Systems, 2001, pp. 557–564. IEEE (2001)
Cargill, T.A.: A robust distributed solution to the dining philosophers problem. Softw. Pract. Exp. 12(10), 965–969 (1982)
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
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)
Chang, E.: n-philosophers: an exercise in distributed control. Comput. Netw. (1976) 4(2), 71–76 (1980)
Datta, A.K., Gradinariu, M., Raynal, M.: Stabilizing mobile philosophers. Inf. Process. Lett. 95(1), 299–306 (2005)
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)
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
Vaughan, J.G.: The dining philosophers problem and its decentralisation. Microprocess. Microprogr. 35(1–5), 455–462 (1992)
Siahaan, A.P.U.: Synchronization in dining philosophers problem using lock & release algorithm
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)
Mizoguchi, M., Ushio, T.: Output feedback controller design with symbolic observers for cyber-physical systems. arXiv preprint arXiv:1612.04974 (2016)
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)
Halbwachs, N.: Synchronous Programming of Reactive Systems. Kluwer Academic Publishers, Dordrecht (1993)
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
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)