A Family of Distributed Deadlock Avoidance Protocols and Their Reachable State Spaces
We study resource management in distributed systems. Incorrect handling of resources may lead to deadlocks, missed deadlines, priority inversions, and other forms of incorrect behavior or degraded performance. While in centralized systems deadlock avoidance is commonly used to ensure correct and efficient resource allocation, distributed deadlock avoidance is harder, and general solutions are considered impractical due to the high communication overhead. However, solutions that use only operations on local data exist if some static information about the possible sequences of remote invocations is known.
We present a family of efficient distributed deadlock avoidance algorithms that subsumes previously known solutions as special instances. Even though different protocols within the family allow different levels of concurrency and consequently fewer or more executions, we prove that they all have the same set of reachable states, expressed by a global invariant. This result enables: (1) a design principle: the use of different protocols at different sites does not compromise deadlock avoidance; (2) a proof principle: any resource allocation protocol that preserves the global invariant and whose allocation decisions are at least as liberal as those of the least liberal in the family, guarantees absence of deadlock.
KeywordsReachable State Call Graph Method Invocation Deadlock Prevention Deadlock Avoidance
- 1.Birrell, A.D.: An introduction to programming with threads. Research Report 35, Digital Equipment Corporation Systems Research Center (1989)Google Scholar
- 2.Dijkstra, E.W.: Cooperating sequential processes. Technical Report EWD-123, Technological University, Eindhoven, the Netherlands (1965)Google Scholar
- 6.Sánchez, C., Sipma, H.B., Manna, Z., Gill, C.: Efficient distributed deadlock avoidance with liveness guarantees. In: Min, S.L., Yi, W. (eds.) Proceedings of the 6th ACM & IEEE International Conference on Embedded Software (EMSOFT’06), Seoul, South Korea, October 2006, pp. 12–20. ACM, New York (2006)CrossRefGoogle Scholar
- 7.Sánchez, C., Sipma, H.B., Manna, Z., Subramonian, V., Gill, C.: On efficient distributed deadlock avoidance for distributed real-time and embedded systems. In: Proceedings of the 20th IEEE International Parallel and Distributed Processing Symposium (IPDPS’06), Rhodas, Greece, IEEE Computer Society Press, Los Alamitos (2006)Google Scholar
- 10.Schmidt, D.C., Stal, M., Rohnert, H., Buschmann, F.: Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects, vol. 2. Wiley & Sons, New York (2000)Google Scholar
- 11.Silberschatz, A., Galvin, P.B., Gagne, G.: Operating System Concepts, 6th edn. John Wiley & Sons, Inc., New York (2003)Google Scholar
- 12.Singhal, M., Shivaratri, N.G.: Advanced Concepts in Operating Systems: Distributed, Database, and Multiprocessor Operating Systems. McGraw-Hill, Inc., New York (1994)Google Scholar
- 13.Stallings, W.: Operating Systems: Internals and Design Principles, 3rd edn. Prentice Hall, Inc., Upper Saddle River (1998)Google Scholar
- 14.Subramonian, V., Xing, G., Gill, C.D., Lu, C., Cytron, R.: Middleware specialization for memory-constrained networked embedded systems. In: Proc. of 10th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS’04), Toronto, Canada, May 2004, IEEE Computer Society Press, Los Alamitos (2004)Google Scholar