Vous êtes sur la page 1sur 5

Proceedings of IEEE CCIS2011

A LOAD-ADAPATIVE CLOUD RESOURCE


SCHEDULING MODEL BASED ON ANT COLONY
ALGORITHM
Xin Lu, Zilong Gu
School of Information and Software Engineering,
University of Electronic Science and Technology of China, ChengDu, China
luxinmail@uestc.edu.cn,guzilong123456@163.com

Dynamic scheduling cloud resources according to


the change of the load are key to improve cloud
computing on-demand service capabilities. This
paper proposes a load-adaptive cloud resource
scheduling model based on ant colony algorithm.
By real-time monitoring virtual machine of
performance parameters, once judging overload, it
schedules fast cloud resources using ant colony
algorithm to bear some load on the load-free node.
So that it can meet changing load requirements. By
analyzing an example result , the model can meet
the goals and requirements of self-adaptive cloud
resources scheduling and improve the efficiency of
the resource utilization.

high QoS parameters and the fairness of bandwidth


in the IP network. According to load parameters
of real-time traffic , it selects the appropriate cycle
and forward real-time traffic. Hence the delay
will be control in the required range and the jitter
will be reduced. It also improves the non-real-time
traffic forwarding performance at the common
time. Now, in the filed of cloud computing
literature[4][5] have presented the dynamic
resource scheduling idea, but did not give a
solution that can be implemented. This paper
references literature[6] that proposed the basic
framework of load adaptive thinking in the
database system, and studies adaptive strategies of
dynamic cloud resources scheduling to satisfy the
uncertain load application needs.

Keywords: cloud computing; ant colony algorithm;


adaptive load

2 The problem of load-adaptive cloud


resource scheduling

1 Introduction

Load-adaptive cloud resource scheduling denotes


in the cloud computing environment, how to
monitor the changing load and adaptive dynamic
schedule cloud resources to solve the uncertain
load capacity of the cloud platform. The problem
of cloud resource scheduling can be shown in
Figure 1. The CCi node field can be treated as an
undirected graph G (V, E), where V is the CCi
nodes and E is a collection of connected nodes in
the network. CCi is the cluster controller node of
the application server cluster. The number of NCi
physical machines is m in each CCi node .Each
physical machine can make K virtual machines
that can be shown with Vi (i= 1 .. K).

Abstract

Cloud computing is a calculation mode that can


provide dynamic flexibility, on-demand services,
virtualized resources[1]. For specific applications,
the cloud service system for the client applications
still need pre-allocate the fixed cloud resources.
Since the applying for cloud services of client
applications is random and the load is also difficult
to predict, stationary parts in the cloud scheduling
are difficult to solve the problem that some nodes
would overload during this progress. Thus,
according to the load changing of cloud
applications, Allocating the dynamic resource selfadaptively is meaningful.

In the cloud service platform, all the applications


would be scheduled to Vi node to run. When the
load of applications suddenly increases, some
performance parameters of some of the Vi node
may exceed the specified threshold and cause the
overloaded problems. Scheduling mechanism of
cloud services platform needs to solve two key
issues: 1) How to detect overloaded Vi nodes in a
real-time environment. 2) Which scheduling
strategy should be use to make a new Vi node

Dynamic resource scheduling is one of the issues


to be solved in a lot of technical fields. For
example, in the field of the database, Brown et al
[2] studied self-management of target-oriented
disk cache , self-management of resource, memory
management And in the communications field,
Xue Qiang et al [3] proposed a load-adaptive time
slot PQ (priority queue) algorithm to solve the
conflict of the real-time traffic that encountered the
___________________________________
978-1-61284-204-2/11/$26.00 2011 IEEE



bears some load and all nodes are load balancing


on the platform.

3.1 Hot spot detection


To determine whether Vi is a hot spot, there are
three criteria, that are CPU usage, memory and
network bandwidth, which are shown as
cpu_rou(vi), ram_rou(vi) and bandwidth(vi).
Specific criteria is shown as the following formula
1.

el

bl

cp u _ ro u ( v i ) > cl
ra m _ ro u ( v i ) >
b a n d w id th ( v i ) <

cl, el and bl indicate respectively the boundary


conditions of CPU usage, memory and network
bandwidth that is specified threshold. So long as
one of three conditions establish, the node is likely
to become a hot spot.

Figure 1 Topologyof cloud computing


environment

In Figure 1, each NCi node controller uses the


heartbeat detection mode and collects real-time
the value of cpu_rou(vi), ram_rou(vi) and
bandwidth(vi) of each Vi node. In order to avoid
the situation of wasting resources by the temporary
hot spots, the formula must be workable in a
certain time. A hot spot would be confirmed at
least k times out of n times in the most recent
observations and finally identified as the hot spot.
The selection of values of n and k determines to
adopt a positive or a conservative strategy.
Taking a positive strategy implies that if the value
of n is given, the value of smaller k means that one
can be recognized as a hot spot in short period of
time. Otherwise, a conservative strategy is that one
will be identified as hot spots in a longer time. To
adopt positive or a conservative strategy will be
based on the actual situation.

3 Load-adaptive cloud resource


scheduling model
In order to solve the problem of load adaptive
resource scheduling. This paper proposes the
following adaptive cloud resource scheduling
model. It is shown as Figure 2:

3.2 Cloud resource scheduling strategy based on


ant colony algorithm
Once a hot spot is found, the key issue of the
adaptive cloud resource scheduling model is to
adopt proper scheduling strategy and to quickly
schedule the cloud resources to share the load.

Figure 2 Load-adaptive cloud resource scheduling


model
When a user makes a request, it reaches the cloud
services platform controller at first. The controller
then maps the request goes to a specific virtual
application server, which is Vi node on the map.
Each application server cluster has a cluster
controller, which monitors whether real-time CPU
usage, memory and network bandwidth of Vi node
in virtual resource pool is exceeding the prescribed
threshold. If exceeding, it finds hot spots and
immediately schedule cloud resources in the
cluster, then start the virtual machine on which to
accept some of the requests. Thus it would make
the performance parameters of hot spot return to
normal levels. This model needs to solve the
problems of hot spot detection and adaptive
scheduling strategy.

Ant colony algorithm is a bionic simulation


algorithm came from a way of ant patrolling the
tracks in the nature. Ants could leave a substance
called pheromone in the path during the campaign.
The other ants in the cluster can sense this kind of
bio-material, and choose the right direction. Ant
colony was formed by the large number of
collective behavior and this would show a positive
feedback phenomenon of information: One path
which was passed by more ants would later be
chosen by the following one with a greater
probability.
The way of scheduling cloud resource in this paper
is based on ant colony algorithm, because ant



colony algorithm uses of the positive feedback


principle, and can speed up the evolutionary
process in a certain extent, and can realize parallel
processing.

according to the principle that with more nodes


pheromone comes the more probabilities and with
less nodes pheromone comes the less probabilities.
The rule of next hoop as follow, in the initial state,
each node holds the same intensity level of
pheromone in the network structure. At d moment,
ants in i node calculate which is the next hop node
following with the formula 4.

In the cloud resource locating, each search process


produces a forward ant. It selects the next hop
node by choosing from the highest pheromone
nodes and updates the pheromone then put itself to
avoidance set. If this node meets the requirements,
then it stops the search. Otherwise it continues to
repeat the process until find qualified node or all
nodes are put in the avoidance set. This strategy
makes the following search process converge to
the free node resources quickly, and achieve the
goal of quick finding.

j = m ax n a vids ( k ) {

At d moments,

in ( d )

res ( cc n )( d )

ij is the pheromone intensity of

the node j which ants observe in the i node.


a d v id s ( k ) is the avoidance list of Kth ant in i
node. , are the values of the relative weight of
the pheromone and computing capability, where
res(ccn) = min{res (nci)}.

After finding out the spare node, starting a new


virtual machine and bearing some part load of the
hot spots will make the performance parameters of
the hot spots return to normal levels and achieve
the purpose of adaptive load.

In order to promptly reflect the changes of


pheromone, the local update strategy is used to
modify the intensity of pheromone on the nodes.
All CCi nodes of non-zero pheromone update over
time as follow Equation 5.

3.3 Scheduling algorithm

ij (t + 1) = * ij (t )

The idea of the cloud resource scheduling strategy


is described in the previous section. The specific
algorithm of cloud resource scheduling based on
ant colony algorithm will be given in this section.
When NCi node probe to its Vi node that has been
identified as hot spot, it will inform its CCi node
and CCi node will send a message to broadcast all
of its subordinate NCi nodes. Each NCi node
calculates the remaining amount of its own
resources according to the formula 2. And then the
results returns to CCi node.
A*cpu _ rou(nci ) + B*ram_ rou(nci )
res(nci ) =

C*bandwidth(nci )
res(nci) is the resource selection constraint
function and A, B, C is the weight of the three
constraints. CCi node gets all results of NCi nodes
that return and select the minimum value of the res
(nci) of the NCi nodes and this node meets
Equation 3.

res (nci ) < G
G is specified value of the remaining amount of
resources, if res (nci) of this node satisfy Equation
3, the node is identified as a target resource. If not ,
the CCi node cluster did not meet the idle node
resources. And other CCi nodes cluster is needed
to be searched.

If the node in this update of the waiting period was


determined to be idle node resource node, it is
updated as follow Equation 6.
ij (t + 1) = * ij (t ) + (1 ) D

res(cc j )

Constant is the residual coefficient of


pheromone. ( t + 1 ) is the pheromone intensity
ij

on j node from i node .when this value is less than


a small value of m, ij sets zero.
In order to enable faster convergence of the ant to
the path which has the right resources in it, the
pheromone intensity is expand according to its
resource constraint function res (cci),In which D is
expansion coefficient.
Above the scheduling algorithm described can be
shown in Figure 3.

When search begins, the CCi node sends a


message to around its CCi nodes. CCi nodes that
receive messages repeat the previous procedure to
find spare node resources. If a node can be found,
it is the idle nodes resources. If not, these messages
will play the role of the ants in ant colony
algorithm. All the ants select the next hop node

Figure 3 The process of scheduling algorithm



Each NCi node in the cluster in which hot spots has


been confirmed calculates the value of res (nci)
function according to the formula 2. CCi node gets
result and selects the smallest value of res (nci)
function. If it meets the formula 3, the node of the
res (nci) function is the node to find idle resources.
If not, then no free resources are meeting the
conditions, and other clusters should be searched.
Searching around the cluster of this CCi node with
the same process depicted above. End of the
searching progress comes with the successful
finding of idle node resource. Otherwise, judging
whether the surrounding nodes are in avoidance set
is required .If it is, then all search job in the
clusters have been completed and no suitable idle
resources can be found. If not, calculating the next
hop according to the formula 3 and putting this
node in avoidance set is needed. Then updating the
value of pheromone and searching the idle node
resources around the modes of this node is
followed in the same progress discussed above.

Figure 4 CPU usage

A new virtual machine is started in the idle nodes,


finds the image of hot spot from the image storage
server, and then deploys it in the new virtual
machine. Cluster controller assigned IP address to
it. At last it modifies configuration file of the load
balancing server on the hot spot and adds the new
IP to this configuration file, i.e., a new application
server joins under this load balancing server to
share the system requests. So the load of hot spot
will be lightened, and its value of CPU usage,
memory,
network bandwidth and other
performance parameters will restore to normal
level, i.e., to eliminate hot spots.

Figure 5 The number of request


Figure 4 shows that when the stress testing began,
the CPU usage of virtual machine A1 drastically
increased. The CPU usage was over 60% and
lasted for five minutes. The reason was that
calculating CPU usage had an interval of 1 minute,
and 3 consecutive times judgment of CPU usage
exceeding the threshold was needed to decide the
overload of the virtual machine. Then the other
virtual machines was started to share the load. At
10:30, the value of CPU usage started to decline
for a new virtual machine had been started to bear
some requests. As can be seen from Figure 5, 1200
requests per 30 seconds lasted for 4 minutes. At
10:35, the number of requests dropped to about
700. CPU usage had restored to below 60%, i.e., to
eliminate hot spots. The results showed that
adoptive cloud resource scheduling solution is
feasible.

4 Simulation experiment
There were four pc machines in the test. A client, a
cluster management node and two nodes were used.
A small server cluster was built to test. The Last
three pc machine would be placed in the same
LAN. Installing load adaptive cloud resources
scheduler and HTTP proxy On the cluster
management node was followed. Using A thirdparty tools of Xen in the node created two new
virtual machine A1 and A2. Deploying and
running web system and the probe monitoring tool
In the A1 was next. Cluster management machine
used Jmeter for stress testing. The test plan set 200
requests per second. Checking out the probe's chart
of CPU usage and the number of requests after
taking test for five minutes was needed. The results
are shown in Figure 4 and Figure 5.

5 Conclusions
By monitoring performance parameters of virtual
machines in real time, the overloaded is easily
detected once these parameters exceeded the
threshold. Quickly finding the nearest idle node by
the ant colony algorithm from the resources and
starting the virtual machine can bears part of the
load and meets these performance and resource
requirements of the load. This realizes the load
adaptive dynamic resource scheduling in the cloud
services platform and achieves the goal of load
balancing.



References
[1] Michal Armbrust, Armando Fox,and Rean
Griffith,et al. Above the Clouds:A Berkeley
View of Cloud Cpmputing,mimeo,UC
Berkeley,RAD Laboratory,2009,vol.12:67-98
[2] W K.P.BrownM.MehtaM.J.Careyete
To wards Automated Per formanee Thning
For ComPlex Wrkl Proceedings of the 20th
Very Urge DataBase Conferenee
SantiagOChile1994PP162-167
[3] Qiang xueGuang zhao zhang. Carrier-class
QoS PQ load adaptive algorithm for time slot.
communications.2008,vol.29:220-281
[4] RochwergerBreitgandLevyGalis K
NaginI Llorente,Montero ,Wolfsthal
ElmrotCaceres,Ben-Yehuda,Emmerich.The
RESERVOIR Model and Architecture for
Open Federated Cloud Computing. IEEE
Computer Society Press,2009,vol.20:115-187
[5] Brian,Copper.Building
a
Could
for
Yahoo .Data Engineering,2009,vol.25:87-103
[6] Niu B, Martin P, Powley W, et al. Workload
Adaptation
in
Autonomic
DBMSs.
Proceedings of CASCON 2006, Toronto,
Canada, Oct. 16-19,2006:161-173



Vous aimerez peut-être aussi