Abstract
For efficient execution of parallel irregular computations, dynamic load balancing must be applied. If the computational work is associated with data sets, which must be separately processed by an algorithm, then load balancing can be performed most efficiently by transfering the data sets between processes using application level messages. Such a situation exists in parallel branch and bound (B&B) computations. A parallel B&B algorithm has been implemented in a novel parallel programming environment. This environment facilitates an infrastructure for parallel application control. Application consistent global states are continuously monitored. Control decisions are taken based on the monitored states and the decisions are communicated to the application processes. This infrastructure has been used for load balancing strategy implementation in parallel B&B computations. An analysis of the characteristics of the control infrastructure and the application resulted in a choice of a global load balancing strategy working with many simple and small steps executed frequently. Experiments have shown, that this strategy works well. The chosen strategy is much more efficient (shortening the application runtime by more than 3 times), if the prediction of the results of an already taken load balancing decision is used for subsequent load balancing decisions.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have