We deal with the well studied allocation problem of assigning n balls to n bins so that the maximum number of balls assigned to the same bin is minimized. We focus on randomized, constant-round, distributed, asynchronous algorithms for this problem. Adler et al. (1998)  presented lower bounds and upper bounds for this problem. A similar lower bound appears in Berenbrink et al. (1999) . The general lower bound is based on a topological assumption. Our first contribution is the observation that the topological assumption does not hold for two algorithms presented by Adler etal. (1998) . We amend this situation by presenting proofs of the lower bound for these two specific algorithms. We present an algorithm in which a ball that was not allocated in the first round retries with a new choice in the second round. We present tight bounds on the maximum load obtained by our algorithm. The analysis is based on analyzing the expectation and transforming it to a bound with high probability using martingale tail inequalities. Finally, we present a 3-round heuristic with a single synchronization point. We conducted experiments that demonstrate its advantage over parallel algorithms for 10 6≤n≤8·10 6 balls and bins. In fact, the obtained maximum load meets the best experimental results for sequential algorithms.
- Balls and bins
- Static randomized parallel load balancing algorithms