# Probabilistic bidding gives optimal distributed resource allocation

- First Online:

DOI: 10.1007/3-540-13345-3_36

- Cite this paper as:
- Reif J., Spirakis P. (1984) Probabilistic bidding gives optimal distributed resource allocation. In: Paredaens J. (eds) Automata, Languages and Programming. ICALP 1984. Lecture Notes in Computer Science, vol 172. Springer, Berlin, Heidelberg

## Abstract

In this paper we consider a fundamental problem of *resource allocation* in a distributed network. Each user's demands for resources may change dynamically and the processors speeds can vary dynamically. Let v be the maximum number of users competing for a particular resource at any time instant. Let k be the maximum number of resources that a user is willing to get, at any time instant. This problem was previously formulated in [Lynch, 1980]. It has application (1) to two-phase locking in databases (2) to generalized dining philosophers, and (3) to the implementation of a novel extension of the CSP language, called Social-CSP and to many other applications to concurrent programming.

Informally we say that an algorithm for this problem is *real time* if its response time is upper bounded by a function which does not depend on any global measure of the system of processes and resources, except k and v. [Reif, Spirakis, 1982b] gave the first known real time algorithms to the problem, with (mean) response time of o(v^{k}). This response time may be too long, however, in applications where k has a large value.

In this paper we provide new algorithms whose response time is *polynomial* to v and k. Our most efficient new algorithm has expected response time o(vk). Moreover, our constant factors appear to be small enough for practical applications.

Unlike our previous probabilistic algorithms of [Reif, Spirakis, 1982b], we do not use random delays as means of avoiding process starvation and of achieving probabilistic fairness. Instead, our new algorithm utilizes a method of *probabilistic bidding*, to resolve contention of users for resources. This technique is essential in our achievement of polynomial response time.

We furthermore prove that our solution is *optimal* with respect to the average response to a user's request. In particular we provide matching *lower bounds* for any distributed algorithm for resource allocation, and these bounds are within a constant factor of the response time of our own algorithms.

We also provide a suboptimal algorithm which is useful for improving the throughput rate of resource allocation in systems where the majority of users is willing to get only a few resources. This suboptimal algorithm does use random waits combined with probabilistic bidding. These techniques employ limited parallelism within each process, together with the probabilistic bidding. (This limited parallelism is useful in achieving optimal response time, though we would still get polynomial response time without limited parallelism.)

## Preview

Unable to display preview. Download preview PDF.