Load Balancing with Memory

  • Authors:
  • Michael Mitzenmacher;Balaji Prabhakar;Devavrat Shah

  • Affiliations:
  • -;-;-

  • Venue:
  • FOCS '02 Proceedings of the 43rd Symposium on Foundations of Computer Science
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

A standard load balancing model considers placing n balls into n bins by choosing d possible locations for each ball independently and uniformly at random and sequentially placing each in the least loaded of its chosen bins. It is well known that allowing just a small amount of choice(d = 2) greatly improves performance over random placement (d = 1). In this paper, we show that similar performance gains occur by introducing memory. We focus on the situation where each time a ball is placed, the least loaded of that ball's choices after placement is remembered and used as one of the possible choices for the next ball. For example, we show that when each ball gets just one random choice, but can also choose the best of the last ball's choices, the maximum number of balls in a bin is l{{\log \log n} \mathord{\left/ {\vphantom {{\log \log n} {2\log \phi+ 0(1)}}} \right. \kern-\nulldelimiterspace} {2\log \phi+ 0(1)}} with high probability, where \phi= ({{1 + \sqrt 5 )} \mathord{\left/ {\vphantom {{1 + \sqrt 5 )} 2}} \right. \kern-\nulldelimiterspace} 2} is the golden ratio. The asymptotic performance is therefore better with one random choice and one choice from memory than with two fresh random choices for each ball; the performance with memory asymptoticallymatches the asymmetric policy using two choices introduced by Vöcking. More generally, we find that a small amount of memory, like a small amount of choice, can dramatically improve the load balancing performance. We also investigate continuous time variations corresponding to queueing systems, where we find similar results.