The study investigates various load balancing strategies to improve
the performance of distributed computer systems. A static task allocation
and a number of dynamic load balancing algorithms are
proposed, and their performances evaluated through simulations.
First, in the case of static load balancing, the precedence constrained
scheduling heuristic is defined to effectively allocate the
task systems with high communication to computation ratios onto
a given set of processors.
Second, the dynamic load balancing algorithms are studied using a
queueing theoretic model. For each algorithm, a different load index
has been used to estimate the host loads. These estimates are
utilized in simple task placement heuristics to determine the probabilities
for transferring tasks between every two hosts in the system.
The probabilities determined in this way are used to perform
dynamic load balancing in a distributed computer system. Later,
these probabilities are adjusted to include the effects of inter-host
Finally, network partitioning strategies are proposed to reduce the
communication overhead of load balancing algorithms in a large
distributed system environment. Several host-grouping strategies
are suggested to improve the performance of load balancing algorithms.
This is achieved by limiting the exchange of load information
messages within smaller groups of hosts while restricting the
transfer of tasks to long distance remote hosts which involve high
Effectiveness of the above-mentioned algorithms is evaluated by
simulations. The model developed in this study for such simulations
can be used in both static and dynamic load balancing environments.
A Doctoral Thesis. Submitted in partial fulfilment of the requirements for the award of Doctor of Philosophy of Loughborough University.