Load balancing in spatial individual-based systems using autonomous objects

Individual-based spatial simulations are a class of applications where a collection of entities interact locally with one another within a virtual space to generate some global collective behavior. An Eulerian autonomous-objects-based implementation of such a system partitions the virtual space and assigns each partition, together with the corresponding self-migrating (autonomous) entities, to a different physical node. Load balancing is achieved by dynamically adjusting the decomposition of the virtual space, which forces the corresponding autonomous entities to automatically migrate among physical nodes. This dissertation proposes a framework for dynamic load balancing in such systems and presents three specific algorithms based on different decompositions and management of the virtual space. The three spatial load balancing schemes presented are dynamic strips, dynamic rectangles and dynamic quadrilaterals. The primary advantages of this approach to load balancing are: (1) distributed decision-making, which facilitates scalability (2) full integration into the application, which permits load balancing to be performed without suspending the application and without any additional messages, (3) use of only near-neighbor communication, which preserves scalability, and (4) preservation of topology of the virtual space decomposition, which permits a simple and efficient communication structure for both the application and the load balancing schemes. The three dynamic load balancing schemes were applied to a generic individual-based simulation to study their effect on performance. The experiments show that all three algorithms are effective in improving overall performance using the optimal balancing interval. For simple problems and those involving a low computation-to-communication ratio, a one-dimensional space decomposition with the corresponding dynamic strips algorithm is best. For more complex problems, which are able to mask the communication overhead with adequate amounts of computation, the dynamic quadrilaterals algorithm achieves the best load balance and results in the best overall performance of the simulation.