Deadlock Avoidance for Sequential Resource Allocation Systems: Hard and Easy Cases Academic Article uri icon

abstract

  • Deadlock is a major problem for systems that allocate resources in real time. The key issue in deadlock avoidance is whether or not a given resource allocation state is safe: that is, whether or not there exists a sequence of resource allocations that completes all processes. Although safety is established as NP-complete for certain broad resource allocation classes, newly emerging resource allocation scenarios often exhibit unique features not considered in previous work. In these cases, establishing the underlying complexity of the safety problem is essential for developing the best deadlock avoidance approach. This work investigates the complexity of safe resource allocation for a class of systems relevant in automated manufacturing. For this class, the resource needs of each process are expressed as a well-defined sequence. Each request is for a single unit of a single resource and is accompanied by a promise to release the previously allocated resource. Manufacturing researchers have generally accepted that safety is computationally hard, and numerous suboptimal deadlock avoidance solutions have been proposed for this class. Recent results, however, indicate that safety is often computationally easy. The objective of this article is to settle this question by formally establishing the NP-completeness of safety for this class and investigating the boundary between the hard and easy cases. We discuss several special structures that lead to computationally tractable safety characteristics.

published proceedings

  • Flexible Services and Manufacturing Journal

author list (cited authors)

  • Lawley, M., & Reveliotis, S.

citation count

  • 88

complete list of authors

  • Lawley, Mark||Reveliotis, Spyros

publication date

  • October 2001