[Nel] Dynamic load balancing?
Vincent Archer
archer@nevrax.com
Mon, 19 Feb 2001 17:04:15 +0100
According to EagleEye:
> I would love dynamic load balancing... just add another server to your
> cluster, and assign it a piece of the game world to take care of... perhaps
> that city area that just got really popular in the last few weeks...
That's not dynamic load balancing if you have to assign servers to a
specific area. That's merely 'reconfigurable static' :)
Ultima Online did this for their servers. They measured during beta
a lot of statistics, and created a map of areas for allocation to all
processors (server being ambiguous here, because their servers were
multiprocessor boxes). That map could be redone at will, depending on
the number of processors allocated to a shard. But once the shard was
started, that was it. The only way to add a processor would be to
split one area in two, and the whole migration process was hard
enough that it wasn't worth (their words) the development cost vs the
number of times it would be used.
True dynamic load would mean that each processor would adjust its
border (i.e. which objets it manages) according to its load, compared to
its neighbours. If it has too high a load, then its border would shrink
along its most lightly loaded neighbour, swapping objects between one
and the other.
Of course, that means a variable, almost fractal geometry of processors,
and a processor that, at boot time, was serving city A and its adjacent
areas could well, four days later, be serving chiefly the mountain range
5km from there, because of simple "pressure". It looks nice from a
strict research standpoint, but it's HELL for system management.
--
Vincent Archer Email: archer@nevrax.com
Nevrax France. Off on the yellow brick road we go!