Article ID: | iaor20022229 |
Country: | United States |
Volume: | 13 |
Issue: | 4 |
Start Page Number: | 385 |
End Page Number: | 404 |
Publication Date: | Jan 2001 |
Journal: | International Journal of Flexible Manufacturing Systems |
Authors: | Lawley Mark, Reveliotis Spyros |
Keywords: | safety |
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.