question archive Define load balancing and scaling in the context of multiprocessor architectures

Define load balancing and scaling in the context of multiprocessor architectures

Subject:Computer SciencePrice:4.89 Bought3

Define load balancing and scaling in the context of multiprocessor architectures.

pur-new-sol

Purchase A New Answer

Custom new solution created by our subject matter experts

GET A QUOTE

Answer Preview

Load balancing is dividing the amount of work that a computer has to do between two or more computers so that more work gets done in the same amount of time and, in general, all users get served faster. Load balancing can be implemented with hardware, software, or a combination of both. Typically, load balancing is the main reason for computer server clustering.

 

Load balancing are competing goals in a parallel program. However, both are necessary to achieve high performance. For example, if tasks are spread evenly across the processors without regard for their data requirements, time and network bandwidth will be consumed in order to deliver the data that each task needs. Furthermore, if two tasks needing the same data are placed on different processors, data may be moved or copied many times. If, on the other hand, tasks are executed on those processors containing most of their data requirements, or if data is shared among many tasks, some processors may become overburdened while other processors sit idle. The goal, then, is to use locality information while performing task placement and load balancing to minimize the overhead of data transfer, while still keeping all processors busy. This section proposes using task affinities when deciding which tasks to migrate during load balancing.