Information Technology Reference
In-Depth Information
finishing criterion is met. The completion criterion is equal to a predefined number of
steps ( maxSteps ). Finally, the ant delivers its VM to the current host and finishes its
task. Since each step performed by an ant involves moving through the intra-datacenter
network, we have added a control to minimize the number of steps that an ant performs:
every time an ant visits a host that has not allocated VMs yet, the ant allocates its as-
sociated VM to it directly without performing further steps. Every time an ant sends a
message through the intra-datacenter network to obtain information regarding the avail-
ability of the hosts from the selected datacenter latencies are produced. The smaller the
number messages sent to the hosts through the network, the smaller the impact of the
latencies in the response time given to the user.
Every time an ant visits a host, it updates the host load information table with the
information of other hosts in the datacenter, but at the same time the ant collects the
information already provided by the table of that host, if any. The load information
table acts as a pheromone trail that an ant leaves while it is moving, to guide other ants
to choose better paths rather than wandering randomly in the Cloud. Entries of each
local table are the hosts that ants have visited on their way to deliver their VMs together
with their load information.
Scheduler Based on Particle Swarm Optimization. In this algorithm, each particle
works independently and represents a VM looking for the best host -in the selected
datacenter at the broker level- to which it can be allocated. Following the analogy from
the example of bees in Subsection 2.2, each VM is considered a bee and each host
represent locations in the field with di
erent density of flowers. When a VM is created,
a particle is initialized in a random host, i.e., in a random place in the field. The density
of flowers of each host is determined by its load.
This definition helps to search in the load search space -in the field of flowers- and
try to minimize the load. The smaller the load on a host, the better the flower con-
centration. This means that the host has more available resources to allocate a VM. In
the algorithm (see Algorithm 2), every time a user requires a VM, a particle is initial-
ized in a random host of the selected datacenter (getInitialHost()). Each particle in
the search space takes a position according to the load of the host in which is initialized
through the calculateTotalLoad(hostId) method. Load refers to the total CPU uti-
lization within a host and is calculated as well as ACO. The neighborhood of each par-
ticle is composed by the remaining hosts in a datacenter excluding the one in which the
particle is initialized. The neighborhood of that particle is obtained through getNeigh-
bors(hostId,neighborSize). Each one of the neighbors -hosts- that compose the
neighborhood are selected randomly. Moreover, the size of the particle neighborhood is
a parameter defined by the user.
In each iteration of the algorithm, the particle moves to the neighbors of its current
host in search of a host with a lower load. The velocity of each particle is defined by
the load di
ff
erence between the host to which the particle has been previously assigned
with respect to its other neighboring hosts. If any of the hosts in the neighborhood has
a lower load than the original host, then the particle is moved to the neighbor host with
a greater velocity. Taking into account that the particles move through hosts of their
neighborhood into a datacenter in search of a host with the lower load, the algorithm
ff
 
Search WWH ::




Custom Search