<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Critical analysis on load balancing algorithms in Cloud Environment</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Santosh Kumar Paul</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sunil Kumar Dhal</string-name>
        </contrib>
      </contrib-group>
      <fpage>258</fpage>
      <lpage>264</lpage>
      <abstract>
        <p>Cloud computing is now growing as an emerging computing technology that enables user to avail the computing resources in the form of software, hardware, platform, database, communication, infrastructure working from own computer over internet. The main benefit of cloud computing technology is low cost, data backup, throughput, data privacy, security. To get started in cloud we need zero capital expenditure. The major benefit of cloud is you pay only for what you use. Load balancing in cloud environment is an essential operation. Due to increasing clients in cloud and computing services over internet, load balancing algorithms are essential in data centers. Many different types of algorithms are proposed by different researchers in different point of time. The central plan of load balancing algorithms is to dispense load between servers efficiently so that it improves task scheduling simultaneously with increasing system performance.</p>
      </abstract>
      <kwd-group>
        <kwd>1 Active</kwd>
        <kwd>Throttled</kwd>
        <kwd>Response Time</kwd>
        <kwd>VM</kwd>
        <kwd>Internet</kwd>
        <kwd>throughput</kwd>
        <kwd>Biased</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>The term "cloud computing" refers to a technology where end users avail various computing services
like hardware, software, platform, database, interface through internet [6]. Cloud can be different
types like public, private, hybrid, community. Cloud offers different types of services like software,
platform, database. Various companies are providing cloud services in these three categories. Cloud
can remove many limitations from the traditional computing environment including time, space and
cost [12]. The various characteristics of cloud are:
•
•
•
•</p>
      <p>Elasticity nature of cloud
Self service provisioning of cloud technology
API’s</p>
      <p>Billing &amp; metering of service usage in a pay-as-you-go.</p>
      <p>This paper is structured into following sections: Section 2 gives an idea concerning different types of
load balancing techniques. Section 3 explains the different existing algorithms implemented in the
cloud environment. Section 4 gives a comparison of various load scheduling algorithms. Section 5
gives an overall ending of this paper.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Load Balancing</title>
      <p>In cloud computing environment a field which has significant importance is load balancing on
servers. Various algorithms are suggested by numerous researchers on load balancing. An important
job of these algorithms is to allocate load efficiently between servers in such a means that, servers
never be overloaded or underloaded. A key plan of most of the load scheduling algorithms is, to
enhance the user happiness and maximum resource uses thus improves overall system performance.
Load balancing algorithms can be classified on the basis of system state
2.1.</p>
    </sec>
    <sec id="sec-3">
      <title>Static Load Balancing Algorithm</title>
      <p>These algorithms assign task to nodes based on prior knowledge of nodes capability[1]. These
algorithms don’t consider the dynamic load changes during execution time. Static load balancing
algorithms never depends on networks current status.
2.2.</p>
    </sec>
    <sec id="sec-4">
      <title>Dynamic Load Balancing Algorithm</title>
      <p>These algorithms works in the environment, where task is circulated between different virtual
machines during execution time. It looks for the server having nominal load inside the network and
after that assign proper load to it [2]. Dynamic load balancing algorithms consider the present status
&amp; traffic of systems. These algorithms well thought-out as difficult however enhanced typical
throughput and fault tolerance.</p>
    </sec>
    <sec id="sec-5">
      <title>2.2.1. Policies of dynamic load balancing algorithm</title>
      <p>Dynamic Load balancing algorithms contains 6 major policies [4]:
•
•
•
•
•
•
•</p>
      <p>Transfer Policy: It is needed when any job must be shifted from one to other node.
Selection Policy: Here importance is given for selecting right processor for load shift so that
throughput &amp; response time might be increased.</p>
      <p>Location Policy: It is the identification of critical resources for offering services and the
selection of resource locations.</p>
      <p>Information Policy: Here information linked to load regarding the node is acquired.
Load Estimation Policy: Here total load of a node inside a system is calculated.
Process Transfer Policy: Under this policy a process execution is determined whether it is
locally or remotely.</p>
    </sec>
    <sec id="sec-6">
      <title>3. Review</title>
      <p>This section describes different existing load balancing algorithms based on probabilistic approach
and soft computing approach. These approaches can be implemented in cloud environment.</p>
      <sec id="sec-6-1">
        <title>Round Robin algorithm</title>
        <p>Here a predetermined time slice is assigned to all virtual machines for executing a task[5,8].
After time slice over, again another virtual machine is given time slice for execution of job. In
this way round robin algorithm gives time slice to each virtual machine for execution of task.
Due to its uniform movement in a circular fashion some nodes are overloaded, while others
are underloaded. It doesn’t consider the current workload of the server.</p>
      </sec>
      <sec id="sec-6-2">
        <title>Weighted Round robin algorithm</title>
        <p>Here every virtual machine is allotted weightage depending on the capacity of virtual
machines. As per the weightage assigned to the virtual machine, it would receive appropriate
requests. In real time cloud computing environment it is very difficult to forecast the accurate
execution time. Therefore this algorithm is not a good choice [9].</p>
      </sec>
      <sec id="sec-6-3">
        <title>Central manager algorithm</title>
        <p>In the central manager algorithm, a node is treated as central manager node which selects a
node which is least loaded depending on the server’s current system load information [10]. As
all the servers update their load condition to central manager, this results to excess inter
process communications so network congestion occurs.</p>
      </sec>
      <sec id="sec-6-4">
        <title>Active monitoring</title>
        <p>This type of technique identifies information about each Virtual Machine and the amount of
tasks presently allotted to each virtual machine. Whenever a new request for a Virtual
Machine enters, it determines which Virtual Machine is the least loaded. Now the new request
allocated to the least loaded VM. If number of virtual machines are more than one detected
then by default the 1st one is selected. The main disadvantage of this algorithm is whether a
VM is previously utilized or not because some VM’s are over utilized and some are remain
ideal.</p>
      </sec>
      <sec id="sec-6-5">
        <title>Throttled load balancing algorithm</title>
        <p>In this algorithm status of VM (idle/busy) is identified. At the load balancer, the data is saved
in an index table. This algorithm find out appropriate VM for assignment of job. The job
manager contains index list of VM’s to find a machine so that it allot required job to the
appropriate virtual machine [7].</p>
        <p>A disadvantage of these algorithm is, when all machines contains analogous hardware
configurations it can only work.</p>
      </sec>
      <sec id="sec-6-6">
        <title>Threshold load balancing algorithm</title>
        <p>Here 1st it considers loading threshold of each server depending on its processing speed &amp;
storage capacity. After that we choose a method to distribute the load among servers
depending on the threshold.</p>
        <p>The threshold represents the storage percentage of every datacenter that should not be
exceeded.</p>
      </sec>
      <sec id="sec-6-7">
        <title>Opportunistic algorithm</title>
      </sec>
      <sec id="sec-6-8">
        <title>Min-Min algorithm</title>
        <p>This algorithm never thinks about the present workload of each Virtual machine’s. it always
try to maintain every node busy. The tasks are assigned randomly to the nodes. It is a slow
process as it never calculate the present work load during run time of the node.
This algorithm chooses a number of unassigned tasks. Initially smallest completion time for al
tasks is calculated. After that the task having less completion time is chosen for execution
until all unassigned tasks are completed[3]. The major disadvantage of the algorithm is some
tasks are suffered with starvation problem.</p>
      </sec>
      <sec id="sec-6-9">
        <title>Max-Min algorithm</title>
      </sec>
      <sec id="sec-6-10">
        <title>Randomized algorithm</title>
        <p>Here it calculates smallest completion time of all tasks. Out of which the job having
maximum execution time is allocated to the VM. Max -Min algorithm executes shortest jobs
concurrently with longest jobs[11]. The main drawback is, jobs having minimum execution
time suffer starvation problems.</p>
        <p>This algorithm handles a node ‘n’ with probability ‘p’. when processors are of equal load this
algorithm works good. The major problem arises when loads are of different run time. It
never shows deterministic approach.</p>
      </sec>
      <sec id="sec-6-11">
        <title>Ant colony optimization</title>
        <p>This algorithm resembles the activities of ants finding for food. It aims to find optimal
solution .it is a random search algorithm . Ants are moving from their nest to find food and
join everyone by pheromone which is a volatile substance deposited on paths they travelled.
The ant will reach near food by following the trace of pheromone. The concentration of
pheromone may changes depending on many factors like the food quality source, distance
from food. Now ants utilize the pheromone deposits so that to go to next node. The demerit of
this algorithm is premature convergence and stagnating output.</p>
      </sec>
      <sec id="sec-6-12">
        <title>Active clustering</title>
        <p>In active clustering more than two servers united &amp; handle the network load and working as a
team, they distribute it to the network servers. The load balancer keeps this information
requests from users and store it in cache. This process minimizes network traffic load. Server
clustering is a way of making multiple computer servers into a cluster, acts like a single
server.</p>
        <p>The disadvantage is it degrades as system diversity increases.</p>
      </sec>
      <sec id="sec-6-13">
        <title>Biased random sampling</title>
        <p>This algorithm uses random sampling methods for load balancing between nodes. The nodes
are selected which are servers. This algorithm uses virtual graph, where each side represents
each node's load. All nodes are regarded as a directed graph's vertex. Now the node having
minimum degree one assigned the task by load balancer. The server now execute the task
showing the decrease of available free resources. Due to additional overhead when servers
increases degrades the performance, is the biggest disadvantages of this algorithm.
•</p>
      </sec>
      <sec id="sec-6-14">
        <title>Honeybee foraging</title>
        <p>Honeybee Foraging is inspired by honeybee foraging habits. There are numerous varieties of
honeybees, such as finders and reapers. Initially, the finders move around and look for honey
sources. They return to the honey comb after discovering the source and begin a waggle
dance to demonstrate the quantity and quality of honey present. Then after, reapers go out and
collect honey from various locations[13]. They perform a waggle dance and then return to
harvest honey. The throughput is very less in this algorithm is the major disadvantage.</p>
      </sec>
      <sec id="sec-6-15">
        <title>Central queue</title>
        <p>•
•</p>
        <p>This algorithm stores newly arrived tasks &amp; unfulfilled requests in a FIFO queue in a cyclic
manner. All the new tasks inserted in the queue by the queue manager. The Manager after
finding a new request, it removes the first operation from the queue and delivers this to the
user. When there are no activities within queue, it is considered empty. When a request is
made, a new activity is buffered. The queue manager scans the queue for any unanswered
requests, assigns a new activity, and removes the first such request. When all remote servers
are overloaded this algorithm assigned all processes locally, is the main disadvantages of this
algorithm.</p>
      </sec>
      <sec id="sec-6-16">
        <title>Weighted least connection</title>
        <p>It is created on the principle of Least connection algorithm used for different application
servers. Based on traffic handling capacity the administrator allocates weight to each server.
The computational time is very high in this algorithm[14,16].</p>
      </sec>
      <sec id="sec-6-17">
        <title>Particle swarm optimization</title>
        <p>
          It is a stochastic optimization method works on the movement of intelligent swarms. Here for
getting a solution from a problem social interaction is used. This algorithm uses many
particles (agents) that forms a swarm moving around for search of space thus looking for best
solution of a problem. Particle Swarm Optimization was proposed by Kennedy and Eberhart
in 1995 [
          <xref ref-type="bibr" rid="ref1">15</xref>
          ]. As mentioned in the original paper, sociobiologists believe a school of fish or a
flock of birds that moves in a group “can profit from the experience of all other
members”[
          <xref ref-type="bibr" rid="ref1">15</xref>
          ].
        </p>
        <p>The downsides of the algorithm are that it will be easy to slip into a local optimum in a
highdimensional region and that the iterative approach has a slow rate of convergence.
•</p>
      </sec>
      <sec id="sec-6-18">
        <title>Least connection</title>
        <p>•</p>
      </sec>
      <sec id="sec-6-19">
        <title>Stochastic Hill climbing</title>
        <p>Least connection algorithm is dynamic in nature. It considers least number of active
connections for client requests distributed in the application server. This algorithm always
takes number of active connections into consideration. Here the algorithm distributes load by
choosing least number of active connections. The demerits are system is heavily loaded and
performance is degraded.</p>
        <p>Using a local optimization strategy, the allocation of arriving jobs toward servers or virtual
machines is done via stochastic hill climbing. A stochastic and local optimization method is
nothing more than a loop that travels uphill in the direction of increasing value. It comes to a
halt when no neighbor has a better worth than it. The likelihood of selection varies with the
steepness of the uphill motion in this form, which chooses at random from among the uphill
moves. As a result, by making slight adjustments to the original assignment, it maps
assignments to a collection of assignments. Each member of the set is assessed against a set
of criteria in order to get closer to a valid assignment and enhance the state's evaluation score.
The following assignment is given to the set's best element. This basic operation is continued
until a solution or a stopping requirement is met. The disadvantages of the hill climbing
algorithm include the fact that it is totally centralized and only run through one mode,
resulting in a bottleneck as well as a failure.</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>4. Findings of various load balancing algorithms</title>
      <p>This section gives an idea on different existing load balancing algorithms based on various factors.
Table -1 explains different types of load balancing techniques (static, Dynamic) with different
parameters used for load balancing. Different parameters like Fault tolerance, Migration time,
Network overhead, Adaptability, Scalability, Throughput, Resource utilization, Response time, Power
Saving, Reliability, Predictability, Process Migration, performance.</p>
    </sec>
    <sec id="sec-8">
      <title>5. Acknowledgements</title>
      <p>Load balancing [1] is considered as a vital work within cloud environment for best deployment of
cloud resources .Due to the proper load balancing approach the data centers can manage VM’s
efficiently. We have described and performed comparative analysis of a range of load balancing
algorithms along with their static or dynamic nature based on different parameters like fault tolerance
,throughput, response time, resource utilization. After analyzing algorithm based on various
parameters we found that static algorithms are stable in comparison to dynamic .However dynamic
load balancing algorithms[1] are preferred choice compared to static as it considers the present
workload of the servers. From the above observation by considering various parameters we found
that , Ant colony algorithm, honey bee foraging algorithm , central queue algorithms are better in fault
tolerance approach where as Round robin, Weighted round robin, Min-min, max-min are better in
throughput, resource utilization and response time. During our subsequently future effort we must
compare algorithms having simulation work and mathematical investigation on various additional
parameters to determine the best algorithm on load balancing in cloud environment.
6. References</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [15] [16]
          <string-name>
            <given-names>Al</given-names>
            <surname>Nuaimi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Mohamed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            ,
            <surname>Al</surname>
          </string-name>
          <string-name>
            <surname>Nuaimi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Al-Jaroodi</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.:</surname>
          </string-name>
          <article-title>A survey of load balancing in cloud computing: Challenges and algorithms</article-title>
          .
          <source>In 2012 second symposium on network cloud computing and applications</source>
          (pp.
          <fpage>137</fpage>
          -
          <lpage>142</lpage>
          ), IEEE (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Ghutke</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shrawankar</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Pros and cons of load balancing algorithms for cloud computing</article-title>
          .
          <source>In 2014 International Conference on Information Systems and Computer Networks (ISCON)</source>
          (pp.
          <fpage>123</fpage>
          -
          <lpage>127</lpage>
          ). IEEE, (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Gupta</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rani</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dixit</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Dev</surname>
          </string-name>
          , H.:
          <article-title>Features exploration of distinct load balancing algorithms in cloud computing environment</article-title>
          .
          <source>International Journal of Advanced Networking and Applications</source>
          ,
          <volume>11</volume>
          (
          <issue>1</issue>
          ),
          <fpage>4177</fpage>
          -
          <lpage>4183</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>(2019) Kumar</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Rana</surname>
            ,
            <given-names>D. S.</given-names>
          </string-name>
          (
          <year>2015</year>
          ).
          <article-title>Various dynamic load balancing algorithms in cloud environment: a survey</article-title>
          .
          <source>Int.</source>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <given-names>J.</given-names>
            <surname>Comput</surname>
          </string-name>
          . Appl,
          <volume>129</volume>
          (
          <issue>6</issue>
          ),
          <fpage>0975</fpage>
          -
          <lpage>8887</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mao</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fan</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Shuang</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          (
          <year>2021</year>
          ,
          <article-title>July). A Load-Balancing Algorithm for Power Internet of Things Resources Based on the Improved Weighted Minimum Number of Connections</article-title>
          .
          <source>In International Conference on Artificial Intelligence and Security</source>
          (pp.
          <fpage>563</fpage>
          -
          <lpage>574</lpage>
          ). Springer, Cham.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          https://machinelearningmastery.com
          <article-title>/a-gentle-introduction-to-particle-swarm-optimization/</article-title>
          <string-name>
            <surname>Mesbahi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Rahmani</surname>
            ,
            <given-names>A. M.</given-names>
          </string-name>
          (
          <year>2016</year>
          ).
          <article-title>Load balancing in cloud computing: a state of the art survey</article-title>
          .
          <source>Int. J. Mod.</source>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Educ</surname>
          </string-name>
          .
          <source>Comput. Sci</source>
          ,
          <volume>8</volume>
          (
          <issue>3</issue>
          ),
          <fpage>64</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>