Upper Bounds for Static Resource Allocation in a Distributed System

The problem considered in this paper is a simplification of one arising in the study of distributed computer systems. A network is considered, in which are located a large number of “resources” and a large number of potential users of those resources. Each user requires a certain fixed set of resources (for instance, in order to execute a program). Each user’s needs are assumed to be known a priori. Users originate requests for their respective sets of resources asynchronously with respect to each other. The problem is to design an algorithm guaranteeing each user eventual control over its resources. One solution to this problem is considered to be better than another if users have shorter waiting times before receiving their resources. In an actual distributed computer system, there might be several interchangeable instances of some resources. However, one class of allocation strategies would bind each user to a particular (for example, the nearest) instance of each of its resources. The problem of this paper applies to this class of strategies. It is assumed that there are a very large number of widely distributed users, but that the problem is nevertheless “local” in two senses. First, it is possible to locate the resources in the network in such a way that they are generally “nearby” requesting users. Second, the resource-need pattern is not very highly “connected”: for instance, there are not very many resources for each user or users for each resource (at least, not very many compared to the total number which are present in the entire network). Under these two conditions, it seems reasonable that each user’s waiting time should not be a function of the size of the entire network, but rather a function of local parameters only (such as the maximum number of resources for each user and the maximum number of users for each resource). It is not always desirable to centralize control over all of the resources at one location in the network. That location would become a bottleneck, and moreover the delays inherent in long-distance communication would cause waiting time for the