The Combinatorics of Resource Sharing

  • Valmir C. Barbosa
Part of the Applied Optimization book series (APOP, volume 67)


We discuss general models of resource-sharing computations, with emphasis on the combinatorial structures and concepts that underlie the various deadlock models that have been proposed, the design of algorithms and deadlock-handling policies, and concurrency issues. These structures are mostly graph-theoretic in nature, or partially ordered sets for the establishment of priorities among processes and acquisition orders on resources. We also discuss graph-coloring concepts as they relate to resource sharing.


Deadlock models deadlock detection deadlock prevention concurrency measures 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    V. C. Barbosa. Concurrency in Systems with Neighborhood Constraints. PhD thesis, Computer Science Department, University of California, Los Angeles, CA, 1986.Google Scholar
  2. [2]
    V. C. Barbosa. An Introduction to Distributed Algorithms. The MIT Press, Cambridge, MA, 1996.Google Scholar
  3. [3]
    V. C. Barbosa and M. R. F. Benevides. A graph-theoretic characterization of AND-OR deadlocks. Technical Report COPPE-ES-472/98, Federal University of Rio de Janeiro, Rio de Janeiro, Brazil, July 1998.Google Scholar
  4. [4]
    V. C. Barbosa, M. R. F. Benevides, and F. M. G. França. Sharing resources at nonuniform access rates. Theory of Computing Systems, 34:13–26, 2001.MathSciNetzbMATHCrossRefGoogle Scholar
  5. [5]
    V. C. Barbosa and E. Gafni. Concurrency in heavily loaded neighborhoodconstrained systems. ACM Trans. on Programming Languages and Systems, 11:562–584, 1989.CrossRefGoogle Scholar
  6. [6]
    J. A. Bondy and U. S. R. Murty. Graph Theory with Applications. NorthHolland, New York, NY, 1976.zbMATHGoogle Scholar
  7. [7]
    G. Bracha and S. Toueg. Distributed deadlock detection. Distributed Computing, 2:127–138, 1987.zbMATHCrossRefGoogle Scholar
  8. [8]
    J. Brzezinski, J.-M. Hélary, M. Raynal, and M. Singhal. Deadlock models and a general algorithm for distributed deadlock detection. J. of Parallel and Distributed Computing, 31:112–125, 1995.CrossRefGoogle Scholar
  9. [9]
    K. M. Chandy and L. Lamport. Distributed snapshots: Determining global states of distributed systems. ACM Trans. on Computer Systems, 3:63–75, 1985.CrossRefGoogle Scholar
  10. [10]
    K. M. Chandy and J. Misra. The drinking philosophers problem. ACM Trans. on Programming Languages and Systems, 6:632–646, 1984.CrossRefGoogle Scholar
  11. [11]
    K. M. Chandy, J. Misra, and L. M. Haas. Distributed deadlock detection. ACM Trans. on Computer Systems, 1:144–156, 1983.CrossRefGoogle Scholar
  12. [12]
    R. W. Deming. Acyclic orientations of a graph and chromatic and independence numbers. J. of Combinatorial Theory B, 26:101–110, 1979.MathSciNetzbMATHCrossRefGoogle Scholar
  13. [13]
    E. W. Dijkstra. Hierarchical ordering of sequential processes. Acta Informatica, 1:115–138, 1971.MathSciNetCrossRefGoogle Scholar
  14. [14]
    F. M. G. França. Neural Networks as Neighbourhood-Constrained Systems. PhD thesis, Imperial College, London, UK, 1994.Google Scholar
  15. [15]
    M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, New York, NY, 1979.zbMATHGoogle Scholar
  16. [16]
    R. C. Holt. Some deadlock properties of computer systems. ACM Computing Surveys, 4:179–196, 1972.MathSciNetCrossRefGoogle Scholar
  17. [17]
    E. Knapp. Deadlock detection in distributed databases. ACM Computing Surveys, 19:303–328, 1987.CrossRefGoogle Scholar
  18. [18]
    A. D. Kshemkalyani and M. Singhal. Efficient detection and resolution of generalized distributed deadlocks. IEEE Trans. on Software Engineering, 20:43–54, 1994.CrossRefGoogle Scholar
  19. [19]
    N. A. Lynch. Upper bounds for static resource allocation in a distributed system. J. of Computer and System Sciences, 23:254–278, 1981.MathSciNetzbMATHCrossRefGoogle Scholar
  20. [20]
    J. Misra and K. M. Chandy. A distributed graph algorithm: Knot detection. ACM Trans. on Programming Languages and Systems, 4:678–686, 1982.zbMATHCrossRefGoogle Scholar
  21. [21]
    D.-S. Ryang and K. H. Park. A two-level distributed detection algorithm of AND/OR deadlocks. J. ofParallel and Distributed Computing, 28:149– 161, 1995.zbMATHCrossRefGoogle Scholar
  22. [22]
    E. R. Scheinerman and D. H. Ullman. Fractional Graph Theory: A Rational Approach to the Theory of Graphs. Wiley, New York, NY, 1997.zbMATHGoogle Scholar
  23. [23]
    M. Singhal. Deadlock detection in distributed systems. IEEE Computer, 22:37–48, 1989.CrossRefGoogle Scholar
  24. [24]
    S. Stahl. n-tuple colorings and associated graphs. J. of Combinatorial Theory B, 20:185–203, 1976.MathSciNetzbMATHCrossRefGoogle Scholar
  25. [25]
    J. L. Welch and N. A. Lynch. A modular drinking philosophers algorithm. Distributed Computing, 6:233–244, 1993.MathSciNetzbMATHCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media Dordrecht 2002

Authors and Affiliations

  • Valmir C. Barbosa
    • 1
  1. 1.Programa de Engenharia de Sistemas e ComputaçãoCOPPERio de JaneiroBrazil

Personalised recommendations