load balancing
<operating system, parallel> Techniques which aim to spread tasks among
the processors in a parallel processor to avoid some processors being idle while
others have tasks queueing for execution. Load balancing may be performed either
by heavily loaded processors (with many tasks in their queues) sending tasks to
other processors; by idle processors requesting work from others; by some
centralised task distribution mechanism; or some combination of these. Some
systems allow tasks to be moved after they have started executing ("task
migration") others do not. It is important that the overhead of executing the
load balancing algorithm does not contribute significantly to the overall
processing or communications load.
Distributed scheduling algorithms may be static, dynamic or preemptive. Static
algorithms allocate processes to processors at run time while taking no account
of current network load. Dynamic algorithms are more flexible, though more
computationally expensive, and give some consideration to the network load
before allocating the new process to a processor. Preemptive algorithms are more
expensive and flexible still, and may migrate running processes from one host to
another if deemed beneficial. Research to date indicates that dynamic algorithms
yield significant performance benefits, but that further (though lesser) gains
may be had through the addition of process migration facilities.
(1995-03-13)
Nearby terms:
LO « L&O « load « load balancing » lobotomy »
LOC » local area network
|