What is load balancing?

Embedded C interview Question

What is load balancing?

Answer

Techniques, which aim to spread tasks among the processors in a parallel processor to avoid some processors being idle while others, have tasks queuing 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 centralized 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.