8/10/2019 Load Balancing in Cloud Computing
1/35
NATIONAL INSTITUTE OF TECHNICAL TEACHERS TRAINING AND RESEARCH, BHOPAL (M.P.)
Performance Enhancement of Cloud
Computing using Clustering
Submitted By:
Bhupendra PanchalM.Tech (CTA)
0012CS11MT04
Guided By:
Dr. R. K. Kapoor
NITTTR Bhopal
Dept. of Computer Engineering & Application
A Dissertation
on
8/10/2019 Load Balancing in Cloud Computing
2/35
Agenda
Aim & Objective
1
2
Modelling the VM Allocation3
Introduction
4 Proposed Dynamic VM Allocation Algorithm using Clustering
6 Simulated Outcomes
Implementation of Proposed Algorithm in CloudSim5
7 Comparing the Results
8 Conclusion
9 Future Work
8/10/2019 Load Balancing in Cloud Computing
3/35
1. Introduction
Cloud computing is an emerging infrastructure paradigm that allows
efficient maintenance of cloud services.
It allows cost reduction, flexibility, scalability and reducing the power
consumption with efficient use of servers.
Cloud computing regroups the use of different technologies such as
virtualization, clustering.
This technology begins to become really popular because it allows
customers to pay only for what they are using.
If a company needs an important computing power for few days they can
buy it for few days on the cloud rather than to buy machine especially for
that purpose.
8/10/2019 Load Balancing in Cloud Computing
4/35
Introduction
Cloud computing can be defined as
a type of parallel and distributed system consisting of interconnected
and virtualized computers that are dynamically provisioned and
presented as one or more unified computing resources based on service-
level agreements between the service provider and consumers.
It offers different services as IaaS, SaaS, PaaS .
8/10/2019 Load Balancing in Cloud Computing
5/35
1.2 Architecture of Cloud Computing
Cloud computing architecture can be viewed as layeredmodel which can be divided into 4 layers: the
hardware/datacenter layer, the infrastructure layer, the
platform layer and the application layer as shown in
Figure.
This layering architecture of cloud provides the
integration of each layer and their relationships.
It helps to understand the basic idea of cloud
infrastructure that how this computing is structured. This
layering architecture is shown here:
8/10/2019 Load Balancing in Cloud Computing
6/35
Architecture of Cloud Computing
8/10/2019 Load Balancing in Cloud Computing
7/35
2. Aim and objective
The aim of this study is to improve the performance of cloud
computing environment using clustering technology.
Following are the objectives of the study in specific terms
To improve the performance of cloud computing by implementing
a new VM allocation algorithm using clustering.
Evaluate the performance of proposed algorithm and comparing it
with existing VM allocation algorithms.
8/10/2019 Load Balancing in Cloud Computing
8/35
The primary aim of this study is to improve the performance of cloud
computing.
Performance of any cloud environment is based on CPU utilization,
memory utilization, network bandwidth and I/O performance.
Efficient utilization of available resources among the VM can providean efficient behavior of cloud computing. This sharing of resources is
based on different scheduling and allocation policies.
Our methodology is to use clustering technology with virtual
environment. Cluster based data centers are highly efficient for
performing fast accessing of resource and I/O operations.
Aim and objective
8/10/2019 Load Balancing in Cloud Computing
9/35
3. Modeling the VM Allocation
The Data Center Controller uses a VmLoadBalancer to determinewhich VM should be assigned the next request for processing.
The Vmloadbalancer are :
Round Robin, throttled and active monitoring load balancer
Round Robin Load Balancer (RRLB): In this approach, the
datacenter controller assigns the requests to a list of VMs on a
rotating basis. The first request is allocated to first VM and assigns
the upcoming requests in a circular order. Once the VM is assigned
the request, the VM is moved to the end of the list.
8/10/2019 Load Balancing in Cloud Computing
10/35
Modeling the VM Allocation
Throttled Load Balancer (TLB):The TLB maintains a record of the
state of each virtual machine (busy/ideal). If a request arrived, TLB
sends the ID of ideal virtual machine to the data centre controller
and datacenter controller allocates the ideal virtual machine.
Active Monitoring Load Balancer (AMLB): The AMLB maintains
information about each VMs and the number of requests currently
allocated to which VM. When a request to allocate a new VM arrives,
it identifies the least loaded VM. If there are more than one, the firstidentified is selected.
8/10/2019 Load Balancing in Cloud Computing
11/35
4. Proposed Dynamic VM Allocation Algorithm
Mainly Clustering is the method which includes the grouping of similartype objects into one cluster and a cluster which includes the objects of
data set is chosen in order to minimize some measure of dissimilarity.
For scheduling the virtual machines, K-Means clustering algorithm is
used in this study.
In K-Means clustering, given data sets are divided into K number of
clusters. In this each object of data set belonging to one cluster. In each
cluster there may be a centroid or a cluster representative.
Select K points as the initial centroids
Repeat
Form K Clusters by assigning all points to closest centroid
Recomputed the centroid of each cluster
Until The centroids dont change
K-Means Algorithm:
8/10/2019 Load Balancing in Cloud Computing
12/35
Proposed Dynamic VM Allocation Algorithm
Input: List V of Virtual Machine`s with their location around the globe
List D of datacenters
Algorithm:
1. Select K points according to the number of datacenters in D
2. Choose datacenter from D
3. Form K clusters of VM`s from V by assigning closest centroid
4. Recomputed the centroid of each cluster
5. Arrange all the requested VM`s in cluster form
6. Allocate the VM`s to the available Host
7. If all the VM`s are allocated
8. Assign the VM`s cluster to the selected datacenter9. Endif
10. Repeat [2] until D is empty
11. If all the VM`s are created in the datacenters
12. Endif
13. compute the results
8/10/2019 Load Balancing in Cloud Computing
13/35Working flow diagram of proposed VM allocation scheme
8/10/2019 Load Balancing in Cloud Computing
14/35
5. Implementation of Proposed Algorithm
5.1 Implementation of CloudSim in Eclipse
CloudSim is a java based simulation tool, so it can be used either with the
eclipse IDE or NetBeans IDE. For this work, we select eclipse Juno IDE to
implement proposed VM allocation policy.
To run the CloudSim in eclipse Juno, we have to download the eclipse IDE
and install it. Since eclipse is java base platform, so a java run time
environment is needed before installing it.
When this installation is completed, latest CloudSim package is extracted
and it is imported in the eclipse.
When we import the CloudSim in eclipse, it asks for the path where the
extracted CloudSim package is available. This package is then copied into
the workspace of eclipse from where it can be easily configured and run.
8/10/2019 Load Balancing in Cloud Computing
15/35
8/10/2019 Load Balancing in Cloud Computing
16/35
8/10/2019 Load Balancing in Cloud Computing
17/35
8/10/2019 Load Balancing in Cloud Computing
18/35
8/10/2019 Load Balancing in Cloud Computing
19/35
8/10/2019 Load Balancing in Cloud Computing
20/35
8/10/2019 Load Balancing in Cloud Computing
21/35
8/10/2019 Load Balancing in Cloud Computing
22/35
8/10/2019 Load Balancing in Cloud Computing
23/35
Implementation of Proposed Algorithm
5.2 Implementation of Dynamic VM Allocation Algorithm
Since our concept is to allocate the virtual machines dynamically, as per
user request, So a graphical interface is prepared for selecting the
position of virtual machines.
From here lists of VM and their location are created and submitted, for
starting the simulation with CloudSim.
Number of datacenters is assumed to be known in advance. On the basis
of datacenters, clusters of VM`s are created.
In the CloudSim, DatacenterBroker class is the base class for any VM level
event. When createVmsInDatacenter (int datacenterId) function is called,
it performs the VM allocation to the respective datacenter.
8/10/2019 Load Balancing in Cloud Computing
24/35
6. Simulated Outcomes
In the CloudSim simulator, we have performed the test in both cases: first
with the existing allocation algorithm that is based on selecting host with
minimum Pe`s and second with the proposed Dynamic VM allocation
algorithm with clustering.
For both the cases, we set the same parameters to perform the test such
as:Number of VM`s: 15
Number of Datacenters: 3
Number of Cloudlets: 40
Number of Hosts: 3
Simulation results for both the cases are given here:
8/10/2019 Load Balancing in Cloud Computing
25/35
Simulated Outcomes
6.1 Test Perform with Existing VM Allocation Algorithm
Fig2: Test Perform with Existing VM Allocation Algorithm
8/10/2019 Load Balancing in Cloud Computing
26/35
Simulated Outcomes
6.2 Test Perform with Dynamic VM Allocation Algorithm with Clustering
Fig3: VM Allocation
8/10/2019 Load Balancing in Cloud Computing
27/35
Simulated Outcomes
Test Perform with Dynamic VM Allocation Algorithm with Clustering
Fig4: Output Window
8/10/2019 Load Balancing in Cloud Computing
28/35
8/10/2019 Load Balancing in Cloud Computing
29/35
7. Comparing the Results
Results obtained from both algorithms are arranged in the table :
Table1: Result comparison of both Algorithms
According to the table, overall debt for each datacenter is minimum in
the dynamic allocation policy and it also allows proper load sharing
among the datacenters.
Thus it reveals that clustering technique helps to improve the
performance and it also allows fast accessing and releasing of resources.
8/10/2019 Load Balancing in Cloud Computing
30/35
Comparing the Results
The comparing output with these values is represented in the graph as:
Fig6: Performance comparison of Proposed Algorithm with existingallocation Algorithm using same input parameter
8/10/2019 Load Balancing in Cloud Computing
31/35
8. Conclusion
As cloud computing itself is a bigger umbrella that is merged with
different technologies. This complex integration is also having a bad
impact on the performance of cloud computing.
This work was aimed to improve the performance of cloud computing
with Dynamic VM allocation Algorithm using Clustering.
It arranges virtual machines in cluster form before allocating them to the
datacenters. This arrangement provides efficient CPU utilization and load
sharing among the datacenters, so performance can be enhanced in
some aspects.
The simulation work is done with CloudSim toolkit that was implemented
on Eclipse Juno version. Simulated results are analyzed and compared
with existing methods. It is obtained from the results that proposed
algorithm is having better performance results than existing algorithm.
8/10/2019 Load Balancing in Cloud Computing
32/35
9. Future Work
It is reviewed in this work, that there are large gaps to be resolved in
cloud computing. This work is performed to analyzing performance
parameters and its enhancement using clustering technology.
Although integration of K-Means clustering works well than the existing
methodologies in cloud environment but this also can be replaced with
other available clustering techniques.
This K-Means algorithm is having best results for large collection of data.
So clustering technology can also be implemented at datacenter level for
Dataas a Service.
Caching is also a solution for improving the performance. It allows fast
accessing of data. In this way each cluster would have a copy of database
so it would reduce the number of hits to datacenters and hence improve
performance.
REFERENCES
8/10/2019 Load Balancing in Cloud Computing
33/35
[1] G. Malathy and Rm. Somasundaram, Performance Enhancement in Cloud Computing using Reservation
Cluster,European Journal of Scientific Research, ISSN 1450-216X, Vol. 86 No 3, September, 2012, pp.394-401
[2] Bhupendra Panchal and R. K. Kapoor, Performance Enhancement of Cloud Computing with Clustering,
International Journal of Engineering and Advanced Technology (IJEAT) ISSN: 2249 8958, Volume-2, Issue-5, June2013
[3] Nikolaus Huber, Marcel von Quast, Micahal Hauck and Samuel Konev, Evaluating and Modeling
Virtualization Performance Overhead for Cloud Enviornments
[4] A. Mahendiran, N. Saravanan, N. Venkata Subramanian and N. Sairam, Implementation of K-Means
Clustering in Cloud Computing Environment, Research Journal of Applied Sciences, Engineering and Technology4(10): 1391-1394, 2012, ISSN: 2040-7467
[5] Michael Shindler, Alex Wong and Adam Meyerson Fastand Accurate k-means For Large Datasets
[6] Pinal Salot, A Survey of Various Scheduling Algorithm in Cloud Computing Environment International
Journal of research and engineering Technology (IJRET), ISSN: 2319 1163, Volume: 2 Issue: 2, Feb 2013
[7] Rodrigo N. Calheiros, Rajiv Ranjan, Anton Beloglazov, Csar A. F. De Rose, and Rajkumar Buyya, CloudSim: AToolkit for Modeling and Simulation of Cloud Computing Environments and Evaluation of Resource Provisioning
Algorithms
[8] Alexandru Iosup, Simon Ostermann and M. Nezih Yigitbasi, Performance Analysis of Cloud Computing
Services for Many-Tasks Scientific Computing,IEEE Transaction on parallel and distributed system, VOL. 22, NO.
6, JUNE 2011
[9] Manisha Malhotra, Simulationfor Enhancing the Response and Processing Time of Datacenter Simulation,
REFERENCES
REFERENCES
8/10/2019 Load Balancing in Cloud Computing
34/35
[10] Navjot Kaur, Jaspreet Kaur Sahiwal, Navneet Kaur, EfficientK-Means Clustering Algorithm using Ranking
Method in Data Mining, International Journal of Advanced Research in Computer Engineering & Technology,
Volume 1, Issue 3, ISSN: 2278 1323, May2012
[11] Prof. S.China Venkateswarlu, Prof. M.Arya Bhanu, Prof. Yudhaveer Katta and V.Badari, Implementationof K-Means Clustering Algorithm Using Java,Global Journal of Computer Science and Technology, Volume 11, Issue
17, Version 1.0, October 2011
[12] Parul Agarwal,M. Afshar Alam and Ranjit Biswas, Issues,Challenges and Tools of Clustering Algorithms,
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, No. 2, ISSN: 1694-0814, May 2011
[13] Tejinder Sharma and Vijay Kumar Banga, Efficient and Enhanced Algorithm in Cloud Computing,International Journal of Soft Computing and Engineering (IJSCE) ISSN: 2231-2307, Volume-3, Issue-1, March 2013
[14] Jasmin James and Dr. Bhupendra Verma, Efficient VM Load Balancing Algorithm for a Cloud Computing
environment,International Journal on Computer Science and Engineering (IJCSE), ISSN: 0975-3397, Vol. 4 No. 09
Sep 2012
[15] Sonam Rathore, EfficientAllocation of Virtual Machine in Cloud Computing Environment , International
Journal of Computer Science and Informatics, ISSN: 2231 5292, Volume-2, Issue-3, 2012
[16] Soumya Ray and Ajanta De Sarkar, ExecutionAnalysis of Load Balancing Algorithms in Cloud Computing
Environment, International Journal on Cloud Computing: Services and Architecture (IJCCSA), Vol.2, No.5,
October 2012
[17] A. Mahendiran, N. Saravanan, N. Venkata Subramanian and N. Sairam, Implementation of K-Means
Clustering in Cloud Computing Environment, Research Journal of Applied Sciences, Engineering and Technology
4(10): 1391-1394, 2012, ISSN: 2040-7467
REFERENCES
8/10/2019 Load Balancing in Cloud Computing
35/35
Thank you.