Load Balancing
Load Balancing
introducti
on
Load Balancing
• Load balancing is an important ingredient for building
any dynamic, flexible, scalable and robustly-
distributed computing architecture.
• Load balancing in distributed computing systems is an
essential technique to distribute processing and
communication activities evenly across the resources
in the network so that no single computing resource
gets overloaded.
• It is more important for applications which often deal
with a large and unpredictable numbers of service
requests.
• Load balancing is a technique that distributes load
evenly among multiple computing resources such
as processor, memory etc.
Cont…
• Improves average resource utilization rate and
therefore enhances the overall performance of a
system.
• Load balancing shows its real strength by making a
system more productive when additional capacity is
induced into the system.
• A load balancer distributes the workloads across
multiple similar types of computing resources, such
as processor, memory, storage and network switches.
• The objectives of load balancing are to
Optimize resource utilization
Maximize the throughput
Minimize the response time
Avoid overloading of any resource.
Importance of Load Balancing
in CLOUD COMPUTING
• A reliable computing system must operate efficiently under
varying load conditions.
• The distributed architecture of the cloud computing model makes
load balancing one of its essential elements in order to maintain
operational efficiency.
• To gain optimum performance from a system, the workloads must
be properly-distributed among all available resources.
• With load balancing, multiple resources work in parallel to handle
the workload.
• This minimizes the chance of a total system failure since it is
possible to continue the service even after some components fail,
providing the scope of recovery or replacement of those
components without disrupting the service
Cont..
Front-end node
back-end nodes
In cloud computing implementation, when the load
balancers at the front-end node receive multiple requests for
a particular service from clients, they distribute those
requests among available virtual servers based on some
defined scheduling algorithms
Two Levels of Balancing:
Depending upon request type and resource requirement to serve the request, different
Once the front-end-node redirects the incoming service
requests, all of
other activities happen at the back-end-nodes.
• But, it does not keep knowledge base about the volume of workload each server
is currently assigned with.
Algorithms: round robin
weighted round robin
CATEGORIES OF LOAD BALANCING
The static approach to load balancing does not consider the current
load state of the systems and allocates loads based on some fixed set of
pre-configured rules related with the nature of the input traffic.
Dynamic Approach:
Scheduling of tasks happen based on the existing state of the resources or
nodes. The advantage of using dynamic load balancing is that if any node
gets fully loaded or fails, it will not halt the whole system.
• feedback mechanism:
needs real-time communication via network which adds extra traffic to the system.
DYNAMIC LOAD BALANCING
DYNAMIC LOAD BALANCING
is implemented in two separate ways
Distributed:
Non Distributed:
Distributed dynamic load balancing approach delegates the task of load balancing
among all the nodes (servers) present in a distributed system.
DYNAMIC LOAD BALANCING
is implemented in two separate ways
Distributed:
Non Distributed:
Distributed dynamic load balancing approach delegates the task of load balancing
among all the nodes (servers) present in a distributed system.
DYNAMIC LOAD BALANCING
In non-distributed dynamic load balancing approach, all the nodes of a
distributed system do not take part in balancing system load. One or
few nodes are assigned the tasks.