The Annals of Applied Probability

Balanced allocation: Memory performance tradeoffs

Itai Benjamini and Yury Makarychev

Full-text: Open access


Suppose we sequentially put $n$ balls into $n$ bins. If we put each ball into a random bin then the heaviest bin will contain ${\sim}\log n/\log\log n$ balls with high probability. However, Azar, Broder, Karlin and Upfal [SIAM J. Comput. 29 (1999) 180–200] showed that if each time we choose two bins at random and put the ball in the least loaded bin among the two, then the heaviest bin will contain only ${\sim}\log\log n$ balls with high probability. How much memory do we need to implement this scheme? We need roughly $\log\log\log n$ bits per bin, and $n\log\log\log n$ bits in total.

Let us assume now that we have limited amount of memory. For each ball, we are given two random bins and we have to put the ball into one of them. Our goal is to minimize the load of the heaviest bin. We prove that if we have $n^{1-\delta}$ bits then the heaviest bin will contain at least $\Omega(\delta\log n/\log\log n)$ balls with high probability. The bound is tight in the communication complexity model.

Article information

Ann. Appl. Probab., Volume 22, Number 4 (2012), 1642-1649.

First available in Project Euclid: 10 August 2012

Permanent link to this document

Digital Object Identifier

Mathematical Reviews number (MathSciNet)

Zentralblatt MATH identifier

Primary: 68Q87: Probability in computer science (algorithm analysis, random structures, phase transitions, etc.) [See also 68W20, 68W40]
Secondary: 60C05: Combinatorial probability

Balls–and–bins process load balancing memory performance tradeoffs


Benjamini, Itai; Makarychev, Yury. Balanced allocation: Memory performance tradeoffs. Ann. Appl. Probab. 22 (2012), no. 4, 1642--1649. doi:10.1214/11-AAP804.

Export citation


  • [1] Adler, M., Chakrabarti, S., Mitzenmacher, M. and Rasmussen, L. (1998). Parallel randomized load balancing. Random Structures Algorithms 13 159–188.
  • [2] Azar, Y., Broder, A. Z., Karlin, A. R. and Upfal, E. (1999). Balanced allocations. SIAM J. Comput. 29 180–200.
  • [3] Berenbrink, P., Czumaj, A., Steger, A. and Vöcking, B. (2006). Balanced allocations: The heavily loaded case. SIAM J. Comput. 35 1350–1385.
  • [4] Byers, J., Considine, J. and Mitzenmacher, M. (2003). Simple load balancing for distributed hash tables. In Peer-to-Peer Systems II. Lecture Notes in Computer Science 2735 80–87. Springer, Berlin.
  • [5] Byers, J. W., Considine, J. and Mitzenmacher, M. (2004). Geometric generalizations of the power of two choices. In Proceedings of the Sixteenth Annual ACM Symposium on Parallelism in Algorithms and Architectures 54–63. ACM, New York.
  • [6] Cole, R., Maggs, B. M., Meyer auf der Heide, F., Mitzenmacher, M., Richa, A. W., Schröder, K., Sitaraman, R. K. and Vöcking, B. (1999). Randomized protocols for low-congestion circuit routing in multistage interconnection networks. In STOC’98 (Dallas, TX) 378–388. ACM, New York.
  • [7] Mitzenmacher, M., Richa, A. W. and Sitaraman, R. (2001). The power of two random choices: A survey of techniques and results. In Handbook of Randomized Computing, Vol. I, II. Combinatorial Optimization 9 255–312. Kluwer Academic, Dordrecht.
  • [8] Talwar, K. and Wieder, U. (2007). Balanced allocations: The weighted case. In STOC’07—Proceedings of the 39th Annual ACM Symposium on Theory of Computing 256–265. ACM, New York.