Abstract

This chapter presents a dynamic load balancing scheme that has been developed and tested on small test cases, successfully addressing important issues relating to the maximization of speedup through the minimization of load imbalance. The algorithm uses information extracted at runtime to continuously monitor and adjust the workload. In this, algorithm processors only communicate with their neighbors, which allow the algorithm to be scalable. Many computational problems assume a discrete model of a physical system and calculate a set of values for every domain point in the model. These values are often functions of time, so that it is intuitive to think of the computation as marching through time. The chapter discusses a generic strategy for Dynamic Load Balancing (DLB) in unstructured mesh computational mechanics applications. The strategy is intended to handle varying levels of load changes throughout the run. The major issues involved in a generic dynamic load balancing scheme are investigated together with techniques to automate the implementation of a dynamic load balancing mechanism within the Computer Aided Parallelization Tools (CAPTools) environment. Performance can be improved with periodic redistribution of computational load; however, redistribution can sometimes be very costly. The chapter studies the issue of deciding when to invoke a global load re-balancing mechanism. Such a decision policy must effectively weigh the costs of remapping against the performance benefits and should be general enough to apply automatically to a wide range of computations.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call