  We consider the problem of balancing load items (tokens) in networks.
Starting with an arbitrary load distribution, we allow nodes to exchange tokens
with their neighbors in each round. The goal is to achieve a distribution where
all nodes have nearly the same number of tokens.
  For the continuous case where tokens are arbitrarily divisible, most load
balancing schemes correspond to Markov chains, whose convergence is fairly
well-understood in terms of their spectral gap. However, in many applications,
load items cannot be divided arbitrarily, and we need to deal with the discrete
case where the load is composed of indivisible tokens. This discretization
entails a non-linear behavior due to its rounding errors, which makes this
analysis much harder than in the continuous case.
  We investigate several randomized protocols for different communication
models in the discrete case. As our main result, we prove that for any regular
network in the matching model, all nodes have the same load up to an additive
constant in (asymptotically) the same number of rounds as required in the
continuous case. This generalizes and tightens the previous best result, which
only holds for expander graphs, and demonstrates that there is almost no
difference between the discrete and continuous cases. Our results also provide
a positive answer to the question of how well discrete load balancing can be
approximated by (continuous) Markov chains, which has been posed by many
researchers.
