The algorithm works as shown in Figures 7 and 8. If a node is overloaded and it has only one VS, then it splits the VS into two equal parts (line 11). If a node is overloaded and if it has more than one VS (one of which may have just been created via a split), it attempts to contact an underloaded node and transfer an appropriate VS (lines 3-9). The transfer fails if all VSs would overload the potential receiver.
![]()
|
Transfer moves work around effectively. Nodes are never transferred work they cannot handle. However, when the system is near capacity, overloaded nodes may need to contact many others to perform a successful transfer.
Transfer has a few permutations. The scheme presented here and used in the experiments is known as ``one-to-one'' because one node contacts a single other node per unit time. The same work also proposed ``one-to-many'' and ``many-to-many'' variations and found they utilized nodes similarly. Godfrey et al. propose a more complex variation where nodes randomly choose one of a handful of well-known exchange points that periodically reallocate work [22].
Jonathan Ledlie 2006-01-06