Randomized load balancing greatly improves the sharing of resources while being simple to implement. In one such model, jobs arrive according to a rate-αN Poisson process, with α < 1, in a system of N rate-1 exponential server queues. In Vvedenskaya et al. (Probl. Inf. Transm. 32:15-29, 1996), it was shown that when each arriving job is assigned to the shortest of D, D≥2, randomly chosen queues, the equilibrium queue sizes decay doubly exponentially in the limit as N→∞. This is a substantial improvement over the case D = 1, where queue sizes decay exponentially. The reasoning in Vvedenskaya et al. (Probl. Inf. Transm. 32:15-29, 1996) does not easily generalize to jobs with nonexponential service time distributions. A modularized program for treating randomized load balancing problems with general service time distributions was introduced in Bramson et al. (Proc. ACM SIGMETRICS, pp. 275-286, 2010). The program relies on an ansatz that asserts that, for a randomized load balancing scheme in equilibrium, any fixed number of queues become independent of one another as N→∞. This allows computation of queue size distributions and other performance measures of interest. In this article, we demonstrate the ansatz in several settings. We consider the least loaded balancing problem, where an arriving job is assigned to the queue with the smallest workload. We also consider the more difficult problem, where an arriving job is assigned to the queue with the fewest jobs, and demonstrate the ansatz when the service discipline is FIFO and the service time distribution has a decreasing hazard rate. Last, we show the ansatz always holds for a sufficiently small arrival rate, as long as the service distribution has 2 moments.
Bibliographical noteFunding Information:
Acknowledgements Maury Bramson is supported in part by NSF Grants CCF-0729537 and DMS-1105668. Balaji Prabhakar is supported in part by NSF Grant CCF-0729537 and by a grant from the Clean Slate Program at Stanford University.
- Asymptotic independence
- Join the least loaded queue
- Join the shortest queue
- Load balancing