Vous êtes sur la page 1sur 5

Proceedings of IEEE CCIS2012

MULTI-OBJECTIVE PARTICLE SWARM


OPTIMIZATION FOR RESOURCE ALLOCATION IN
CLOUD COMPUTING
Mingyue Feng1, Xiao Wang1, Yongjin Zhang1, Jianshi Li1
Department of Automation Engineering,
Military Transportation University, TianJin 300161, China
fmy1980@yahoo.cn, zidan001@163.com, zhangyongjin@126.com, Li880125@126.com
Abstract: Cloud computing is now a hot topic of
research that is assumed as the third revolution of IT
after computer technology and the internet. In cloud
computing field, a service-provider offers large number
of resources like computing units, storage space and
software etc for customers with a relatively low cost. As
the number of customer increases, fulfilling their
requirements may become an important yet intractable
matter. Resource allocation is therefore a primary issue
considered restriction in resource amount that could be
afforded by a company. The problem of resource
allocation in cloud computing is thought to be a
combinatorial optimization problem to a large company
for numbers of their customers and owned resources
could be huge enough. A particle swarm optimization
algorithm is designed for this problem. The algorithm
aims at finding out a desired task scheduler on resources
based on multiple considerations including total task
executing time, resource reservation, and QOS of each
task. Pareto-domination mechanism is introduced into
the algorithm helping searching multi-objective optimal
solutions. Experimental results verify effectiveness and
efficiency of the presented algorithm.

In viewpoints of service providers, satisfying resource


requirements from their customers is the most crucial
task, while making full use of their available resources
is another important issue they should consider. As the
number of customer increases, demanded resource
amount may be very large, and satisfying these demands
by currently available resources may be a challenging
task, and suitable resource allocating methods may be
competent to deal with the task.
Resource allocation strategy has gain much attention
since cloud computing emerged, and many researchers
have designed relative methods based on Virtual
Machine, heuristic method, algorithms from artificial
intelligent etc. Mario Macias assumed this problem as a
competing process between Client applications and
service providers in deciding the price of the rented
resource, and strived to establish a service level
agreement between the two by negotiation[1]. The
genetic algorithm was introduced in his article, in which
a naive pricing function evolves to a pricing function
was designed to generate suitable prices in function.
Arash Ghorbannia Delavar also adopted genetic
algorithm to solve the NP-hard problem task scheduling
in cloud environment[2]. Many objectives have been
considered in finding out an ideal solution, say resource
load balancing, quality of service as well as total
makespan. Dynamic events like new task entering were
considered in his resource allocation framework. Ant
colony optimization is other broadly used method for
this matter[3]~[5]. Ratan Mishra standed on the viewpoint
of load balancing in cloud computing which is another
form of resource allocation, aiming at distributing CPU
load, memory capacity, delay or network load and other
resources to customers [3] . Soumya Banerjee designed a
modified ant colony framework for diversified service
allocation and scheduling mechanism in cloud
environment, the objective of which is to minimize the
scheduling throughput to service all the diversified
requests[4]. Particle Swarm Optimization(PSO) is also
used extensively in scheduling problems for its
capability in optimal solution finding[6]~[8]. Suraj Pandey
designed a heuristic method based on PSO for task
scheduling in cloud computation, taking into account
both computation cost and data transmission cost as the
main objective[6]. A new algorithm called Bees Life
Algorithm inspired by PSO was presented for job
scheduling in cloud computing in [9].

Keywords: cloud computing; resource allocation,


particle swarm optimization, pareto-dominate

1 Introduction
Cloud computing is a new concept firstly presented in
2007 by projects from Amazon EC2 and Google-IBM.
However, it has been regarded as a revolutionary
mechanism in multiple fields such as commerce,
industry, enterprises at al. The concept of cloud
computing originated from the fact that many
companies and enterprises may suffer from lacking of
enough resources for the heavy cost reason as their scale
increasing fast. Then a middle company that can
provide required software or hardware resources for
those entities with acceptable renting cost would be
more preferred for them than buying resources
themselves. In cloud computing, resources including
computing unit, storage space and software etc are
provided to customers by the same way like electricity
and internet information. Customers need not to care for
where the resources are, and they can execute upper
layer developments based on obtained resource services.
___________________________________
978-1-4673-1857-0/12/$31.00 2012 IEEE



Proceedings of IEEE CCIS2012

Most current researches focused on resource allocation


in cloud computing with a single objective. However, in
real cases, more than one factor should be considered
when scheduling tasks such as total task executing time,
resource reservation, and QOS of each task. In this
paper, we design multiple objectives based on the upper
factors and design a PSO based multi-objective resource
allocation algorithm for cloud computing.

software the task needs. Otherwise, the scheduler is


thought to be invalid.

2 Resource allocation problem description


for cloud computing

(3) Sub-task executing sequence constraint. A task is


assumed completed by two criteria. On the one hand, all
its sub-tasks must be assigned to certain VR to be
executed. On the other hand, the sequence of executed
sub-tasks should be kept with the same when the task
was divided. The task is thought to be failing being
scheduled even just one sub-task missed its position in
the order of the task.

(2) Resource number limitation. Total resource


occupancy amount of a VR by all sub-tasks assigned to
this VR should not exceed the number of resource it
owned. That is to say, computational resource and
storage space usage by tasks of a VR should keep within
the scale it can afford.

In a typical cloud computing environment, a service


provider supplies a number of resources to many
customers. To give service to a certain customer, more
than one type of resource may be needed simultaneously.
Take a large-scaled program as example, a computing
unit, enough storage space and relative necessary
software as well as hardware are indispensable. We can
discriminate customers by there unlike requirements.
The concept of virtual resource is usually used in cloud
computing, which represents a set of actual resources
with different type and could provide an integrated
service to a customer altogether.

(4) Time constraint. A task should be executed on


certain resources between an assigned time interval, and
all its sub-tasks should be completed between the
beginning and finishing time of the interval.
Many factors are to be regarded in scheduling all tasks
by the service-provider. Here we consider the objectives
from following viewpoints:

Denote a virtual resource as VR, then we formulate VR


as follows:

VR : {CPr , SRr , SWr , Cor }

(1) Total task executing time, also noted as total


timespan. For the service-provider, pursuing of
efficiency is always the first thing. To maximize the
resource profit, the most obvious way is to reduce
resource occupying time and to provide them to as more
customers as possible. To stand on the scheduling
period viewpoint, during each scheduler, shortening the
total scheduling time is the corresponding way to
pursuit efficiency.

(1)

CPr and SRr represent numbers of computational


resource and storage space respectively, SWr is a set of
software VR can provide, and COr is the cost of VR in a
time unit.
Many tasks from customers may be too huge to
implement on just one VR, and an ordinarily used
method is to divide those tasks into many sub-tasks
which can be executed on a VR.

(2) QOS of each task. Meeting with requirements from


customers is another important consideration of the
service-provider. In limited resource case, total served
customer number is emphasized. If available resources
can afford all task requirements, then QOS of completed
tasks becomes the most important issue. In this paper,
QOS of a task is measured by being executed inside
preferred time interval of the task.

Corresponding to VR, a sub-task ST from a customer is


formulated as follows:

ST : {CPt , SRt , SWt }

(2)

The three parameters of ST are numbers of requirements


on computational resource, storage space and demanded
type of software respectively.

(3) Total cost. Resource cost is also an important


consideration for the service-provider, which may
influence the profit of the company largely. As each VR
has a cost number in one time unit(Or), the total cost of
this VR could be calculated by summing up all task
executing costs assigned to it. And then the total cost of
the scheduler can be counted with all resource costs.

Then a single task T is illustrated as:

T : {ST1 , ST2 ,..., STnT }

(3)

nT in above formula represents the number of sub-tasks


of the task.

3 Resource allocation mechanism based on


multi-objective particle swarm optimization

Assume there are N tasks and M VRs, then the resource


allocation task is to schedule all sub-tasks of these tasks
on those VRs. Many constraints should be met in the
scheduling process:

3.1 Standard particle swarm optimization


PSO method is inspired by an ordinary phenomenon in
animal world as a group of birds flying out finding
foods. While searching for the position of foods, an
individual flies under direction not only from its own

(1) Software matching constraint. A task together with


its all sub-tasks should be assigned with a VR owning a



Proceedings of IEEE CCIS2012

experience but also from guidance from other partners,


especially the ones that are near to the foods. In PSO, a
bird is imitated by a particle, and the bird group is
regarded to be a particle swarm. A particle is encoded
by a way that enables it representing a task scheduler.
The main ideal of PSO is to find out a best scheduler
from all particles after they have evaluated by a certain
times. In [10], we presented the evolving formula for
each particle as follows:

3.3 Multi-objective particle swarm optimization


for problem solving
(1) Particle encoding
In this paper, we encode a particle by a two-dimensional
N

vector with length of

T 1

number of all sub-tasks . From the starting position to


the ending position of a particle, every two positions
make up a pair meaning ID of allocated resource for the
sub-task on this position as well as the sequence number
of the sub-task on the resource respectively. For
example, a particle below represents two tasks assigned
with two resources. Each task is divided into three subtasks. From the front four values on the particle, we can
infer that the first sub-task of the first task is assigned
with the second resource and will be executed firstly,
and the second sub-task of the first task is assigned with
the first resource and will be executed at the second
order.

vi (t 1)  wvi (t )  c1r ( pbi (t )  xi (t ) )  c2 R( gb(t )  xi (t ) )


(4)
 (t 1)
(t )
( t 1)
 xi  xi  vi
vi(t) and xi(t) represent speed and position of particle i in
the tth iteration respectively. pbi(t) and gbi(t) are the global
best of the swarm and the personal best of particle i
respectively. r and R are random values in [0,1], and
w,c1 and c2 are weight parameters.

3.2 Pareto-dominate theory for multi-objective


optimization problem
While considering more than one objective, there may
not exist one scheduler that is the optimal one in the
sense that it outperforms all other ones by all objectives.
Instead, there may exist two scheduler that one precedes
another by some objectives while the other is better by
the remained objectives. Then it is hard to decide which
is better.

{2,1,1, 2,1,3,1,1, 2, 2, 2,3}


When decoding, sub-tasks sequence executed on a
certain resource is extracted from the particle, each subtask being assigned with an earliest time considering
executing time of its previous sub-tasks on the resource
as well as neighbored sub-tasks from its parent task.
(2) Modification of particle evolving formula

Pareto-dominate theory is a mechanism to make


comparison among schedulers with more than one
objective. Some concepts are used for the comparing
task. Denote Si as the ith scheduler generated by PSO in
one iteration, O i1~O i3 as values calculated for Si by the
three objectives introduced in the upper section, and
assume that every objective are expected to be as low as
possible. Then following concepts are introduced:

Formula (4) is suitable for consecutive variable


optimization problems in nature. In this paper we
encode a scheduler to be with integer numbers, so some
modification should be made to suit for this encoding
mode.
To make simplification, after calculation using (4), we
assign every real number on the particle to be its most
adjacent integer value. As reachable value on each
position is restricted within a certain scope, calculation
by formula(4) may break this restriction, here we adopt
the circle-valuing mechanism to overcome this problem.
In the mechanism, a calculated value exceeding its
higher value limitation is decreased by the highest value
many times until it falls into the allowed valuing scope.

Pareto-dominate: Si is regarded Pareto-dominate Sj if


all objective values of Si are not higher than that of Sj
and at least one objective value of Si is lower than that
of Sj :

Si

2  nT , double length of the

S j Oiki
O jk (k  1, 2,3) & k st.Oik O jk (5)

Pareto-dominated: Si is regarded Pareto-dominated by


Sj if S j Si .

(3) Flow chat of multi-objective PSO

Pareto-Optimal: Si is called pareto-optimal is it is not


Pareto-dominated by any other schedulers.

Step(1). Assign t=0 as the first iteration. Initialize all K

In PSO evolving process, Pareto-Optimal schedulers are


picked up for they could be regarded as optimal in the
sense there dose not exist a scheduler that is better than
it by all objectives. At the same time, all other
schedulers beyond the set of Pareto-Optimal schedulers
are not optimal for there definitely exist at least one
Pareto-Optimal scheduler that Pareto-dominate it.

Step(2). Evolving every particle in S set by formula (4)

particles in the swarm S set using the Greedy Algorithm;


t

and the integer process mentioned above to generate K


new particles. Compound together the 2 K particles
to form a new temporary swarm T set.
Step(3). Pick up Pareto-Optimal particles from Tset to
form the Pareto-Optimal set POset with its member
number noted as Npo. If N po K ,go to step(4),

By this theory, the set of Pareto-Optimal schedulers can


be selected as a scheduling outcome provided to the
decide-maker.

otherwise go to Step (5).



Proceedings of IEEE CCIS2012

Step(4). Select K  N po non-Pareto-Optimal particles

A1 is regarded better than A2 if PA1,A2 is larger than 1,


and the larger PA1,A2 is, A1 outperforms A2 more.

to join with all particles from set PO set to form the


t 1

swarm in the next iteration S set .

4.2 Experimental results

Step(5). Randomly select K particles from POset to form

A number of experiments are carried out on the three


types of test instances, averages of metric are calculated
with outcomes shown in table1-3.

t 1

the swarm in the next iteration S set .

Table 1 Comparison of three algorithms in SSI

Step(6). Judge whether the terminating condition of the


algorithm is satisfied or not. Go to Step (7) if the
condition is not satisfied, and go to Step (8) otherwise.

algorithm
GM
MOGA
MOPSO

Step(7). Assigned t=t+1. Go back to Step2.


Step(8). The algorithm ends up and return current
Pareto-Optimal set POset as the final schedulers to
decision-maker to make further decision.

algorithm
GM
MOGA
MOPSO

4.1 Performance metric

N A2, A1 

a2 | a2  A2 & a1  A1 , st.a1


A2

a1 | a1  A1 & a2  A2 , st.a2


A1

a2 

MOPSO
0.1833
0.9116
1

(2) In most cases, MOPSO outperforms MOGA except


situations in small-scaled scenarios where MOPSO may
be a little weak in finding out optimal schedulers. As the
scale of the cloud computing environment increases,
MOPSO exceeds MOGA regularly in capability in
finding Pareto-Optimal solutions of the problem in
nature. In instances with the largest scale we have
selected, the metric value comparing MOGA to
MOPSO has fallen to less than 0.9, a moderately high
differential between the two. The reason for
performance enhancing of MOPSO compared with
MOGA in large-scaled scenarios comes from the
capability of MOSPO in searching for global optimal in
the whole solution space, which is a restriction for a
genetic algorithm for its drawback in easily being
premature into a local optimal space.

(6)

a2 

MOGA
0.2209
1
-

(1) GM can hardly rival with MOGA and MPOSO in


most experiments of the three instance types, and the
gap between it and the other algorithms is considerably
large. This can also verify capability of combinatorial
optimization algorithms compared with rule-based
simple methods.

Unlike resource allocation problems with a single


objective, it is more difficult to compare outcomes of
two algorithms for multi-objective optimizing matters.
Here we design a metric PA1,A2 based on Paretodominate theory for comparison. Consider two solution
sets S1 and S2 from algorithms A1 and A2, PA1,A2 is
calculated as follows:

N A1, A2 

GM
1
-

algorithm
GM
MOGA
MOPSO
1
0.1867
0.1740
GM
1
0.8995
MOGA
1
MOPSO
From the three tables above, we can draw the following
conclusions:

Two other relatively mature algorithms are carried on


for comparison with MOPSO. The one is a Greedy
Method in which sub-tasks are lined up first and each
sub-task takes up its most favored resource remained for
executing in order until all sub-tasks are scheduled. The
other is MOGA which is a classical algorithm based on
genetic algorithm for optimizing problems with multiple
objectives.

N A1, A2

MOPSO
0.2339
1.0030
1

Table 3 Comparison of three algorithms in LSI

We carry out many experiments to test performance of


MOPSO presented in this paper. Many factors can
influence outcomes of an algorithm, among which the
scale of the scheduling problem is a key issue. We
develop test instances with different scales, which are
classified to be small-scaled instances, middle-scaled
instances and large-scaled ones. The three types of test
instances are denoted as SSI, MSI, LSI as abbreviations
respectively. The number of all sub-tasks and VRs
amount are assigned (20, 5), (50, 15), and (100, 30)
respectively corresponding with the three instance types.

N A2, A1

MOGA
0.2172
1
-

Table 2 Comparison of three algorithms in MSI

4 Numerical results

PA1, A 2 

GM
1
-

5 Conclusions

(7)

This paper concerns on a newly emerged yet important


issue in cloud computing, say resource allocation matter.
To classify this problem to be a combinatorial
optimization problem, we present an algorithm based
PSO considering three independent objectives. In the
algorithm, a particle encoding mechanism is designed
based on traits of task scheduling in an cloud computing

(8)



Proceedings of IEEE CCIS2012


[4]

Soumya Banerjee, Indrajit Mukherjee, P.K. Mahanti.


Cloud Computing Initiative using Modified Ant Colony
Framework. World Academy of Science, Engineering
and Technology, 2009, pp.221-224.
[5] K. Mukherjee, G.Sahoo. Performance Analysis of Cloud
Computing using Multistage Ant System. International
Journal of Computer Applications, Volume 1, No.20,
2010, pp.70-74.
[6] Suraj Pandey, LinlinWu, Siddeswara Mayura Guru, et al.
A Particle Swarm Optimization-based Heuristic for
Scheduling Workflow Applications in Cloud Computing
Environments. Technical Report, The University of
Melbourne, Australia, 2009.
[7] Zhangjun Wu, Zhiwei Ni, Lichuan Gu, et al. A Revised
Discrete Particle Swarm Optimization for Cloud
Workflow Scheduling. In Proceedings of 2010
International Conference on Computational Intelligence
and Security, 2010, pp.184-188.
[8] Ganggang XU, Liping YU, Jianli GUO. Application of
Optimization Algorithm on Cloud Adaptive Gradient
Particle Swarm Optimization in Optimal Reactive Power.
Journal of Computational Information Systems, Volume
7, No.13, 2011, pp.4931-4938.
[9] Salim Bitam. Bees Life Algorithm for Job Scheduling in
Cloud Computing. ICCIT 2012, pp.186-191.
[10] Mingyue Feng, Xianqing Yi, Guohui Li, et al. A
Grouping Particle Swarm Optimization Algorithm for
Flexible Job Shop Scheduling Problem. IEEE PacificAsia Workshop on Computational Intelligence and
Industrial Application, 2008, pp. 332-336.

environment, and then traditional particle evolving


mechanism is modified to suit with the integer variable
optimizing problem. Pareto-dominate theory is
introduced into the algorithm to search for optimal
schedulers in the multi-objective optimizing matter.
Experiment results verify efficiency and effectiveness of
the presented algorithm. Further works will focus on the
problem of resource allocation in cloud computing
including more complex tasks and resources.

Acknowledgements
The authors gratefully acknowledge Chinese Natural
Science Committee for funding the project relative with
contents in this paper (project codes: 91120306 and
51175290).

References
[1]

[2]

[3]

Mario Macias, Jordi Guitart. A genetic model for pricing


in cloud computing markets. In Proceedings of the 26th
Symposium on Applied Computing, 2011, pp.113-118
Arash Ghorbannia Delavar, Yalda Aryan. A Synthetic
Heuristic Algorithm for Independent Task Scheduling in
Cloud Systems. IJCSI International Journal of Computer
Science Issues, Vol. 8, No 2, 2011, pp.289-295.
Ratan Mishra, Anant Jaiswal. Ant colony Optimization:
A Solution of Load balancing in Cloud. International
Journal of Web & Semantic Technology (IJWesT),
Vol.3, No.2, 2012, pp.33-50.



Vous aimerez peut-être aussi