Skip to main content
Log in

Allocating Weighted Jobs in Parallel

  • Published:
Theory of Computing Systems Aims and scope Submit manuscript

Abstract.

The classic balls-into-bins game considers the experiment of placing m balls independently and uniformly at random (i.u.r.) in n bins. For m=n , it is well known that the maximum load, i.e., the number of balls in the fullest bin is Θ(log  n/log log  n) , with high probability. It is also known (see [S2]) that a maximum load of O( m / n ) can be obtained for all m≥ n if each ball is allocated in one (suitably chosen) of two (i.u.r.) bins. Stemann presents a distributed algorithm to find the ``suitable'' bin for each ball. The algorithm uses r communication rounds to achieve a maximum load of \(\max\{\sqrt[r]{\log n}, O(m/n)\}\) , with high probability. Adler et al. [ACMR] show that Stemann's protocol is optimal up to a constant factor for constant r .

In this paper we extend the above results in two directions: we generalize the lower bound to arbitrary r≤log log  n . This implies that Stemann's protocol is optimal for all r . Our key result is a generalization of Stemann's upper bound to weighted balls: Let W A (resp. W M ) denote the average (resp. maximum) weight of the balls. Furthermore, let Δ=W A /W M . Then the optimal maximum load is Ω(m/n⋅ W A +W M ) . We present a protocol that achieves a maximum load of γ⋅( m / n ⋅ W A +W M ) using O( log log  n / log  (γ⋅(m/n⋅Δ+1)) ) communication rounds. For uniform weights this matches the results of Stemann. In particular, we achieve a load of O( m / n ⋅ W A +W M ) using log log  n communication rounds, which is optimal up to a constant factor. An extension of our lower bound shows that our algorithm also reaches a load which is within a constant factor of the optimal load in the case of weighted balls.

All the balls-into-bins games model load balancing problems: the balls are jobs, the bins are resources, the task is to allocate the jobs to the resources in such a way that the maximum load is minimized. Our extension to weighted balls allows us to extend previous bounds to models where resource requirements may vary. For example, if the jobs are computing tasks, their running times may vary. Applications of such load balancing problems occur, e.g., for client-server networks and for multimedia-servers using disk arrays.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

Author information

Authors and Affiliations

Authors

Additional information

Received December 23, 1997, and in final form September 9, 1998.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Berenbrink, P., Meyer auf der Heide, F. & Schröder, K. Allocating Weighted Jobs in Parallel . Theory Comput. Systems 32, 281–300 (1999). https://doi.org/10.1007/s002240000119

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s002240000119

Keywords

Navigation