load balancing in cloud computing

Upload: raj-mike

Post on 02-Jun-2018

227 views

Category:

Documents


5 download

TRANSCRIPT

  • 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.