Different Strategies for Load Balancing in Cloud Computing Environment: a critical Study

  • Upload
    ijsret

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

  • 7/26/2019 Different Strategies for Load Balancing in Cloud Computing Environment: a critical Study

    1/6

    www.ijsret.org

    International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882

    Volume 3 Issue 1, April 2014

    Different Strategies for Load Balancing in Cloud

    Computing Environment: a critical Study

    Amandeep1, Vandana Yadav2, Faz Mohammad3

    1,2

    Dept. of CSE, Galgotia University, G.Noida3Asst. Prof., Dept. of CSE, MAIT,Ghaziabad

    AbstractTwenty first century is known as the era of technology. In

    the technology of computing it is an era of cloud

    computing. Cloud computing is the most recent

    technology in today's world of computing and its become

    more popular day by day due to its great feature (resource

    pooling, rapid elasticity, scalability, efficiency and on

    demand service). Cloud computing is built on the base of

    distributed computing, grid computing and virtualization.

    Cloud computing is defined as a large scale distributedcomputing paradigm that is driven by economics of

    scale in which a pool of abstracted virtualized

    dynamically.

    1. INTRODUCTIONCloud computing is a model for delivering information

    technology services in which resources are retrieved from

    the internet through web-based tools and applications,

    rather than a direct connection to a server. Data and

    software packages are stored in servers. However, cloud

    computing structure allows access to information as long

    as an electronic device has access to the web. This type of

    system allows employees to work remotely.

    Cloud computing is so named because the information

    being accessed is found in the "clouds", and does not

    require a user to be in a specific place to gain access to it.

    In Gartners report [2], considered cloud computing as

    the first among top 10 most important technologies and

    with a better prospect in successive years by

    companies and organization and cloud will change to the

    IT industry.

    Cloud computing is a term, which involves virtualization,

    distributed computing, networking, web services and

    software. A cloud consists of scalable, managed

    computing power, storage, platform and service are

    delivered on demand to external customer over the

    internet. The services are available to user in pay-per-use-

    on demand model. Due to its great feature it is adopted

    by all type of user like industry, organization and

    institutional etc. There are many existing issues in cloud

    computing like load balancing, virtual machine

    migration, security ,energy management and server

    consolidation etc. the increase in web traffic and

    different service are increasing day by day making load

    balancing a big research topic. in this paper we focus in

    different type of load balancing algorithm.

    Several elements are such as client, datacenters, and

    distributed server [3].

    2. DEFINITION OF CLOUD

    COMPUTINGMany definitions are proposed for cloud computing

    Here some of them are given here,

    1) Cloud is a parallel and distributed computing system

    consisting of collection of the interconnected and virtual

    computers that are dynamically provisioned and

    presented as one or more unified computing

    resources based on the service-level- agreements

    (SLA) that are established through the negotiationbetween the service provider and customer [4].

    2) NIST definition of cloud computing- Cloud

    computing is a model for enabling ubiquitousconvenient, on-demand network access to a shared poo

    of configurable computing resources (e.g., networks

    servers, storage, applications, and services) that can be

    rapidly provisioned and released with minima

    management effort or service provider inter- action [5].

    3) Cloud computing refers to both the applications

    delivered as services over the internet and the

    hardware and systems software in the datacenters tha

    provide those services. The services themselves havelong been referred to as software as a service (SaaS), so

    we use that term. The datacenter hardware and software

    is what we will call a cloud [6].

    Features of Cloud Computing

  • 7/26/2019 Different Strategies for Load Balancing in Cloud Computing Environment: a critical Study

    2/6

    www.ijsret.org

    International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882

    Volume 3 Issue 1, April 2014

    1. Resource pooling: The providers

    computing resources are pooled to serve multiple

    consumers using a multi-tenant model, with different

    physical and virtual resources dynamically assigned

    and reassigned according to consumer demand.

    2. Rapid elasticity: Capabilities can be elastically

    provisioned and released, in some cases automatically,

    to scale rapidly outward and inward commensuratewith demand. To the consumer, the capabilities

    available for provisioning often appear to be

    unlimited and can be appropriated in any quantity at

    any time.

    3. Scalability: Cloud computing provides resources

    and services for users on demand. The resources are

    scalable over several data centers. In order to achieve

    a highly scalable system, balancing of the loads when

    the load increases at a large extent and a cloud userdemands more resources online rapidly is very

    important.

    4. On-demand self-service: A consumer canunilaterally provision computing capabilities, such as

    server time and network storage, as neededautomatically without requiring human interaction

    with each

    serviceprovider.

    5. Efficiency:An efficient cloud computing system

    should work for all the possible configurations ofcloud where users are requesting the resources on any

    extent unknown to the cloud service providers

    providing the important features like rapid elasticity

    and high scalability with the much needed fault

    tolerance. A proper distribution of tasks among theprocessors can achieve these features for the cloud

    systems.

    6. Dynamic Resource Allocation: Cloud computing

    systems are allocating the loads across the system

    either statically or dynamically. A dynamic resource

    allocation policy proves to be better than the static one

    to sustain the dynamic requirements of a cloud

    user.

    Cloud computing have three service model i.e. IaaS

    (infrastructure as a service ), PaaS (platform as a

    service) and SaaS (software as a service) and it have fourdeployment model i.e. public cloud , private cloud, hybrid

    cloud and community cloud [6].

    Load Balancing and Virtualization: Load Balancing:Any strategy for load distribution among the

    computational element is known as load balancing.

    Cloud balancing is a computer networking method to

    distribute work load across multiple computer or a

    computer cluster, network link, central processing units

    disk drivers or other resources to achieve optima

    resource utilization, maximize throughput, minimize

    response time and avoid overload. Load balancing

    helps in preventing bottleneck of system. It alsoavoiding a situation where some of the nodes are heavily

    loaded while others nodes are ideal or doing very little

    work. Without load balancing cloud computing would

    very difficult to manage [7].

    Virtualization:Virtualization means something which is not real bu

    gives all the facility of a real. Virtualization is a

    software implementation of a machine which wilexecute different program like a real machine.

    Two type of virtualization found in case of cloud

    computing.

    1. Para Virtualization:Para virtualization means the hardware allow

    multiple operating systems to run on single machine. It

    also allows efficient use of system resources such as

    memory and processor. In para virtualization all the

    services are not fully available rather the services areprovided partially.

    2. Full Virtualization:It means a complete installation of one machine is done

    on another machine. It will result in a virtual machine

    which will have all the software i.e. present in the actualserver. It helps to sharing a computer system among

    multiple users. It provide emulating hardware on another

    machine.[8]

    Both virtualization and load balancing are closely

    related. Some of the feature of cloud computing system

    like fast response time, elasticity are achieved by load

    balancing technique through virtualization.

    Load Balancing Approach:Static and dynamic two type of load balancing

    approaches use in cloud computing.

    1. Static Approach:This approach is mainly defined in the design or

    implementation of system. Static load balancing

    algorithm divides the traffic equivalently between al

    users. It uses only information about the average

  • 7/26/2019 Different Strategies for Load Balancing in Cloud Computing Environment: a critical Study

    3/6

    www.ijsret.org

    International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882

    Volume 3 Issue 1, April 2014

    behavior of the system. These are much simpler and

    ignore the current state or the load of the node in the

    system.

    2. Dynamic Approach:In this approach considered only the current state of the

    system during load balancing decision. It is more suitable

    for widely distributed system such a cloud computing

    Dynamic approach has two parts

    Centralized Approach: Only a single node is

    responsible for managing and distribution within the

    whole system.

    Distributed Approach: Each node

    independently builds its own load vector. Vector

    collecting load information of other node. All decision is

    made locally using local load vector.

    Metrics for Load Balancing:

    1. Throughput: - It is used to calculate the all tasks

    whose execution has been completed. The performance ofany system is improved if throughput is high.

    2. Fault Tolerance:It means recovery from failure. The

    load balancing should be a good fault tolerant technique.

    3. Migration time:It is the time to migrate the jobs or

    resources from one node to other nodes. It should beminimized in order to enhance the performance of the

    system.

    4. Response Time:It is the amount of time that is taken

    by a particular load balancing algorithm to response a task

    in a system. This parameter should be minimized for betterperformance of a system.

    5. Scalability:It is the ability of an algorithm to perform

    Load balancing for any finite number of nodes of a

    system.

    Existing Load Balancing Algorithm:There are many load balancing algorithm which help to

    achieve better throughput, improve the response time, high

    resource utilization and better performance in cloud

    computing environment [10, 19, 20, 21].

    1. Task Scheduling Based On LB: This algorithmmainly consists two level task scheduling mechanism

    which is based on load balancing to meet dynamic

    requirements of users. It obtains high resource utilization.

    This algorithm achieves load balancing by first mapping

    tasks to virtual machines and then all virtual machines to

    host resources .It is improving the task response time .It

    also provide better resource utilization.[9]

    2. Opportunistic Load BalancingOpportunistic load balancing is to attempt each node

    keep busy, therefore does not consider the presen

    workload of each computer. Opportunistic load

    balancingassigns each task in free order to presen

    node of useful .The advantage is quite simple and

    reach load balance but its shortcoming is not considereach expectation execution time of task, therefore the

    whole completion time is very poor.

    3. Active clustering: Active clustering is used in

    large scale cloud system. It provides bette

    performance and high resource utilization. In this

    algorithm same type nodes of the systems are grouped

    together and they work together in groups. It works like

    as self-aggregation load balancing technique where a

    network is rewired to balance the load of the systemSystems optimize using similar job assignments by

    connecting similar services. it improve the throughpu

    by utilizing the increased system resource. It wildegrade as the system diversity increases.

    4. Ant colony optimization: Ant algorithm is a

    multi-agent approach to difficul

    combinatorial optimization problem. In this algorithm

    when the request is initiated the ant start it

    movement. Movement of ant is of two ways:

    Forward Movement: Forward Movement the an

    moving in forward direction continuously moving from

    one overloaded node to another node and check it is

    overloaded or under loaded ,if ant find an over loadednode it will continuously moving in the forward

    direction and check each nodes .

    Backward Movement: If ants find an over loaded

    node the ant will use the back ward movement to ge

    to the previous node, in the algorithm if ant finds the

    target node then ant will commit suicide, this algorithm

    reduced the unnecessary back ward movement. It is

    excellent in fault tolerance [11].

    5. Shortest Response Time First:The idea of this

    algorithm is straight forward. In this each process isassigned a priority which is allowed to run. In this equal

    priority processes are scheduled in FCFS order. The

    (SJF) algorithm is a special case of general priority

    Scheduling algorithm. In SJF algorithm is priority is

    the inverse of the next CPU burst. It means, if longe

    the CPU burst then lower the priority. The SJF policy

  • 7/26/2019 Different Strategies for Load Balancing in Cloud Computing Environment: a critical Study

    4/6

    www.ijsret.org

    International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882

    Volume 3 Issue 1, April 2014

    selects the job with the shortest processing time first. In

    this algorithm shorter jobs are executed before long jobs.

    In SJF, it is very important to know or estimate the

    processing time of each job which is major problem of

    SJF.

    6. MIN-MIN Algorithm: It starts with a set of all

    unassigned tasks .In this minimum completion time for all

    tasks is found. Then after that among these minimumtimes the minimum value is selected. Then task with

    minimum time schedule on machine. After that the

    execution time for all other tasks is updated on that

    machine then again the same procedure is followed until

    all the tasks are assigned on the resources. The main

    problem of this algorithm is has a starvation.

    7. Honeybee Foraging Behavior: It is a nature

    inspired Algorithm for self- organization. Honeybeeachieves global load balancing through local server

    actions. The performance of the system is enhanced with

    increased system diversity. The main problem is thatthroughput is not increased with an increase in system

    size. When the diverse population of service types isrequired then this algorithm is best suited.[12]

    8. A Fast Adaptive Load Balancing Method:This algorithm proposed a binary trees tructure that

    is used to partition the simulation region into sub-domains. The characteristics of this fast adaptive balancing

    method are to be adjusted the workload between the

    processors fromlocal areas to global areas. the region

    should be partitioned by using the binary tree mode.

    There were partition line between the binary tree and theindexes of the cells on the left are smaller that of right and

    the indexes on the top are smaller than the bottom.

    Calculate the workload based on the balancing algorithm.

    This algorithm has a faster balancing speed, less elapsed

    time and less communication time cost of the simulation

    procedure. Advantages are Relative smaller

    communication overhead relative smaller communication

    overhead, faster balancing speed, and high efficiency. It

    cannot maintain the topology of cells [13].

    9. Based Random Sampling: It is a distributed and

    scalable load balancing approach that uses randomsampling of the system domain to achieve self-organization

    these balancing the load across all nodes of system. This

    algorithm is based on the construction of the virtual graph

    having connectivity between the all nodes of the system

    where each node of the graph is corresponding to the node

    computer of the cloud system. Edges between nodes are

    two types as Incoming edge and outgoing edge that is

    used to consider the load of particular system and also

    allotment the resources of the node. It is very good

    technique to balance the load [14].

    10. Max-Min Algorithm: Max-Min algorithm is

    almost same as the min-min algorithm. The main

    difference is following: In this algorithm first finding ouminimum execution times, then the maximum value is

    selected which is the maximum time among all the

    tasks on any resources. After that maximum time

    finding, the task is assigned on the particular selected

    machine. Then the execution time for all tasks i

    updated on that machine, this is done by adding the

    execution time of the assigned task to the execution times

    of other tasks on that machine. Then all assigned task is

    removed from the list that executed by the system.

    11. Randomized: In this algorithm the process

    allocation order is maintain for eachprocessor independent of allocation from remote

    processor. This is static in nature. In this algorithm aprocess can be handled by a particular node n with a

    probability p. When all the processes are of equa

    loaded then this algorithm work well. Problem arises

    when loads are of different computational complexities

    This algorithm is not maintaining deterministic approach.

    12. Lock-free multiprocessing solution for LB:It

    proposed a lock-free multiprocessing load balancing

    solution that avoids the use of shared memory in

    contrast to other multiprocessing load balancing solutionswhich use shared memory and lock to maintain a user

    session. It is achieved by modifying kernel. This solution

    helps in improving the overall performance of load

    balancer in a multicore environment by running multiple

    load-balancing processes in one load balancer.

    13. Heat Diffusion Based Dynamic Load BalancingIn this algorithm, proposed an efficient cell selection

    scheme and two diffusion based algorithm called global

    and local diffusion. According to heat diffusion

    algorithm, the virtual environment is divided into a large

    no of square cells and each square cells having object andevery node in the cell send load to its neighboring nodes

    in every iteration and the transfer was the difference

    between the current node to that of neighboring node

    it is related to heat diffusion process. the advantages of

    this algorithm are communication overhead is less, high

    speed and require little amount of calculation.[15].

  • 7/26/2019 Different Strategies for Load Balancing in Cloud Computing Environment: a critical Study

    5/6

    www.ijsret.org

    International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882

    Volume 3 Issue 1, April 2014

    14. Compare and Balance: This algorithm is uses to

    reach an equilibrium condition and manage unbalanced

    systems load. In this algorithm on the basis of probability,

    current host randomly select a host and compare their

    load. If load of current host is more than the selected

    host, it transfers extra load to that particular node. Then

    each host of the system performs the same procedure. This

    load balancing algorithm is also designed andimplemented to reduce virtual machines migration time.

    Shared storage memory is used to reduce virtual machines

    migration time.

    15. Resource Awareness Scheduling Algorithm:It is a combination of Min-Min and Max-Min algorithm

    and have no time consuming instruction. The time

    complexity of this algorithm is O(mn2) where m is the no.

    of resources and n is the no. of task.

    16. Connection Mechanism:It is a algorithm based onleast connection mechanism. It needs to count the no. of

    connection for each server dynamically to estimate the

    load. The load balancers record the connection no of eachserver. The no. of connection increase when a new

    connection is dispatch to it and decrease the no whenconnection finished or timeout happen.[16]

    17. Round Robin: In this algorithm all the processes are

    divided between all processors. In this each process is

    assigned to the processor in a round robin order. The work

    load distributions between processors are equal. Differentprocesses have not same job processing time. At many

    point of time some nodes may be heavily loaded and

    others remain idle In web servers where http requests are of

    similar nature and distributed equally then RR algorithm is

    used .When time quantum is very large then RRScheduling Algorithm is same as the FCFS Scheduling.

    and when time quantum is too small then Round Robin

    Scheduling is known as Processor Sharing Algorithm.

    18. Throttled Load Balancing Algorithm: It is

    completely based on virtual machine. Client first

    requesting the load balancer to check the right virtual

    machine which access that load easily and perform the

    operation that is given by the client.[17]

    19. Load Balancing Using Firefly Algorithm: This

    algorithm is inspired from firefly algorithm. The proposed

    approach deals with a simulated cloud network with set of

    requests and servers. The servers are associated with nodesand each node is supplied with some attributes. The

    attributes are assigned to control the load in each node.

    It has three levels.

    1. Initially a population is generated from the cloud

    network.

    2. Scheduling index calculation

    3. The scheduling list is optimized by firefly

    algorithm.

    It is efficient in optimizing scheduling by balancing the

    load.[18]

    3. CONCLUSION:

    In this paper we discuss the load balancing in cloud

    computing and metrics for load balancing in cloud

    computing. We also discuss the cloud virtualization

    Load balancing helps in proper utilization oresources and improve the performance of system. Load

    balancing is a major issues in cloud computing. In this

    paper we examined some existing load balancing

    algorithm that maintain load balancing and provide

    better scheduling and resource allocation techniquesResearchers have been done in this area. But still there

    is need of improvement in the strategy of resource

    allocation and scheduling algorithm.

    REFERENCES:

    [1] Gaochao Xu, Junjie Pang, and Xiaodong Fu A Load

    Balancing Model Based on Cloud Partitioning for the

    Public Cloud. IEEE TRANSACTIONS ON CLOUD

    COMPUTING YEAR 2013

    [2] R. Hunter, The why of cloud

    http://www.gartner.com/ DisplayDocument?doc

    cd=226469&ref= g noreg, 2012

    [3]Namrata Swarnkar , Asst. Prof. Atesh Kumar Singh

    and Dr. R. Shankar A Survey of Load Balancing

    Techniques in Cloud Computing. Vol. 2Issue 8, August2013

    [4] Rajkumar Buyyaa and et.al. Cloud computing and

    emerging IT platforms: Vision, hype, and reality for

    delivering computing as the 5th utility ,ELSEVIER.

    [5] NIST: Nist definition of cloud computing

    [6] Fox et al: Above the Clouds: A Berkeley View of

    Cloud computing feb 2009 [7] cloud computing bible.

    [8] Rajwinder Kaur and Pawan Luthra Load

    Balancing in Cloud Computing. Proc. of Int. Conf. on

    Recent Trends in Information, Telecommunication and

    Computing, ITC

    [9] Y. Fang, F. Wang, and J. Ge, A Task SchedulingAlgorithm Based on Load Balancing in Cloud

    Computing, Web Information Systems and Mining,

    Lecture Notes in Computer Science, Vol. 6318, 2010pages 271-277.

    [10] Ms. Parin. V. Patel, Mr. Hitesh. D. Patel and Asst

    Prof. Pinal. J. Patel A Survey On Load Balancing In

  • 7/26/2019 Different Strategies for Load Balancing in Cloud Computing Environment: a critical Study

    6/6

    www.ijsret.org

    International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882

    Volume 3 Issue 1, April 2014

    Cloud Computing. International Journal of Engineering

    Research & Technology (IJERT)Vol.

    1 Issue 9, November-2012

    [11] Nishant, K. P. Sharma, V. Krishna, C. Gupta, KP.

    Singh, N. Nitin and R. Rastogi, Load Balancing of Nodes

    in Cloud Using Ant Colony Optimization. In proc. 14th

    International Conference on Computer Modelling and

    Simulation (UKSim), IEEE, pp: 3-8, March 2012.[12] Dhinesh Babu L.D, P. VenkataKrishna, Honey bee

    behavior inspired load balancing of tasks in cloud

    computing environments,Applied Soft Computing

    13 (2013)

    [13]Dongliang Zhang, Changjun Jiang,Shu Li, A fast

    adaptive load balancing method for parallel particle-based

    simulations.

    [14] T.R.V. Anandharajan, Dr. M.A. BhagyaveniCo-

    operative Scheduled Energy Aware Load- Balancingtechnique for an Efficient Computational Cloud IJCSI

    International Journal of Computer Science Issues, Vol. 8,

    Issue 2, March 2011[15] Yunhua Deng, Rynson W.H. Lau, Heat diffusion

    based dynamic load balancing for distributed virtualenvironments. in: Proceedings of the17th ACM

    Symposium on Virtual Reality Software and Technology,

    ACM, 2010, pp. 203210

    [16] P.Warstein, H.Situ and Z.Huang(2010), Load

    balancing in a cluster computer In proceeding of theseventh International Conference on Parallel and

    Distributed Computing, Applications and Technologies,

    IEEE.

    [17] Ms.NITIKA, Ms.SHAVETA, Mr. GAURAV RAJ;

    Comparative Analysis of Load Balancing Algorithms inCloud Computing, International Journal of Advanced

    Research in Computer Engineering & Technology

    Volume 1, Issue 3, May 2012.

    [18] A. Paulin Florence and V. Shanthi A LOAD

    BALANCING MODEL USING FIREFLY ALGORITHM

    IN CLOUD COMPUTING. 2014

    Science Publications

    [19] R.R. Kotkondawar, P.A. Khaire, M.C. Akewar and

    Y.N. Patil, A Study of Effective Load Balancing

    Approaches in Cloud Computing.International Journal of

    Computer Applications , Volume 87 No.8, February

    2014[20] Rajesh George Rajan and V.Jeyakrishnan A Survey

    on Load Balancing in Cloud Computing Environments.

    International Journal of Advanced Research in Computer

    and Communication Engineering Vol. 2, Issue 12,

    December 2013

    [21] SHANTI SWAROOP MOHARANA1,

    RAJADEEPAN D. RAMESH and DIGAMBER

    POWAR ANALYSIS OF LOAD BALANCERS IN

    CLOUD COMPUTING. Vol. 2, Issue 2, May 2013,

    101-108 , IASET

    [22] Uddalak Chatterjee A Study on Efficient Load

    Balancing Algorithms in Cloud Computing Environment

    International Journal of Current Engineering and

    Technology ,2013[23] Nidhi Jain Kansal and Inderveer Chana Cloud Load

    Balancing Techniques : A Step Towards Green

    Computing. IJCSI International Journal of Computer

    Science Issues, Vol. 9, Issue 1, No 1, January 2012

    [24] Tushar Desai and Jignesh Prajapati A Survey Of

    Various Load Balancing Techniques And Challenges In

    Cloud Computing. INTERNATIONAL JOURNAL OF

    SCIENTIFIC & TECHNOLOGY RESEARCH

    VOLUME 2, ISSUE 11, NOVEMBER2013