A tool for a two-level dynamic load balancing strategy in scientific applications


Ricolindo L. Carino
Ioana Banicescu


This paper describes a dynamic load balancing tool intended for
computational investigators who have little familiarity with programming
for a message-passing environment. Motivated by the PAR DOALL
directive available in some compilers for shared-memory systems,
the tool is designed to simplify the
manual conversion of sequential programs containing computationally
intensive one- or two-dimensional loops with independent iterates
into parallel programs
that execute with high efficiency on general-purpose clusters. The tool
implements a dynamic loop scheduling strategy to address load imbalance
which may be induced by the non-uniformity of loop iterate times, and by
the heterogeneity of processors. The tool is based on the Message
Passing Interface library for wide availability.
Experimental results of two scientific applications that utilize the
tool on a Linux cluster are presented to demonstrate sample achievable
performance, and to underscore the effectiveness of the two-level
dynamic load balancing strategy.


Special Issue Papers