Amrita Patole
M130180CS
M.Tech CS-IS
2
ndYear
NIT Calicut
Load balancing in Cloud Computing
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
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
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
Parameters
considered for improving load balancing :
Throughput
Associated overhead
Fault tolerant
Migration time
Response time
Resource utilization
Scalability
Performance
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
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
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…
Challenges in load balancing
Spatial distribution of cloud nodes
Storage/replication
Algorithms complexity: higher complexity of algorithms lead to delay in processing
Fault tolerance
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
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
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.
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.
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
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
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
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
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
Fig.2 : Various Factors considered in above algorithms 6/30/2014
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.
References
6/30/2014 NIT Calicut, M.Tech CSED department
[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.
[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.