Load balancing is where the load that is placed on components within a system is balanced to ensure that a component is not overworked or, alternatively, underused. For example, if a network system makes use of a group of servers to handle requests, the load each server receives is evenly distributed (as is possible) over each of the servers. In this way the scenario does not arise where one server might go down due to an overloading of requests, whilst another server is being underused.
With P2P systems load balancing can be important when deciding how much of a nodes’ resources to draw upon. So for example, a node that possesses a lot of network bandwidth and processing power can take more load than a node that only has a modem connection and a slow processor. Similarly for semi-centralised architectures load balancing can come into play if there exists more than one central server node.