In the balls-into-bins setting, n balls are thrown uniformly at random into n bins. The na\"{i}ve way to generate the final load vector takes Θ(n) time. However, it is well-known that this load vector has with high probability bin cardinalities of size Θ(log n/log log n). Here, we present an algorithm in the RAM model that generates the bin cardinalities of the final load vector in the optimal Θ(log n/log log n) time in expectation and with high probability. Further, the algorithm that we present is still optimal for any m ∈ [n, n log n] balls and can also be used as a building block to efficiently simulate more involved load balancing algorithms. In particular, for the Two-Choice algorithm, which samples two bins in each step and allocates to the least-loaded of the two, we obtain roughly a quadratic speed-up over the na\"{i}ve simulation.
No takes yet. Share an insight, caveat, or question.
Devroye et al. (2024) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: