The Whenever a task is submitted, it

The problem is formulated in such a way that there exists a set
of n virtual machines denoted as VM={, , … , } and a set of k tasks
denoted as T={, , , … , }. The load and capacity of
each virtual machine and also the physical machine need to be calculated in
order to perform load balancing.

Equation (1) 16 denotes capacity () of a single VM which is
calculated by adding its processing capacity and communication bandwidth
ability. As load balancing is done at intra-host level, the bandwidth component
is considered to be negligible and hence, the equation (1) is refined to equation
(2). Capacity of a PM (C) which is given in equation (3) 16 is calculated by
summing up the capacity of all VMs in that particular PM.

Best services for writing your paper according to Trustpilot

Premium Partner
From $18.00 per page
4,8 / 5
Writers Experience
Recommended Service
From $13.90 per page
4,6 / 5
Writers Experience
From $20.00 per page
4,5 / 5
Writers Experience
* All Partners were chosen among 50+ writing services by our Customer Satisfaction Team




Load on a single VM is estimated using equation (4) considering
the number of tasks on the service queue N(T) and sum of length of all the
tasks running in  whereas the load on a PM is calculated as
given in equation (5). Processing time of a VM and a PM are given in equations (6)
and (7) 15 respectively.





Based on the values of the above parameters the scout bee checks
whether the host is in a balanced state or not. This is done by calculating the
standard deviation of the load using equation (8)



Each task associated with a priority is submitted to any VM in
the PM. Whenever a task is submitted, it is essential to find whether a VM is
in a balanced state or not by comparing the calculated standard deviation value
with a threshold set Ts 0-1.  If is
within the limit of Ts, then the system is said to be in a balanced state.
Otherwise, the load balancing algorithm should be triggered to balance the load
among the VMs. The threshold value is set by experimenting with all the values
from 0 to 1 and as per the simulation results, the value 0.2 leads to a
balanced state. Hence, it is found that if , then the system is said to be in an unbalanced state.

Preemptive Scheduling with Honey Bee Foraging

Figure 1 depicts the working process of the proposed PSHBF
algorithm. According to the proposed algorithm, load balancing is done by
removing tasks from overloaded VMs and scheduling them to the underloaded VMs.
Here task scheduling is done on a preemptive manner by considering the priority
of tasks during preemption. Three classes of priority namely high, medium, and
low are considered. While removing a task from an overloaded VM, both priority
and remaining completion time of that task are taken into consideration in
order to reduce the makespan and the response time of the task. Following two
possibilities are identified during preemption:

Considering high priority tasks for preemption

Exempting high priority tasks for preemption

The reason for identifying the second possibility is that if
a high priority task under execution is preempted, it will have a greater
impact on user satisfaction and response time of that task which ultimately
will result in failure to achieve QoS on the providers’ side. As a result the
provider may be under the risk of SLA violation. Tasks are preempted based on
the load on the VMs. Hence, the VMs are grouped under three classes such as
overloaded VM group (OVM), balanced VM group (BVM), and underloaded VM group
(UVM). This grouping is done based on the upper and lower limits (0.7 and 0.3 respectively)
on the load as given in equation (9) and will be useful in finding VMs that are
overloaded () and those that are underutilized (). After grouping, load on VMs in the OVM group and those in
the UVM group should be balanced by removing tasks from VMs of OVM group and
scheduling them to suitable VMs of the UVM group.

Figure 1. Flowchart for the proposed system


Tasks removed from an overloaded VM are considered as scout bees,
tasks waiting in the queue as onlooker bees and those executing in the VM as
employed bees. VMs in the UVM group are considered as the food sources.