Real-time resource allocation is a fundamental control responsibility in many types of automated systems. The processes enter the system, request, acquire, use, and release their required resources, and then exit the system. Many types of RASs are prone to deadlock, an insidious halting condition in which there exists a set of processes with every process in the set awaiting the allocation of resources held by other processes in the set. Deadlock is a well known problem in many technological areas such as computer operating systems, parallel programming, and distributed databases. Resurgent interest is being motivated by applications in the large-scale flexible automation of manufacturing and transportation systems.
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 classes of systems, not all resource allocation systems fall within these classes. If some newly emerging resource allocation scenario exhibits unique features that are not considered in previous work, then the first step in developing avoidance methods is to establish the underlying complexity of the safety problem. If the problem remains hard, then research involving the development of sub-optimal allocation approaches and investigation of relevant special structures is warranted. This work establishes the NP-completeness of safety for a class of resource allocation systems that has recently arisen in automated manufacturing.