Balanced allocation: Memory performance tradeoffs

Abstract

Suppose we sequentially put n balls into n bins. If we put each ball into a random bin then the heaviest bin will contain n/ 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 n balls with high probability. How much memory do we need to implement this scheme? We need roughly n bits per bin, and n 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 n1-δ bits then the heaviest bin will contain at least (δ n/ n) balls with high probability. The bound is tight in the communication complexity model.

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…