We consider the following load balancing process for m tokens distributed arbitrarily among n nodes connected by a complete graph: In each time step a pair of nodes is selected uniformly at random. Let ℓ1 and ℓ2 be their respective number of tokens. The two nodes exchange tokens such that they have ⌈(ℓ1+ℓ2)/2⌉ and ⌊(ℓ1+ℓ2)/2⌋ tokens, respectively. We provide a simple analysis showing that this process reaches almost perfect balance within O(nlogn+nlogΔ) steps, where Δ is the maximal initial load difference between any two nodes.
@article{arxiv.1808.05389,
title = {Simple Load Balancing},
author = {Petra Berenbrink and Tom Friedetzky and Dominik Kaaser and Peter Kling},
journal= {arXiv preprint arXiv:1808.05389},
year = {2018}
}