Next: Farming
Up: Load Balancing
Previous: Need for Dynamic
Dynamic load balancing in an application can address these concerns. Dynamic load balancing can
be implemented in a heterogenous environment either at the operating system
level or at a process level.
- At the operating system level, the emphasis is to
keep all the processors busy all the time. This is accomplished by process
migration from a heavily loaded node in the network to a lightly loaded one.
This raises issues about doing this effectively at runtime on a heterogenous
collection of nodes. While it may be easy to incorporate such a scheme for a
``state-less'' server process by killing one instance and starting another
instance on the other node (different binaries being used for dissimilar
processors and operating systems), it can be difficult to migrate a process
at run-time when the the state of a process needs to be maintained. The process
migration approach can be seen in systems such as Condor.
- At the process level, it is important to keep all the user tasks
busy all the time. If the data to be processed is divided into independent work packets, then the load balancing scheme at the process level can be implemented
by giving more work packets to
the tasks on faster processors and less work packets to the slower ones. This way, the
data can be distributed on the basis of the processing capacity of a particular
task. This approach takes into account the differences in processing times for
different data packets. The aim of the paper is to implement a dynamic load
balancing scheme under PVM using this approach by constructing process farms.
Sameer Shende