A Family of Distributed Deadlock Avoidance Protocols and Their Reachable State Spaces

  • César Sánchez
  • Henny B. Sipma
  • Zohar Manna
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4422)


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.


Reachable State Call Graph Method Invocation Deadlock Prevention Deadlock Avoidance 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Birrell, A.D.: An introduction to programming with threads. Research Report 35, Digital Equipment Corporation Systems Research Center (1989)Google Scholar
  2. 2.
    Dijkstra, E.W.: Cooperating sequential processes. Technical Report EWD-123, Technological University, Eindhoven, the Netherlands (1965)Google Scholar
  3. 3.
    Habermann, A.N.: Prevention of system deadlocks. Communications of the ACM 12, 373–377 (1969)CrossRefGoogle Scholar
  4. 4.
    Havender, J.W.: Avoiding deadlock in multi-tasking systems. IBM Systems Journal 2, 74–84 (1968)CrossRefGoogle Scholar
  5. 5.
    Sánchez, C., Sipma, H.B., Gill, C.D., Manna, Z.: Distributed Priority Inheritance for Real-Time and Embedded Systems. In: Shvartsman, M.M.A.A. (ed.) OPODIS 2006. LNCS, vol. 4305, pp. 110–125. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  6. 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. 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
  8. 8.
    Sánchez, C., Sipma, H.B., Subramonian, V., Gill, C.D., Manna, Z.: Thread Allocation Protocols for Distributed Real-Time and Embedded Systems. In: Wang, F. (ed.) FORTE 2005. LNCS, vol. 3731, pp. 159–173. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  9. 9.
    Schmidt, D.C.: Evaluating Architectures for Multi-threaded CORBA Object Request Brokers. Communications of the ACM (Special Issue on CORBA) 41, 54–60 (1998)CrossRefGoogle Scholar
  10. 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. 11.
    Silberschatz, A., Galvin, P.B., Gagne, G.: Operating System Concepts, 6th edn. John Wiley & Sons, Inc., New York (2003)Google Scholar
  12. 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. 13.
    Stallings, W.: Operating Systems: Internals and Design Principles, 3rd edn. Prentice Hall, Inc., Upper Saddle River (1998)Google Scholar
  14. 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

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • César Sánchez
    • 1
  • Henny B. Sipma
    • 1
  • Zohar Manna
    • 1
  1. 1.Computer Science Department, Stanford University, Stanford, CA 94305-9025 

Personalised recommendations