Efficient Nash Equilibrium Based Cloud Resource Allocation by

201O International Conference On Computer Design And Appliations (ICCDA 2010)
Efficient Nash Equilibrium Based Cloud Resource Allocation by Using a
Continuous Double Auction
Dawei Sun, Guiran Chang, Chuan Wang, Yu Xiong, Xingwei Wang
School of Information Science and Engineering
Northeastern University
Shenyang, P.R. China, 110004
E-mail: [email protected]@[email protected]@126.com
[email protected]
Abstract-To allocate cloud resources efficiently and obtain the
maximum economic benefit are the major goals of the cloud
resource providers and users. The objective of this paper is to
present a novel cloud resource allocation algorithm named
NECDA to overcome some of the shortcomings of the current
mechanisms. A cloud resource allocation model of m*n type
based on MlMIJ queuing system is established first. Then the
Nash equilibrium mode is applied in the cloud computing
among m*n allocation environment, the optimization objective
of each allocation is performance-QoS and economic-QoS, and
the Nash equilibrium is achieved by taking advantage of the
continuous double auction in each step, each provider agent
determines its requested value based on its workload, and each
user agent determines its bid value based on the remaining
time and resources. By simulations, we conclude that the
NECDA is more suited to cloud computing environments and
can better meet the QoS requirements of users.
Keywords-cloud computing; resource allocation; continuous
double auction; nash equilibrium; QoS
I.
INTRODUCTION
As a new computational model, cloud computing [1] [2]
[3] is a large-scale distributed computing paradigm that is
driven by economies of scale, in which a pool of abstracted,
virtualized, dynamically-scalable, and managed computing
power, storage, platforms, and services are delivered on
demand to external customers over the Internet. In
computational terms, cloud computing is a network of data
centers and is described as a powerful, low-cost, and energy­
efficient approach to future computing. From a sociological
standpoint on the other hand, in the cloud, applications are
accessible anywhere, anytime, and storage becomes infinite
for all intents and purposes. And the users can access to
powerful applications, platforms, and services delivered over
the Internet.
Resource allocation is one of the core and challenging
issue in the cloud computing system. Traditional resource
allocation is not fit to the cloud computing environments as it
differs from traditional ones in that [3] [4] [7]: (1) Broad
network access, capabilities are available over the network
and accessed through standard mechanisms that promote use
by heterogeneous thin or thick client platforms; (2) Measured
service, cloud systems automatically control and optimize
resource use by leveraging a metering capability at some
978-1-4244-7164-5/$26.00 © 2010 IEEE
level of abstraction appropriate to the type of service; (3)
Rapid elasticity, the services should be dynamically
configured (via virtualization or other approaches); (4) On­
demand self-service, a user can unilaterally provision
computing capabilities, so the allocation algorithms should
take execution cost of 'pay for use' as one key factor; and (5)
Resource pooling, the provider's computing resources are
pooled to serve multiple consumers using a multi-tenant
model, with different physical and virtual resources
dynamically assigned and reassigned according to consumer
demand, and the mean execution time should be taken as
another key factor. Today we can easily fmd many research
works on resource allocation in grid system, while the
systematic research work about resource allocation in cloud
system is litter and more works need to do done.
In this paper, considering the characteristics of cloud
computing environments, a novel heuristic cloud resource
allocation algorithm is proposed, named NECDA (Nash
Equilibrium based Continuous Double Auction), by using a
continuous double auction [5] with the feature of Nash
equilibrium [6] for a cloud computing resource allocation
mode of m*n type based on MlMI1 queuing [8] system, and
the optimization objectives of the NECDA are performance­
QoS and economic-QoS. The former aims at achieving
optimal execution performance, and the latter tries to allocate
resources according to market factors. This novel algorithm
not only more suits to cloud computing environments but
also better meets the requirements of the users in cloud
computing platform, and thus can improve the performance­
QoS and economic-QoS of the cloud system.
The remainder of this paper is organized as follows. In
section 2 we analyze the related works in cloud resource
allocation. In Section 3, a cloud computing resource
allocation model of m*n type is established. Section 4
presents the mechanism of continuous double auction with
the feature of Nash equilibrium. Section 5 describes our
NECDA algorithm in detail. Section 6 addresses the
simulation experiments and evaluation of the proposed
algorithm. Finally, conclusions are made in section 7.
II.
RELATED WORKS
Resource allocation is a hot research area both in cloud
and grid computing and plays a similar role in cloud and grid
computing environments. While there is little work on
efficient resource allocation in cloud computing, most
VI-94
Volume 1
2010 International Conference On Computer Design And Appliations (ICCDA 2010)
research works in grid computing have great reference value
and can be used in cloud computing. Yang et al. [4] gave the
two major types of workflow scheduling in cloud computing
environment: market-driven and performance-driven. Li [9]
gave a brief description of a non-preemptive priority MlOIl
queuing model for jobs in cloud computing. Malik et al. [10]
proposed a mechanism termed the Time Warp Straggler
Message Identification Protocol (TW-SMIP) to address
optimistic
synchronization and performance issues
associated with executing parallel discrete event simulation
in cloud computing environments. Cao et al. [11] gave the
disadvantages of the traditional way of task scheduling in
cloud computing and introduced an optimized algorithm for
task scheduling based on ABC (Activity Based Costing) in
cloud computing. As we can see from the above, most
research papers did not give a systematic analysis about the
resource allocation problem in cloud environments. In
addition, very few papers consider the problem about how to
achieve the Nash equilibrium and to make the social utility
maXImum.
III.
The cloud resource allocation problems we intend to
address as a game, there are n resources and m users, and
compose of an m*n type in our cloud environment, the
specific features of the resources and users are described as
follow:
Let R = {� , r; , . .. , ':,} be a resource set composed of n
resources and 1"; = {�"�" . . . , lJ ' where Ijk (0::; k::; t) is the
kth feature of the ith resource. The features of a resource set
. ..
A.xt =
[1J:i 1Jt 1
rn1
• • •
rnt
Assume the service time of each resource follows a normal
distribution
at
a
certain
service
cycle,
let
sr = { s�,sr;,...,s':,}
be the mean of the service rate of
resource set R , where
slj (0::; i::; )
n
is the service rate of
the ith resource Ij .
U={u"u,,···,um} be a user set composed of m
users, tr ={t�,tr" ... ,trm} is a task vector of a user set U ,
where trj (1::; j::; m) is the task rate of the jth user uj
Let
submitted to the cloud computing environments according to
Poisson distribution [12] and independent of the other users.
The resource allocation probability matrix IS
P:' l :: : P m
; ' where Pij
=
P"xm
Pnl ... Pnm
[
uj
1
submitting a task to resource
In order to keep resource
�
is the probability of user
�, Pij � 0 ,
and
I, Pij =1.
i=O
in the serviceability state,
m
LPij ·trj::; slj
(1)
j=O
n m
n
ij ·trj::; L SIj
LLP
i=O
�
(2)
;=0
j=O
Each service of resource 1"; is Si (0::; i::;
) , it is
characterized by a five-tuple Si = (sidp cpui' sti,lPi' hpi ) , in
which sidi is the unique identification of service Si , cpui is
n
the computing speed of resource 1"; which is expressed
terms of millions of instruction per second (MIPS),
workload of resources 1"; and means that
A MODEL FOR CLOUD RESOURCE ALLOCATION
can be represented as a resource matrix
should meet the constraint which is defined by (1) , and the
resource set R should meet the constraint which is defined
by (2) , so that tasks will not be generated exceed the rate at
which tasks can be processed.
sti
sti
is the
seconds are
required for executing the tasks that already are accepted,
refers to the reserve price, and
hpi
in
lpi
is the maximum price for
the service of using resources 1";, which can be set by the
resource owner or can be set by the resource agents through
collaboration with other agents.
j is tj (0::; j::; m) , it is characterized
by a four-tuple tj = (tidj,lj' bj, dj) , in which tidj is the
unique identification of task tj , lj is the length of the task
tj and is specified by millions of instructions (Ml), bj
represents the budget allocated to task tj , and dj determines
Each task of user
U
the task deadline by which the user desires the task to be
finished.
In order to obtain a resource allocation with the feature of
social utility maximization in the cloud environment, we
need to solve the above game problem. The most commonly
used solution concept for such games is that of Nash
equilibrium [12] , which we consider here.
Definition 1 Nash Equilibrium. In the standard game mode
O(g) ={g"g" ...,gJ, where there are participants, if
the strategy combination {g;,g:" ..,g:} satisfy that any
participant, g; is the best strategy when the others choose
the strategy {g;,...,g; g; . ..,g:} , then the strategy
combination {g;,g: ' ...,g:} is a Nash equilibrium of this
n
_"
+"
game.
As the player acts independently of the other players, a
Nash equilibrium can be reached in the following process:
Each player periodically calculates a strategy
0i (g) that
results in maximum profit, and this strategy is the best
response given the current state of the system, and then each
VI-95
Volume I
2010 International Conference On Computer Design And Appliations (ICCDA 2010)
player updates its strategy until the Nash equilibrium is
reached, and no player wants to change its strategy. The
system will then remain in equilibrium until there are
changes in the systems states.
IV. T HE CONTINUOUS DOUBLE AUCTION MECHANISM
We give a pricing strategy for user agent and resource
agent at each time unit of continuous double auction, users
and resources submit bids and requests to the auctioneer. An
auctioneer maintains a list of the current bids and requests
and matches the two offers when the highest bid is higher
than or equal to the lowest request. The purpose of the
auctioneer is to meet the performance-QoS and economic­
Qos of the users and resources to achieve Nash equilibrium
in cloud computing and to the maximum the social utility.
User Agent Bid Value
The user agent determines a bid value in each time unit
based on two parameters: the remaining resources and the
average remaining time [5] .
A task tj can bid for a resource 'i if the resource can
accomplish the task within its deadline (see (3» and the
reserve price of the resource is less than or equal to the
maximum value the job can pay (see (4».
where Og is the constraint of price. If rtg(t) < ° , it means
that resource 'i cannot complete task tj within the deadline.
The average remaining time for bid can be obtained by (8).
n
if rtg(t) � 0
rt .(t)= I rt..(t)·j.I.. n ,j.I=
J
J
0, otherwise
;=0
lj
lj
f
max
Y
{I,
(8)
The bid values based on the mean remaining time can be
obtained using (9).
A.
(3)
(4)
In each time unit T, the bid value of task tj based on the
remaining resources can be determined using (5) .
where lp is the mean reserve price among the remaining
resources (see (6», n� is the numbers of the remaining
resources at time t for task tj , n;ax is the maximum number
of resources, and different shapes of curves can be obtained
by changing the value of a(O.Ol::; a::; 100).
- 1 n
lp=-L)p;
n ;
In each time unit
T,
(6)
the remaining time that the task tj
of user uj bid to resource 'i can be determined by (7).
ifb/l � lp.
I
rt; (t)= d-st; -J_ .8;.,8;=
J J. '
cpu;
Y
Y
Y
0, otherwise
J
(
)
{I,
where rt;ax is the maximum remaining time for biding, and
P is similar to a in (5) , which is used for controlling the
convexity degrees of the curve.
The final bid value consists of the remaining resources
and the average remaining time, and can be obtained by (10).
bidj (t)= ao . bid;'s (t) + Po . bidyme (t), °::; ao' Po ::; 1
(10)
where parameters ao and Po are the weights giving relative
importance to the remaining resources and the average
remaining time, and ao + Po =1, ao=1 means that only the
remaining resource constraint is considered in the final bid
value, Po=1 means that only the remaining time constraint
is considered, and ao' Po E (0,1) means that both constraints
are taken into account.
B. Resource Agent Requet Value
A resource 'i aims at obtaining more profit, so at the
moment of joining the cloud computing system, the start
time st; of resource 1j is zero and sets the price to reserve
price lp; for accepting a task. After accepting a task, it
updates its start time st; and sets its price to the maximum
price hpj . Gradually, the start time st; of resource 'i is
decreased and gets to zero. By decreasing the start time st; ,
the resource decreases its resource price and when the start
time st; is equal to zero, it sets the price to the reserve price
lp; . Alternatively by accepting each task, the maximum
price hpj is determined by the resource owner or
collaborating with others while using (11) and requests it
from the auctioneer [5] .
(11)
(7)
VI-96
Volume 1
2010 International Conference On Computer Design And Appliations (ICCDA 2010)
askj(t)
t, wlj(t)
where
is the request value of the ith resource 1j at
stj(t) is the
start time of the new task if it is accepted at time t, and r is
the same with a in (5) and P in (9) .
time
C.
is the workload of resource 1j,
Aile (allep alle2, .. allen)
=
•
Uti(Alle)
Auctioneer Determines Auction Price
In each time unit, the user agents and resource agents
determine their bid and request values and send them to the
auctioneer. The auctioneer sorts the bid values in increasing
order and request values in decreasing order. If the highest
bid is more than or equal to the lowest request, then the
auction price is determined by (12).
pieij(t) .!.
= (
2
.
max
(bid/t»+
\tje[O,m]
(aSkj(t»
min
\tie[O,n]
(12)
As a non-cooperative game, the objective of cloud
computing resources allocation is to reach the Nash
equilibrium and each player tries to maximize its own
average performance-QoS and economic-QoS independently.
There exists a pure Nash equilibrium for the game because
the optimization functions (see (16» are continuous, convex,
and incremental [12]. Some concepts are defmed as follows.
Definition 2 Social Utility. Let the utility of resource 1j be
defined by (13), and be composed of the cost utility
(economic-QoS) and the time utility (performance-QoS).
uj
is defined by (14) and is similar with
resource utility. The social utility of the resource set R and
the user set U is defined by (15) .
pie.. (t)-lp.
d -st
Utirj(t)=al•
, O � ap PI �1 (13)
+ PI 1
dj
pleij(t)
'
Y
.
.
al and PI
where parameters
_
'
__
are the weights giving relative
importance to cost utility and time utility, and
al+ PI
max
(13), and
a2+ P2
=
a2
and
=
1.
P2 are similar to al and fJ.. m
1.
where the constraint
jth user
T
in each time unit
(15)
1=0
T,
parameter
s1j
is the service rate of
1j , and parameter trj is the task rate of user uj
Definition 3 Social Efficient Allocation. Let Q denote
resource
will
uj
(16)
n
L Pij
i=O
i=O
i=O j=O
=
1 is to make sure the task of the
can be completed by the resource set R
.
Nash Equilibrium in Cloud Computing. An
Aile' (aile;, aile;, ·..aile:) is
=
aile; , then for all j(O � j � n)
strategy
will meet (17).
Uti(alle;, ..., alle;_p aile; , alle;+1 ...aile:)
�
(17)
Uti(aile;, ..., alle;_I' allej, alle;+1 ...aile:)
Our goal is to find the social efficient allocation for
maximum performance-QoS and economic-QoS, and an
allocation strategy profile Aile' is said to be supported in
Nash equilibrium if and only if Aile' is a social efficient
allocation.
V.
THE ALGORITHM DESIGN
In an m *n type cloud resource allocation system, each
resource can therefore be modeled as an MIMI] queue. Note
that we assume that the task distribution of the applications,
once chosen, is consistent throughout the system. According
to the analysis above, the core part of the NECDA algorithm
is described as follows.
1.
Input: resource set R , user set U , and probability
matrix P"xm .
2.
Output:
allocation strategy profile with Nash
Aile' (aile;, aile;, ··.aile:) .
Initialize R , U , P"xm .
for each i such that 0 � i < n do
Update Sj (uidpepupstplpphpj) in real
=
3.
4.
=
time on
auctioneer.
T
1=0
which
j=O j=O
allocation strategy profile
5.
Uti(t) L S1j . UtirJt)+ L trj . Utiu/t)
=
bidders
ft Pij ·Uti(t),
i=O
equilibrium
where parameters
all
Nash equilibrium if no deviation from it by any single player
i is profitable. That means if a strategy allej replaces the
D. Nash Equilibrium based Resource Allocation
The utility of user
=
i=O
Definition 4
)
to
maximize the social utility.
•
the
set of all possible allocation strategy profiles, a social
efficient allocation profile is the allocation profile
6.
7.
end for
for
all
j such that 0 � j < m do
t j (uidj , l j'b j , d j )
8.
Submit
9.
end for
while not all
for each
10.
11.
12.
13.
VI-97
=
to auctioneer.
auction price updated do
such that 0 � i < n do
Calculate askj(t) by (11).
i
end for
Volume 1
2010 International Conference On Computer Design And Appliations (ICCDA 2010)
14.
for
15.
bidj(t)
Calculate
m do
bj =Ij . random ( 0.9· mean{lp ) ,1.1. mean ( hp))
by (10).
end for
16.
17.
into
(askJ (t), askz (t),"' , askn(t»)
(ask;(t), ask; (t),"' , ask� (t») by decreasing ordering,
Quicksort
(bidJ (t), bidz (t),"' , bidn(t) )
into
(bid;(I), bid; (t),"' , bid� (t») by increasing ordering.
while min(ask;(t)) � max(bid;<t» do
Calculate picij(t) by (12).
Quicksort
18.
19.
20.
21.
22.
23.
each j such that 0 � j <
end while
end while
while not Nash
equilibrium do
Allc =(allcJ , allcz ,'" allcn) do
Calculate Uti(Allc) by (16).
if max (Uti(Allc») < Uli(Allc) then
max (Uti(Allc»)=Uti(Allc) .
for
24.
25.
26.
each
end if
27.
end for
28.
29. end while
30. Update R , U , and P.xm .
The inputs of the NECDA algorithm are the resource set
R , the user set U , and the probability matrix P.xm during
one period of auction, the output is the allocation strategy
profile with Nash equilibrium Allc' . The user and resource
agents determine their bid and request values and submit
them to the auctioneer from step 4 to step 9, and then the
auction preprocess the bid and request values from step 10 to
step 21. From step 22 to step 29, all the possible solutions are
compared to make sure which one is the optimum social
efficient allocation, and the comparison is a process of depth­
first search so as to improve the performance of the proposed
algorithm.
VI.
deadline
mean (lp) and mean (hp) are the mean values of the
resources' Ip and hp , respectively.
where
d. =st. + random
J
where
J
stj
dj
of task
tj
(
I
J
I)
,
J
(19)
1.1max ( pe) 0.9 min ( pe)
tj ,
is the time of submitting the task
and
pe
is
the processing ability (MIPS) of the resources.
The Max-min algorithm [14], Min-min algorithm [14],
and CDA (Continuous Double Auction) algorithm [15] are
used to compare with NECDA algorithm with the features of
successful execution rate and fairness deviation [16].
1) Successful Execution Rate: The successful execution
task is the task that completely accomplished within its
deadline at the first time. The successful execution rate can
be obtained by (20).
ru
_
��
1
-_.
n
_
L..J L.. r;ij,r;ij j=O j=O
{I,
0,
if uj success to 1j
otherwise
.
(20)
As showed in Figure 1, NECDA has a higher successful
execution rate with the increase of the users.
1 00
"#
or
i§
,---���-�-�--�---,
80
.2
:5
c:
<.>
�
(I)
60
'"
40
:a
'"
§
Min-min
Max-min
COA
NECOA
(/)
:0
200
1 00
SIMULAnON AND PERFORMANCE EVALUAnON
In order to evaluate the performance of the algorithm
presented in this paper, we implement this algorithm by the
CloudSim toolkit [13]. In the simulation, resources and users
are modeled as two kinds of agents, and CIS (Cloud
Information Service) acts as the auctioneer.
We created 4 datacenters in the simulated system, the
number of machines in each datacenter is 10, and the number
of PEs (Process Elements) in each machine is within the
range [1, 6], the system architecture of each machine is x86,
and the operating system is Linux. We set 150 virtual
machines and the PE number of each virtual machine is 1 or
2.
Moreover, we submitted 600 tasks to the 4 datacenters,
some tasks may be waiting in an MlMI1 queue of resources.
Each task is submitted according to Poisson distribution after
its previous tasks, the length of each task is considered as a
random number within the range of [10000, 20000] MI, the
budget bj of task tj is set according to (18), and the
(18)
---e---
----.0.-
300
500
400
600
User number(m)
Figure I.
Successful execution rate.
2) Fairness Deviation: Fairness means that each
resource has an equal opportunity to offer its resource and it
can obtain a fair profit according to its capability. A
resource allocation algorithm is fair if the fairness deviation
of resources is minimized. The fairness deviation of the
system can be obtained by (21).
(j
where
fdj
=
1
_.
n-l
n
l: ( Jdj - fd )
Z
(21)
j=O
is defined by (22).
(22)
is set according to (19).
VI-98
Volume 1
2010 International Conference On Computer Design And Appliations (ICCDA 2010)
In (22), Pi is the profit of resource fj . Figure 2 shows a
comparison of fairness deviation between NECDA and other
methods. As shown in Figure 2, by increasing the number of
users, the fairness deviation of NECDA algorithm is better
than the other algorithms' .
0.6
.--����--�--_
Min-min
Max-min
COA
NECOA
0.5
c:
g
co
"S:
Q)
�
0.4
Ul
Ul
Q)
0.3
"iii
u.
0.2
E
----l<----e--
REFERENCES
[I]
J. Dean and S. Ghernawat, "MapReduce: Simplified data processing
on large clusters," Conununications of the ACM, ACM, vol. 51(1),
Jan. 2008,pp. 107-113.
[2]
A. Weiss, "Computing in the clouds," Networker, ACM, vol. 11(4),
Dec. 2007,pp. 16-25.
[3]
I. Foster, Y. Zhao, I. Raicu, and S. Y. Lu, "Cloud Computing and
Grid Computing 360-degree compared," Proc. Grid Computing
Environments Workshop, GeE 2008, IEEE Press, Nov. 2008, pp. 110
[4]
Y. Yang, K. Liu, J. J Chen, X. Liu, D. Yuan, and H. Jin, "An
algorithm in SwinDeW-C for scheduling transaction-intensive cost­
constrained cloud workflows," Proc. 2008 IEEE Fourth International
Conference on eScience,IEEE Press,Dec. 2008,pp. 374-375.
[5]
H. Izakian, B.T. Ladani, K. Zamanifar, A. Abraham, and V. Snasel,
"A continuous double auction method for resource allocation in
computational grids," Proc. 2009 IEEE Symposium on Computational
Intelligence in Scheduling (CI-Sched), IEEE Press, Mar. 2009, pp.
295-299.
[6]
R. Subrata, A.Y. Zomaya, B. Landfeldt, "Game-theoretic approach
for load balancing in computational grids," IEEE Transactions on
Parallel and Distributed Systems,vol 19(1),Jan. 2008,pp. 66-76.
[7]
P. Mell, T. Grance. "Presentation on effective and secure use of cloud
computing paradigm," National Institute of Standards and
Information
Technology
Laboratory
Technology,
http://csrc.nist.gov/groups/SNS/cloud-computing /index.html, Oct.
2009.
[8]
N. Antuues, C. Fricker, F. Guillemin, P. Robert, "Perturbation
analysis of a variable MIMII queue: a probabilistic approach,"
Advances in Applied Probability,vol 38(1),Mar. 2006,pp. 263-283.
[9]
L. Li, "An optimistic differentiated service job scheduling system for
cloud computing service users and providers," Proc. Proceedings of
the 2009 Third International Conference on Multimedia and
Ubiquitous Engineering (MUE),IEEE Press,Jun. 2009,pp. 295-299.
----+------
0.1
0
100
200
300
400
500
600
User number(m)
Figure 2.
VII.
Fairness deviation.
CONCLUSIONS AND FUTURE WORK
An important criterion of cloud computing is that it is
driven by economies of scale. So the allocation algorithms
should take execution cost of 'pay for use' as one key factor,
and the mean execution time of user tasks should be taken as
another key factor. So we built a cloud resource allocation
model of m*n type based on MlMII queue system, and then
proposed an efficient Nash equilibrium based cloud resource
allocation algorithm by using a continuous double auction
method. A resource determines its bid value based on its
workload and each user determines its bid value based on
two facts: the remaining resources for bidding and remaining
time for bidding. Experimental results clearly illustrate that
the NECDA algorithm is efficient and fair for both resources
and users, and greatly improves the performance-QoS and
economic-QoS. In addition, this new algorithm is more
suited to cloud computing environments.
In the future, the NECDA algorithm will be deployed and
tested on cloud computing platform of the Sun & Mars
Information Open Source Center of Excellence.
ACKNOWLEDGMENT
The authors gratefully thank Junling Hu for her help and
comments. This work is supported by the National Natural
Science Foundation of China under Grant No. 70671020, No.
70931001 and No.60673159; the National Science &
Technology
Pillar
Program
under
Grant
No.
2008BAH37B03 and No. 2008BAH37B07; the Specialized
Research Fund for the Doctoral Program of Higher
Education under Grant 20070145017; the Fundamental
Research Funds for the Central Universities under Grant No.
N090504003 and No. N090504006; the Oracle Sun & Mars
Information Open Source Center of Excellence.
[10] A. W. Malik, A. Park, and R. M. Fujimoto, "Optimistic
synchronization of parallel simulations in cloud computing
environments," Proc. 2009 IEEE International Conference on Cloud
Computing (CLOUD) ,IEEE Press,Sept. 2009,pp. 49-56.
[ I I ] Q. Cao, Z. B. Wei, and W. M. Gong, "An optimized algorithm for
task scheduling based on activity based costing in cloud computing,"
Proc. 2009 3rd International Conference on Bioinformatics and
Biomedical Engineering (iCBBE 2009),IEEE Press,Jun. 2009,pp. 13.
[12] D. Grosu and A. T. Chronopoulos,"Noncooperative load balancing in
distributed systems," Journal of Parallel and Distributed Computing,
vol 65(9), Sept.2005, pp. 1022-1034.
[13] R. Buyya, R. Ranjan, R. N.Calheiros, "Modeling and simulation of
scalable cloud computing environments and the CloudSim toolkit:
challenges and opportunities," 2009 International Conference on High
Performance Computing & Simulation (HPCS),Jun. 2009,pp. I- I I.
[14] K. Etminani, M. Naghibzadeh, "A min-min max-min selective
algorithm for grid task scheduling," 2007 Third IEEE/IFIP
International Conference in Central Asia on Internet, Sept. 2007, pp.
138-144.
[15] C. Satayapiwat, R. Egawa, H. Takizawa, H. Kobayashi, "A utility­
based double auction mechanism for efficient grid resource
allocation," 2008 IEEE International Symposium on Parallel and
Distributed Processing with Applications,Dec. 2008,pp. 252-260.
[16] L. J. Xiao, Y. M Zhu, L. M. Ni, Z. W Xu, "Incentive-based
scheduling for market-like computational grids," IEEE Transactions
on Parallel and Distributed Systems,vol 19(7),Jul. 2008,pp. 903-913.
VI-99
Volume 1