Load balancing in cloud computing
Load balancing in Cloud Computing
Amrita Patole
M130180CS
M.Tech CS-IS
2nd Year
NIT Calicut
NIT Calicut, M.Tech CSED department
6/30/2014
Cloud computing
“Pay as you go” model
On demand access to shared pool of resources
Nature of requests from clients to cloud service provider are
random in nature
Leads to load imbalance in the system if not handled properly
NIT Calicut, M.Tech CSED department
6/30/2014
What is load balancing?
Load balancing is the process of ensuring the evenly
distribution of work load on the pool of system node or
processor so that without disturbing, the running task is
completed
Load can be memory, CPU capacity, network or delay load
Helps in improvement of resource utilization and
performance of system
NIT Calicut, M.Tech CSED department
6/30/2014
NIT Calicut, M.Tech CSED department
Fig. 1: Load balancing in cloud
6/30/2014
Main task of load balancing involves:
To select most appropriate server node to transfer the load
To transfer the load efficiently
Types of load balancing:
Static algorithms
Dynamic algorithms
NIT Calicut, M.Tech CSED department
6/30/2014
Parameters considered for improving load balancing :
Throughput
Associated overhead
Fault tolerant
Migration time
Response time
Resource utilization
Scalability
Performance
NIT Calicut, M.Tech CSED department
6/30/2014
Static load balancing algorithms
Non preemptive
Best suited for homogenous and stable environment
Requires prior knowledge of system resources
for e.g. nodes processing power, memory, storage capacity etc.
Decision of load shifting do not consider current load of node
Not flexible with the dynamic changes to the attributes during
execution time
Reduces execution time and communication delays between
nodes
NIT Calicut, M.Tech CSED department
6/30/2014
Dynamic load balancing algorithms
Consider various attributes in the system both prior to and
during run time
Suitable for heterogeneous environment
Requires communication with other nodes in the system
Algorithms give good result for specific system environment. It
may not produce efficient results for all environments
NIT Calicut, M.Tech CSED department
6/30/2014
Heuristics based static algorithms:
- OLB, MET, MCT, Min-Min, Max-Min, Duplex
Other Static algorithms:
- Round robin, Throttled, equally spread execution load, FCFS,
randomized algorithm, central manager algorithm, threshold
algorithm and map reduce based load balancing
Dynamic algorithms:
- DDFTP (Duel Direction Downloading Algorithm from FTP
server), index name server, Stochastic Hill Climbing based on
soft computing for solving the optimization problem and honey
bee inspired load balancing technique.
And many more…
NIT Calicut, M.Tech CSED department
6/30/2014
Challenges in load balancing
Spatial distribution of cloud nodes
Storage/replication
Algorithms complexity: higher complexity of algorithms lead to
delay in processing
Fault tolerance
NIT Calicut, M.Tech CSED department
6/30/2014
1. Towards a load balancing in a three-level cloud
computing network
Dynamic. Combination of OLB and Min-Min
Two phase scheduling algorithm under three level cloud computing
network
Agent mechanism used to collect other node information
OLB used to assign jobs and divides task into subtask
Improved LBMM used for load balancing of nodes
Factors considered are:
1. The remaining CPU capability
2. Remaining memory
3. Transmission rate
4. Minimum execution time of subtask in a node with threshold
parameter
NIT Calicut, M.Tech CSED department
6/30/2014
2. An Agent-Based Emergent Task Allocation
Algorithms in Clouds
Dynamic
an agent is “a self-contained program capable of controlling its own
decision making and acting, based on its perception of its environment,
in pursuit of one or more objectives”.
Based on contract net protocol based bidirectional announcement
mechanism along with roulette wheel and buffer pool mechanism
Experiments compared with single directional announcement algorithm
for random and priority based task selection
NIT Calicut, M.Tech CSED department
6/30/2014
3. Cloud Task scheduling based on Load Balancing Ant Colony
Optimization
4. Load Balancing of Nodes in Cloud Using Ant Colony Optimization
An ant starts the movement as the request is initiated.
once the request is initiated, the ant and the pheromone starts the
forward movement in the pathway from the “head” node.
The ant moves in forward direction from an overloaded node looking
for next node to check whether it is an overloaded node or not.
Now if ant find under loaded node still it move in forward direction in
the path.
And if it finds the overloaded node then it starts the backward
movement to the last under loaded node it found previously.
NIT Calicut, M.Tech CSED department
6/30/2014
5. A Scheduling Strategy on Load Balancing of Virtual
Machine Resources in Cloud computing environment
Based on genetic algorithm
Uses historical data and current load of VM
Computes in advance, influence of a VM after deploying to physical
node
Compute cost gene(ratio of the current scheduling solution to the best
scheduling solution),
choose the scheduling solution with the lowest cost as the final
scheduling solution
so that it has the least influence on the load of the system after
scheduling and has the lowest cost to reach load balancing.
The terminating condition of this hunting for the best scheduling
solution is the existence of a tree that meets the heat restriction
requirement.
NIT Calicut, M.Tech CSED department
6/30/2014
6. VM Level Load Balancing in Cloud
Environment
Considered load balancing on consumer side
i.e. allocation of application load of client across VMs
Load assignment factor for each host is calculated
Host with high capacity gets high load assignment factor
When request comes, load balancer searches for host with high
load assignment factor
NIT Calicut, M.Tech CSED department
6/30/2014
7. A Novel Approach for Load Balancing in Cloud
Datacenter
Priority of each virtual machine is calculated
Central load balancer maintains state and priority of all VMs
On arrival of task request, VM with highest priority is chosen if
its state of VM is available
NIT Calicut, M.Tech CSED department
6/30/2014
8. Double Threshold Energy Aware Load
Balancing In Cloud Computing
Technique involves switching idle servers to the sleep mode
to reduce the total power consumption.
First it gathers information about utilization percentage of
each active compute node.
When request arrives,
1. Utilization of all nodes > 75%, start new VM with lowest
utilization number
2. Utilization of any node > 25% but less than 75%, assign VM to
most underutilized node
3. Utilization of a node < 25%, migrate VM to other node
NIT Calicut, M.Tech CSED department
6/30/2014
9. Cooperative Scheduling Anti-load
balancing Algorithm for Cloud : CSAAC
Based on community aware scheduling algorithm
Participating node calculates job’s response time along with
its current load and sends response to requester node
Requester node select a node for load transferring
considering various factors such as expected time to
complete, energy consumed, node weight, migration cost etc
Threshold values are used to calculate migration cost
Migration algorithm minimizes energy consumption
NIT Calicut, M.Tech CSED department
6/30/2014
10. User-Priority Guided Min-Min Scheduling
Algorithm For Load Balancing in Cloud
Computing
Improvement over traditional min-min algorithm
User priority is considered for task assignment to available
resources
Paper presents two variations based on min-min algorithm
1. Load balance improved min-min scheduling algorithm
2. User priority aware LBIMM
NIT Calicut, M.Tech CSED department
6/30/2014
NIT Calicut, M.Tech CSED department
Fig.2 : Various Factors considered in above algorithms
6/30/2014
NIT Calicut, M.Tech CSED department
Fig. 3: Parameters based comparison between above algorithms
6/30/2014
Conclusion and Future work
This presentation covers different load balancing techniques
available in cloud computing
Location and selection policy are key challenges in load
balancing
Techniques are best suited for specific system environment
Future work involves improving an existing algorithms in
such way that more parameters are considered for load
balancing for e.g. deadline, user priority and runtime load of
a node and spatial distribution of nodes.
NIT Calicut, M.Tech CSED department
6/30/2014
References
[1] H. Chen, F. Wang, N. Helian, and G. Akanmu, \User-priority guided min-min scheduling algorithm
for load balancing in cloud computing," in Parallel Computing Technologies (PARCOMPTECH),
2013 National Conference on, Feb 2013, pp. 1 8.
[2] S.-C. Wang, K.-Q.Yan, W.-P. Liao, and S.-S. Wang, \Towards a load balancing in a three-level cloud
computing network," in Computer Science and Information Technology (ICCSIT), 2010 3rd IEEE
International Conference on, vol. 1, July 2010, pp. 108{113.
[3] C. Chen, X. Zhu, W. Bao, L. Chen, and K. M. Sim, \An agent-based emergent task allocation
algorithm in clouds," in High Performance Computing and Communications 2013 IEEE International
Conference on Embedded and Ubiquitous Computing (HPCCEUC);
2013IEEE10thInternationalConferenceon;Nov2013; pp:1490-1497:
[4] K. Nishant, P. Sharma, V. Krishna, C. Gupta, K. Singh, N. Nitin, and R. Rastogi, \Load balancing of
nodes in cloud using ant colony optimization," in Computer Modelling and Simulation (UKSim),
2012 UKSim 14th International Conference on, March 2012, pp. 3{8.
[5] J. Hu, J. Gu, G. Sun, and T. Zhao, \A scheduling strategy on load balancing of virtual machine
resources in cloud computing environment," in
Parallel Architectures, Algorithms and Programming (PAAP), 2010 Third International Symposium on,
Dec 2010, pp. 89{96.
[6] G. Soni and M. Kalra, \A novel approach for load balancing in cloud data center," in Advance
Computing Conference (IACC), 2014 IEEE International, Feb 2014, pp. 807{812.
NIT Calicut, M.Tech CSED department
6/30/2014
[7] J. Adhikari and S. Patil, \Double threshold energy aware load balancing in cloud computing," in Computing,
Communications and Networking Technologies (ICCCNT),2013 Fourth International Conference on, July
2013, pp. 1{6.
[8] M. Ajit and G. Vidya, \Vm level load balancing in cloud environment," in Computing, Communications and
Networking Technologies (ICCCNT),2013 Fourth International Conference on, July 2013, pp. 1{5.
[9] K. Li, G. Xu, G. Zhao,Y. Dong, and D. Wang, \Cloud task scheduling based on load balancing ant colony
optimization," in Chinagrid Conference (ChinaGrid), 2011 Sixth Annual, Aug 2011, pp. 3{9.
[10] K. Nuaimi, N. Mohamed, M. Nuaimi, and J. Al-Jaroodi, \A survey of load balancing in cloud computing:
Challenges and algorithms," in Network Cloud Computing and Applications (NCCA), 2012 Second
Symposium on, Dec 2012, pp. 137{142.
[11] S. A. Abhijit A. Rajguru, \A comparative performance analysis of load balancing algorithms in distributed
system using qualitative parameters," International Journal of Recent Technology and Engineering (IJRTE ),
vol. 1, no. 3, pp. 2277 { 3878, aug 2012.
[12] S. Mohapatra, K. S. Rekha, and S. Mohanty, \Article: A comparison of four popular heuristics for load
balancing of virtual machines in cloud computing," International Journal of Computer Applications, vol. 68,
no. 6, pp.33{38, April 2013, published by Foundation of Computer Science, New York, USA.
[13] C. Thiam, G. Da Costa, and J.-M. Pierson, \Cooperative scheduling anti-load balancing algorithm for cloud:
Csaac," in Cloud Computing Technology and Science (CloudCom), 2013 IEEE 5th International Conference
on, vol. 1, Dec 2013, pp. 433{438.
[14] J. P. Tushar Desai, \A survey of various load balancing techniques and challenges in cloud computing,"
INTERNATIONAL JOURNAL OF SCIENTIFIC & TECHNOLOGY RESEARCH, vol. 2, no. 11, pp. ISSN
2277{8616, nov 2013.
Amrita Patole
M130180CS
M.Tech CS-IS
2nd Year
NIT Calicut
NIT Calicut, M.Tech CSED department
6/30/2014
Cloud computing
“Pay as you go” model
On demand access to shared pool of resources
Nature of requests from clients to cloud service provider are
random in nature
Leads to load imbalance in the system if not handled properly
NIT Calicut, M.Tech CSED department
6/30/2014
What is load balancing?
Load balancing is the process of ensuring the evenly
distribution of work load on the pool of system node or
processor so that without disturbing, the running task is
completed
Load can be memory, CPU capacity, network or delay load
Helps in improvement of resource utilization and
performance of system
NIT Calicut, M.Tech CSED department
6/30/2014
NIT Calicut, M.Tech CSED department
Fig. 1: Load balancing in cloud
6/30/2014
Main task of load balancing involves:
To select most appropriate server node to transfer the load
To transfer the load efficiently
Types of load balancing:
Static algorithms
Dynamic algorithms
NIT Calicut, M.Tech CSED department
6/30/2014
Parameters considered for improving load balancing :
Throughput
Associated overhead
Fault tolerant
Migration time
Response time
Resource utilization
Scalability
Performance
NIT Calicut, M.Tech CSED department
6/30/2014
Static load balancing algorithms
Non preemptive
Best suited for homogenous and stable environment
Requires prior knowledge of system resources
for e.g. nodes processing power, memory, storage capacity etc.
Decision of load shifting do not consider current load of node
Not flexible with the dynamic changes to the attributes during
execution time
Reduces execution time and communication delays between
nodes
NIT Calicut, M.Tech CSED department
6/30/2014
Dynamic load balancing algorithms
Consider various attributes in the system both prior to and
during run time
Suitable for heterogeneous environment
Requires communication with other nodes in the system
Algorithms give good result for specific system environment. It
may not produce efficient results for all environments
NIT Calicut, M.Tech CSED department
6/30/2014
Heuristics based static algorithms:
- OLB, MET, MCT, Min-Min, Max-Min, Duplex
Other Static algorithms:
- Round robin, Throttled, equally spread execution load, FCFS,
randomized algorithm, central manager algorithm, threshold
algorithm and map reduce based load balancing
Dynamic algorithms:
- DDFTP (Duel Direction Downloading Algorithm from FTP
server), index name server, Stochastic Hill Climbing based on
soft computing for solving the optimization problem and honey
bee inspired load balancing technique.
And many more…
NIT Calicut, M.Tech CSED department
6/30/2014
Challenges in load balancing
Spatial distribution of cloud nodes
Storage/replication
Algorithms complexity: higher complexity of algorithms lead to
delay in processing
Fault tolerance
NIT Calicut, M.Tech CSED department
6/30/2014
1. Towards a load balancing in a three-level cloud
computing network
Dynamic. Combination of OLB and Min-Min
Two phase scheduling algorithm under three level cloud computing
network
Agent mechanism used to collect other node information
OLB used to assign jobs and divides task into subtask
Improved LBMM used for load balancing of nodes
Factors considered are:
1. The remaining CPU capability
2. Remaining memory
3. Transmission rate
4. Minimum execution time of subtask in a node with threshold
parameter
NIT Calicut, M.Tech CSED department
6/30/2014
2. An Agent-Based Emergent Task Allocation
Algorithms in Clouds
Dynamic
an agent is “a self-contained program capable of controlling its own
decision making and acting, based on its perception of its environment,
in pursuit of one or more objectives”.
Based on contract net protocol based bidirectional announcement
mechanism along with roulette wheel and buffer pool mechanism
Experiments compared with single directional announcement algorithm
for random and priority based task selection
NIT Calicut, M.Tech CSED department
6/30/2014
3. Cloud Task scheduling based on Load Balancing Ant Colony
Optimization
4. Load Balancing of Nodes in Cloud Using Ant Colony Optimization
An ant starts the movement as the request is initiated.
once the request is initiated, the ant and the pheromone starts the
forward movement in the pathway from the “head” node.
The ant moves in forward direction from an overloaded node looking
for next node to check whether it is an overloaded node or not.
Now if ant find under loaded node still it move in forward direction in
the path.
And if it finds the overloaded node then it starts the backward
movement to the last under loaded node it found previously.
NIT Calicut, M.Tech CSED department
6/30/2014
5. A Scheduling Strategy on Load Balancing of Virtual
Machine Resources in Cloud computing environment
Based on genetic algorithm
Uses historical data and current load of VM
Computes in advance, influence of a VM after deploying to physical
node
Compute cost gene(ratio of the current scheduling solution to the best
scheduling solution),
choose the scheduling solution with the lowest cost as the final
scheduling solution
so that it has the least influence on the load of the system after
scheduling and has the lowest cost to reach load balancing.
The terminating condition of this hunting for the best scheduling
solution is the existence of a tree that meets the heat restriction
requirement.
NIT Calicut, M.Tech CSED department
6/30/2014
6. VM Level Load Balancing in Cloud
Environment
Considered load balancing on consumer side
i.e. allocation of application load of client across VMs
Load assignment factor for each host is calculated
Host with high capacity gets high load assignment factor
When request comes, load balancer searches for host with high
load assignment factor
NIT Calicut, M.Tech CSED department
6/30/2014
7. A Novel Approach for Load Balancing in Cloud
Datacenter
Priority of each virtual machine is calculated
Central load balancer maintains state and priority of all VMs
On arrival of task request, VM with highest priority is chosen if
its state of VM is available
NIT Calicut, M.Tech CSED department
6/30/2014
8. Double Threshold Energy Aware Load
Balancing In Cloud Computing
Technique involves switching idle servers to the sleep mode
to reduce the total power consumption.
First it gathers information about utilization percentage of
each active compute node.
When request arrives,
1. Utilization of all nodes > 75%, start new VM with lowest
utilization number
2. Utilization of any node > 25% but less than 75%, assign VM to
most underutilized node
3. Utilization of a node < 25%, migrate VM to other node
NIT Calicut, M.Tech CSED department
6/30/2014
9. Cooperative Scheduling Anti-load
balancing Algorithm for Cloud : CSAAC
Based on community aware scheduling algorithm
Participating node calculates job’s response time along with
its current load and sends response to requester node
Requester node select a node for load transferring
considering various factors such as expected time to
complete, energy consumed, node weight, migration cost etc
Threshold values are used to calculate migration cost
Migration algorithm minimizes energy consumption
NIT Calicut, M.Tech CSED department
6/30/2014
10. User-Priority Guided Min-Min Scheduling
Algorithm For Load Balancing in Cloud
Computing
Improvement over traditional min-min algorithm
User priority is considered for task assignment to available
resources
Paper presents two variations based on min-min algorithm
1. Load balance improved min-min scheduling algorithm
2. User priority aware LBIMM
NIT Calicut, M.Tech CSED department
6/30/2014
NIT Calicut, M.Tech CSED department
Fig.2 : Various Factors considered in above algorithms
6/30/2014
NIT Calicut, M.Tech CSED department
Fig. 3: Parameters based comparison between above algorithms
6/30/2014
Conclusion and Future work
This presentation covers different load balancing techniques
available in cloud computing
Location and selection policy are key challenges in load
balancing
Techniques are best suited for specific system environment
Future work involves improving an existing algorithms in
such way that more parameters are considered for load
balancing for e.g. deadline, user priority and runtime load of
a node and spatial distribution of nodes.
NIT Calicut, M.Tech CSED department
6/30/2014
References
[1] H. Chen, F. Wang, N. Helian, and G. Akanmu, \User-priority guided min-min scheduling algorithm
for load balancing in cloud computing," in Parallel Computing Technologies (PARCOMPTECH),
2013 National Conference on, Feb 2013, pp. 1 8.
[2] S.-C. Wang, K.-Q.Yan, W.-P. Liao, and S.-S. Wang, \Towards a load balancing in a three-level cloud
computing network," in Computer Science and Information Technology (ICCSIT), 2010 3rd IEEE
International Conference on, vol. 1, July 2010, pp. 108{113.
[3] C. Chen, X. Zhu, W. Bao, L. Chen, and K. M. Sim, \An agent-based emergent task allocation
algorithm in clouds," in High Performance Computing and Communications 2013 IEEE International
Conference on Embedded and Ubiquitous Computing (HPCCEUC);
2013IEEE10thInternationalConferenceon;Nov2013; pp:1490-1497:
[4] K. Nishant, P. Sharma, V. Krishna, C. Gupta, K. Singh, N. Nitin, and R. Rastogi, \Load balancing of
nodes in cloud using ant colony optimization," in Computer Modelling and Simulation (UKSim),
2012 UKSim 14th International Conference on, March 2012, pp. 3{8.
[5] J. Hu, J. Gu, G. Sun, and T. Zhao, \A scheduling strategy on load balancing of virtual machine
resources in cloud computing environment," in
Parallel Architectures, Algorithms and Programming (PAAP), 2010 Third International Symposium on,
Dec 2010, pp. 89{96.
[6] G. Soni and M. Kalra, \A novel approach for load balancing in cloud data center," in Advance
Computing Conference (IACC), 2014 IEEE International, Feb 2014, pp. 807{812.
NIT Calicut, M.Tech CSED department
6/30/2014
[7] J. Adhikari and S. Patil, \Double threshold energy aware load balancing in cloud computing," in Computing,
Communications and Networking Technologies (ICCCNT),2013 Fourth International Conference on, July
2013, pp. 1{6.
[8] M. Ajit and G. Vidya, \Vm level load balancing in cloud environment," in Computing, Communications and
Networking Technologies (ICCCNT),2013 Fourth International Conference on, July 2013, pp. 1{5.
[9] K. Li, G. Xu, G. Zhao,Y. Dong, and D. Wang, \Cloud task scheduling based on load balancing ant colony
optimization," in Chinagrid Conference (ChinaGrid), 2011 Sixth Annual, Aug 2011, pp. 3{9.
[10] K. Nuaimi, N. Mohamed, M. Nuaimi, and J. Al-Jaroodi, \A survey of load balancing in cloud computing:
Challenges and algorithms," in Network Cloud Computing and Applications (NCCA), 2012 Second
Symposium on, Dec 2012, pp. 137{142.
[11] S. A. Abhijit A. Rajguru, \A comparative performance analysis of load balancing algorithms in distributed
system using qualitative parameters," International Journal of Recent Technology and Engineering (IJRTE ),
vol. 1, no. 3, pp. 2277 { 3878, aug 2012.
[12] S. Mohapatra, K. S. Rekha, and S. Mohanty, \Article: A comparison of four popular heuristics for load
balancing of virtual machines in cloud computing," International Journal of Computer Applications, vol. 68,
no. 6, pp.33{38, April 2013, published by Foundation of Computer Science, New York, USA.
[13] C. Thiam, G. Da Costa, and J.-M. Pierson, \Cooperative scheduling anti-load balancing algorithm for cloud:
Csaac," in Cloud Computing Technology and Science (CloudCom), 2013 IEEE 5th International Conference
on, vol. 1, Dec 2013, pp. 433{438.
[14] J. P. Tushar Desai, \A survey of various load balancing techniques and challenges in cloud computing,"
INTERNATIONAL JOURNAL OF SCIENTIFIC & TECHNOLOGY RESEARCH, vol. 2, no. 11, pp. ISSN
2277{8616, nov 2013.