You are on page 1of 28

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/291186324

A Game Theoretic Method for Resource Allocation in Scientific


Cloud

Article  in  International Journal of Cloud Applications and Computing · January 2016


DOI: 10.4018/IJCAC.2016010102

CITATIONS READS

7 540

2 authors:

Amin Nezarat Gholamhossein Dastghaibyfard


Payame Noor University Shiraz University
11 PUBLICATIONS   314 CITATIONS    59 PUBLICATIONS   628 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Annals of Emerging Technologies in Computing (AETiC) View project

Master Thesis View project

All content following this page was uploaded by Amin Nezarat on 27 May 2016.

The user has requested enhancement of the downloaded file.


International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

A Game Theoretic Method for Resource


Allocation in Scientific Cloud
Amin Nezarat, Payame Noor University, Yazd, Iran
Gh Dastghaibifard, Shiraz University, Shiraz, Iran

ABSTRACT

Due to the widespread use of cloud services, the need for proper and dynamic distribution will redouble
the resources. One of the most complex problems in cloud environments is resource allocation such
that on one hand the resource provider should obtain maximum utilization and on the other hand
users want to lease best resources based on his time and budget constraints. Many studies which
presented new methods for solving this NP-complete problem have used heuristic algorithm. Based
on economic aspects of cloud environments, using market oriented model for solving allocation
problem can decrease the complexity and converge it to the best solution in minimum time. In this
paper a method has been proposed based on auction theory that it has used a non-cooperative game
theory mechanism in an incomplete information environment. This game try to select best bidder for
selling resource to it. At the end of the paper, the proposed algorithm was experienced in cloudsim
and the simulated results showed that the authors’ suggested model converge to the best response at
Nash equilibrium point.

Keywords:
Cloud Computing, Game Theory, Nash Equilibrium, Resource Allocation, Scheduling

1. INTRODUCTION

Cloud computing is a model for enabling ubiquitous, comfortable, and demand-oriented network
access to a set of sharing and configurable computing resources, such as networks, servers, storage
space, application services and other services, which can be supplied quickly and can be finalized
with minimum effort (Armbrust, Fox, & Griffith., 2009; Buyya, Abramson, Giddy, & Stockinger,
2002). The approach that is followed by cloud computing services, is paying a specific amount for the
demand and the availability of the resources for the agreed period. Therefore, the well-known cloud
servers, such as Amazon EC2, are in the form of using the computation of the resource in hourly use
of CPU (Armbrust, Fox, & Griffith., 2009). Although this method is one of the most basic methods
of selling goods or services, prevents the complex interaction between buyer and cloud servers. A
typical criticism on this method is that during the high workload of the system, a job that is requested
by a customer, should wait for long until the workload becomes less and the needed resources be
allocated for the job. The current methods of resource allocation such as FIFO, Round-Robin, etc.
which are used in clouds, perform an unfair allocation regardless of the priority between the jobs.
In most cloud services, scheduling tasks with respect to these conditions is a complex task taking
into account the requirements mentioned in the Service Level Agreement. Typically, while assigning
resources to the customers, cloud servers agree on some issues as their commitments to provide high
quality services, any allocation of resources to tasks, or shifting the tasks from one source to another

DOI: 10.4018/IJCAC.2016010102

Copyright © 2016, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited.

15
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

must be agreed considering the quality of the service. For example, if a resource available for a task,
no other task with a higher bid can take over that source until executing the allocated source and also
at the time of investigating the applicant’s task proposals to allocate to resources, considering these
parameters for quality assurance seems to be required. Concepts such as dead line and maximizing
the customers’ budget are among these issues. Other issues can also be included in this discussion
regarding that Network bandwidth for those jobs requires input file or tasks that are composed of
several sub-task (Workflow).
For example, a user has to travel to a city and uses an integrating service that simultaneously
performs buying plane tickets, hotel reservations and etc. The cloud service provider that is responsible
for executing this task, can simultaneously schedule several subtasks that are correlated, using the
scheduler. This scheduler should schedule the mentioned subtasks in a way that their deadline and
allocated resources be simultaneous and additionally the required bandwidth to communicate the
subtasks is properly provided (Bandwidth). For example, a user has intended to travel to a city or
in another example we can name the scientific workflows which are carried out simultaneously
and in parallel on the resources needed. In this type of workflow, in addition to considering the
implementation time of the original work, the relationship of the subtasks with each other and their
required bandwidth must also be considered. Customers are interested to get their tasks done in the
least possible time and with minimum cost that the cloud server must receive it. On the other hand,
the cloud server also tends to maximize the utilization of its resources and also increase the amount of
gain and theses two are in conflict with each other and are not usually consistent with the traditional
methods of resource allocation and the existing scheduling mechanisms. Since providing service in
the clouds is a kind of product in the supply chain cycle, scheduling the service can be divided into
two general categories:

1. User-level
2. System-level

In user-level scheduling we deal with solving the problem of providing service between service
provider and the clients. This issue mainly refers to economic issues such as the balance of supply
and demand, competition between the customers and minimizing the relative costs of the customer.
In the scheduling of the system, solving the problem of resource management in data centers is
considered. In a customer’s perspective, a data center is a unified system that provides services to
the users, but the data centers are in fact composed of a large number of physical machines that are
providing services in an integrated way. After getting a large number of jobs form different users
and assigning them to physical machines, the performance of a data center is affected. In order to
control and improve the utilization of the system, several issues such as the simultaneous execution
of processes, sharing the resources, debugging etc., should be considered (Buyya, Abramson, Giddy,
& Stockinger, 2002; Fan, et al., 2009; Gibbons, 1992; Sandholm & W., 1999; Wei, Vasilakos, Zheng,
& Xiong, 2009). In a smaller classification, scheduling the resources and their allocation to tasks in
a cloud server can be divided into two groups (Buyya, Abramson, Giddy, & Stockinger, 2002; Wei,
Vasilakos, Zheng, & Xiong, 2009; Kwok, Song, & Hwang, 2005; Galstyan, Kolar, & Lerman, 2003;
Bredin, et al., 2003; Maheswaran & Basar, 2003; Khan & Ahmad, 2006; An, Miao, & Shen, 2007;
Teng & Magoulès, 2010).

1. Scheduling economic models for resource-provisioning (from the user’s perspective)


2. Heuristic models for task-execution scheduling (from the system’s perspective)

Scheduling economic models for resource-provisioning method is applicable in several strategies,


including the followings:

16
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

1. Market-based strategies include:


◦◦ The commodity: the pricing of equal resources
◦◦ Posted price model: diverse pricing for different methods and hours of use
◦◦ Bargaining model: primary pricing by the server and bargaining to reach a price agreement
2. Auction-based strategy includes:
◦◦ Number of participants: Selecting the type of auction (sale, purchase, mutual etc.)
depending on the number of participants (bidders)
◦◦ Based on information transparency: selecting the method of presenting information to
other participants such as a fully transparent approach, sealed method, and etc.
◦◦ Combinational auction method: providing the suggestions in a combinational way from
a number of recommendations for a variety of sources. For example, the customer offers
a suggestion for a combination of Network, Storage, Ram, and CPU. In a study conducted
by Buyya et al (Garg & Buyya, 2011) a variety of Economic methods of scheduling used
in Grid and Grid economic environment has been classified in accordance with Figure
1. Scheduling task execution is based on the heuristic model mainly including static and
dynamic methods respectively. The static methods are used when a set of tasks that should
be scheduled are identified in advance and the dynamic methods are used when the tasks
enter in the form of real time (Wei, Vasilakos, Zheng, & Xiong, 2009).

Static Strategies
From among the most popular algorithms in this group we can refer to OLB, MET, MCT, MIN-
MIN, MAX-MIN, GA, SA, Tabu, A *, etc. Based on the conducted evaluation, when the machines
are compatible, GA algorithm will provide the best MET response and also the worst response. And

Figure 1. Classification of various resource scheduling methods in economic Grid and Grid (Garg & Buyya, 2011)

17
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

for incompatible machines, A *, GA is the best solution and OLB is the worst. The algorithms of
Min-Min, A*, GA can be described as the most trusted methods of providing minimum makespan.

Dynamic Strategies
These algorithms can be placed in both Online and Batch groups, in Online mode, all tasks are
scheduled online, and each task was entrusted to one of the sources after being received by the
scheduler, in Batch mode, all tasks rescheduled in a work and the groups are entrusted to the related
resources after a short break.

• Online-Mode: KPB, SA, MCT, MET, OLB algorithms are placed in this group.
• Batch-Mode: Suffrage, Max-min, Min-Min algorithms are from these categories.

With regard to the cases mentioned, using game theories and the negotiation of the agents in
a multi-agent environment, the issue of allocating resources is proposed. In our proposed model,
each agent is looking for maximizing the expected utility and the cloud servers as the nature plan to
maintain the state of the system in Nash equilibrium of the utilization of the cloud.

2. RELATED WORKS

One of the oldest usage of an auction model in computer systems, goes back to allocate computation
resources of a minicomputer at Harvard University (Sutherland, 1968). In this auction model, an
intelligent “financial offer” is offered by the user to attend the auction in order to get the most of
computing time. Gagliano (Gagliano, Fraser, & Schaefer, 1995) has also studied the issue of allocating
computing resource through auctions. He has tried to inject some intelligence to the jobs to be able
to compute a proper price to control the resources. Economic mechanisms as the main approaches
in the management of resources have been proposed such as multi agent systems (Armbrust, Fox,
& Griffith., 2009), communication networks (Gibney, Jennings, Vriend, & J.-M.Griffiths, 1999),
data mining (J, D, & M), cluster computing (Chun & Culler, 2002) and computing Turin (Nguyen
& Magoul`es, 2009). In these systems, a number of management issues, including bandwidth price,
TCP congestion control, content delivery and routing are being investigated. Traditional models of the
market are mostly summarized in pricing and the transferring, which include models of commodity,
contracts, lending and auction-based approaches. Each of these models strengths and weaknesses,
which are suitable for any particular position. Stuer (Stuer, Vanmechelen, & Broeckhove, 2007)
prefers commodity model because he believes that this model causes a balance in supply and demand.
Stanford (Stratford & Mortier, 1999) has designed architecture based on the contracting method in
which there is a dynamic pricing model based on the collision mechanism of the demands. In this
model, some policies are designed and practiced to bring the price to a fixed point. Lending model
(Ozturan, 2004) has also been considered as another strategy. In this model of bilateral cooperation
some resources have been raised in a way that one side takes the resource instead of money. In
addition, several auction-based methods such as bid-wined and bid-shared are extensively used in
resource management. Auction has been used to a great extent in resource allocation and scheduling
in grid computing. Wolski et al (Wolski, Plank, Brevik, & Bryan, Analyzing market-based resource
allocation strategies for the computational grid, 2001) have compared models of commodity markets
and auctions to achieve a stable price and equilibrium point. Gomoluch and (Gomoluch & Schroeder,
2003) Schroeder have simulated a two-sided auction protocol for resource allocation in Grids. They
have indicated that their proposed research method has better performance than the known method
of Round-Robin. Gray and colleagues (Garg & Buyya, 2011), have designed a superior two-sided
auction-based scheduler which works in grid environments. The comparison made by them indicates
that their proposed auction procedure provides better responses to the common superior schedulers
while increasing the usefulness of the user and the performance of the system.

18
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

Das and Grosu (Das & Grosu, 2005) have proposed a combinatorial auction model for resource
allocation in the grid. An “external bidder” has collected various information about available resources
and implements a combinatorial auction mechanism to allocate resources. Dash and colleagues
(Dash, Vytelingum, Rogers, David, & Jennings, 2007) proposed a mechanism for scheduling tasks
in the grid environment. An optimization problem with the goal of reducing total cost of the system
is considered, but in this model, it is possible that provider will attempt to provide false reports of
cost and capacity parameters if this false reports will increase their profits. They also proposed a
distributed and central mechanism for solving this problem. In another study conducted by Grosu
(Grosu., 2004), the architecture of a system is proposed for adaptive resource allocation in grid
environment. The proposed architecture allows both users and providers to participate in the process
of resource allocation and pricing with different mechanisms. Recently, researchers have tended to
make use of economic models in cloud computing with different views. Wang et al have used different
economic methods in the pricing of resources in the cloud. They have tested the implementation of
the proposed model on Amazon EC2, and a specified infrastructure and have finally concluded that
pricing used in the Amazon, is unfair to the users.
Altman et al (Altmann, et al., 2008) have suggested a market where resource allocation and pricing
of the resource are based on exchanging offers. In this exchange, users and providers of the service both
present their requirements and price offers and allocation is done in case of finding the appropriate
pair. Risch et al (Risch, Altmann, Guo, Fleming, & Courcoubetis, The GridEcon platform: A business
scenario testbed for commercial cloud services, 2009) have provided a cloud test environment to
test various mechanisms. They have implemented the model proposed by Altman et al (Altmann, et
al., 2008) on this platform. The suggested market in two recent research studies cannot be simply
performed due to the current cloud infrastructures and the existing message exchanges. Therefore,
the main focus of most researchers is on a model that has a single provider and some users. Lin et
al (Lin, G.-Y.Lin, & Wei, 2010) analyzed data from a survey of economic models and have shown
that, if there are large numbers of resources and users, economic methods can allocate resources and
provide a reasonable income for the service provider. For example, Amazon’s EC2 is a method of
selling resources for service providers, first brand that presented on spot services. Unfortunately, due
to the commercial nature of the methods used in the on spot instance is not available to the public.
Chochan et al (Chohan, et al., 2010) have indicated in a research study that how can we increase
speed in the works of Map / Reduce using the on spot instances. They have analyzed that how this
model will lead to gain efficiency and cost reduction. Campos-Nanez and others (Campos-Nanez,
Fabra, & Garcia, 2007) have conducted a research project where the service providers offer their
price to run a business instead of the users through the implementation of a dynamic auction and
conducting various settings in it inutility computing environment. In this model, the capacity of the
existing resources is publicly visible in the service provider and bidders merely bid and the low cost
service is selected for the new customer. Researchers have shown that Markov’s perfect equilibrium
point for the game exists in this model.
Providing resources is another issue that researchers have attempted to use economic models
to solve. Dynamic providing of computing resources by Quiroz et al (Quiroz, Kim, Parashar,
Gnanasambandam, & Sharma, 2009) has been studied. They have presented a decentralized on-
line approach to provide VM based on the estimation parameters of workloads. The authors have
proposed a model to predict the workload based on the estimation of a long period of time. Van et
al (Van, Tran, & Menaud, 2009), have studied an automated resource management system which is
the allocation of VM from a physical machine to the resource. They have shown that their proposed
model simultaneously guarantees service level agreements and the resource usage. Vecchiola et al
(Vecchiola, Calheiros, Karunamoorthy, & Buyya, 2012) have also proposed resource provisioning
mechanism based on dead line for scientific applications in the cloud environments. The purpose of
this research study is that an auction-based method is presented which not only increases the efficiency
of cloud resources, at the same time increases the rate of profit (income) of the cloud servers. The

19
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

proposed method tries to provide the required resource for the user with regard to the budget, time
and other constraints. Studies conducted so far have seen the issue from a different view, some of
which are as follows:
Kansal et al (Kansal, Zhao, Liu, Kothari, & Bhattacharya, 2010) have turned towards measuring
the consumption of every VM through developing techniques for measuring energy consumption
in physical computing resources. They have tried to predict and reduce the electricity consuming of
the data center through creating the ability to measure the energy consumption of each VM. Meng
et al (Meng, et al., 2010) have introduced a technique to find patterns within the workload of the
servers to be able to integrate and merge virtual machines. This model “packs” several VM in a
smaller resource in order to preserve service quality. Chen et al (Chen, Qiao, Wei, & Huang, 2012)
have proposed several factors in order to optimize the use of resources and reduce costs in order
to reduce the expenses and increase the profitability of cloud providers. Their solutions using the
adjusting vector controls the efficiency and costs of used vector computing resources and resetting
the VM in the running-time.
In the model proposed by them, the highest bid was selected as the winner which must pay
the amount of his bid. In another study Lynar (Lynar, Herbert, & Simon, 2009) has studies three
kinds of the bid-winning auction and noticed significant difference in execution time and energy
consumption. A large number of commercial and academic platforms use economic approaches to
solve the problem of resource allocation in grid and cloud. G-Commerce (Wolski, Plank, Brevik, &
Bryan, G-commerce: Market formulations controlling resource allocation on the computational grid,
2001) is an example of a Grid management tool that uses economic analysis for the allocation and
control of resource usage. In this platform two types of market conditions has been implemented,
commodity markets and auctions. BEinGRID (Stanoevska-Slabeva, Parrilli, & Thanos, 2008) is also
an infrastructure for implementation of Grid technologies in commercial scenarios. In the project
of GridEcon (Risch, Altmann, Guo, Fleming, & Courcoubetis, The GridEcon platform: A business
scenario testbed for commercial cloud services, 2009) a commodity markets is provided to the users
that they can purchase computational resources. Cloudbus (Buyya, Ranjan, & Calheiros, Modeling
and simulation of scalable cloud computing environments and the cloudsim toolkit: Challenges and
opportunities, 2009) is an intermediate and a middleware infrastructure for cloud application that
developed based on economic methods. Galstyan has provided a small distributed algorithm for
resource allocation in Grid environments. In this algorithm, agents that use a particular resource are
rewarded if their number does not exceed the resource capacity, and would be fined otherwise. Thus,
the system can provide all the resources by setting its capacity. The limitation of this algorithm is that
very few factors can be active in them. Berdin has developed a decentralized negotiation strategy in
auctioning for divisible resources. Budget limitation for the mobile agents is specified and they try
to do the task through planning the amount of the current funds through a series of iterative steps.
Extending the results of Berdin, Maheswaran, proposed a divisible auction structure that allows
auctioning features to be modeled in a wide range of tasks in the form of linear Gauss. He also proved
that the auction has a unique Nash equilibrium. Nash equilibrium tells that how a person can make
a rational decision to adopt in a non-cooperative environment, therefore, this concept is used in
researches of resource allocation in Mobile factors and Turin’s computation. Mobile agents fully know
the information of their competitors and this is hardly possible in the real world. Kwok (Kwok, Song,
& Hwang, 2005) is a pioneer in the use of hierarchical models of game theory in Turin’s computing
environments. He has used both the equilibrium and optimization strategy for general states based
on the utility function. In another study (An, Miao, & Shen, 2007) an appropriate method has been
presented for resource allocation for multi-agent systems. In this research study the existence of a
Nash equilibrium is emphasized. Commercial agents can increase the results of their allocations and
offer new suggestions through updating their beliefs from the environment. Considering an issue of
providing resource allocation for cloud computing Wei (Wei, Vasilakos, Zheng, & Xiong, 2009) used
both optimization and justice. He used the relaxation methods and binary integer programming to

20
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

solve the optimization problem and applied a mechanism of evolutionary game theory to minimize
the efficiency loss of the problem. As mentioned, various researches have been conducted in fields
of providing and resource allocation in computing environments, particularly grids. Due to the large
number of parameters in decision-making and reviewing the process of the research study done
in the cloud environment it seems that economic scheduling can be a good option for continuing
research study in this field due to the bilateral financial issues between the parties and stakeholders
in the cloud environment. According to the proposed classification method based on economics (R.
& P., 2013), five groups of supply and resource allocation algorithms have been proposed where the
Auction methods and techniques that are based on pricing models that are at the top of the auction
are subjected to a separate listed in Table 1.
By examining various models of timing in the economic environments in Table 2 (Khanna,
Beaty, Kar, & Kochut, 2006; Steinder, Whalley, Carrera, Gaweda, & Chess, 2007; Kephart, et al.,
2007; Ranganathan, Leech, Irwin, & Chase, 2006; Pinheiro, Bianchini, & Heath, 2003; Abdelzaher,
Shin, & Bhatti, 2002; Kusic & Kandasamy, isk-Aware Limited Lookahead Control for Dynamic
Resource Provisioning in Enterprise Computing Systems, 2006; Kusic, Kephart, Kandasamy, &
Jiang, 2008; Qin & Wang, 2007; Raghavendra, Ranganathan, Talwar, Z.Wang, & Zhu, 2013), in this
paper we intend to examine more closely the algorithms presented in Auction, Proportional Auction,
Posted Price, Bargaining, Commodity Model, Contract-net and Game Theory, proposing a methods
or combination of a number of methods. Because of the simplicity and speed up of the commodity
model more researchers tend to use this model but because the pricing on these method is based
on using knowledge of the market, a dynamic pricing strategy is more considerable as a method
for dynamic allocation of resources. In this study we will try to compare the different models and
eliminate the defects of the few areas, and propose a new model based on the auction or combination
of some economic models.

3. PROBLEM OVERVIEW

We assume n tasks that will assign to m resource for scheduling and every task Si including some
similar subtask k(i) that need equal amount of computing. Each resource Ri has a fixed cost of Pi
according to its capacity. If there are several sub-task then we assign those subtasks to Ri according
to their capacity and expense. Our target is minimizing the total cost and running n task with minimum
time and expense. It should be noted that the following subtasks during execution of task are related
to each other. We assume matrix a consisting of n rows, each for one task, and m columns each for
one resource. aij represents the amount of subtask of Si that is assigned to Ri, then we assume that
ai is the representative of i-th row of the matrix a . Hence, the allocation vector of ai can result in:

∑a ij
= k (i) .
aij ∈ai

Table 1. Comparison of the different types of economic resource allocation method. (R. & P., 2013)

Profit Generating Income Allocation Runtime Type of Economic


Efficiency Method
For both sides. The average High Short Sequential two-sided
Auction
Users Low Average Too Short Reverse auction
Service Providers High High Too Short Fixed Price Auction
Users Low High Short Vickrey Auction
For both sides High Very much Too Short Combined Auction

21
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

Table 2. Algorithms and tools for resource allocation based on economic approach

Subject of the Model or the The Mechanism Used Economic Model Group
Algorithm
Tycoon, Spawn, Bellagio, OCEAN, Shared auction, Vickrey auction, Auction, shared auction
SORMA, PeerMart, G-Commerce combined auction
Sharp, Shirako, Nimrod-G, GridEcon, Commodity Model
Gridbus, Java Market, Mariaposa
GRIA, CatNets Bargaining

Two other n*m matrixes are derived from matrix, matrix T is the completion time and the other
is the expense matrix E. The amount of tij of matrix T denotes the execution time of sub-tasks of task
Si when given to the source Ri, since all subtasks of task Si are executed in parallel and independently,
the completion time of Si is max {tij |tij ∈ ti } such that ti represents i-th row of matrix T. The amount
of eij of matrix E also represents the expense for execution of the sub-task aij on Rj.
m

Therefore, the expense of executing task Si equals to ∑eij . Generally there is a conflict or trade-
j =1
off between time and cost for each task. Here we assume that all participants have complete information
about the environment and a viewpoint similar to the expense and time matrix. To balance cost and
time, both Wt values for weight time and We for weight cost are to be considered, therefore the total
cost of the task Si is assumed to be written as:

wt . maxt
ij
∈ ti {t } + w ∑e
ij e ij

j

Since the ultimate objective is to minimize the cost and increase the utility, we can calculated
the utility function of task Si as follows:

1
ui (ai ) =
wt . maxt
ij
∈ ti {t } + w ∑ e
ij e j ij

Furthermore, we assume

1. The capacity of the resources is not divisible


2. Each resource can be allocated to different subtasks
3. All resources use time-sharing policies for scheduling the subtasks assigned to them in the level
of operating system.

We assume tij as the execution time of task i on resource Rj so that the resource is not running
anything else on that assumption, we can conclude that tij = tˆij .∑aij and eij =aij .tˆij .p j . pj is
j
indefeasible only when one subtask can be allocated to a resource, Pj also indicates the price of the
resource j for a unit of time so that P=( P1, P2 , …, Pm ) is ordered in an ascending way. In order to
display the modeled problem, we examine an example using this model. We assume that we have 4

22
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

resources R1-R4 so that the price vector is as P = (1.2,1.4,1.7,2), and we want to assign four tasks
S1-S4 to these resources. The execution time of each task in such a way that each resource carried
out one task is as follows:

 7 6.3 5.7 5 
 
 6 5.1 4.5 4 

tˆij =  
5 4 . 5 4 3 . 5 
 
 
 4.5 4 3.5 3 

We assume that initially S1 selects resources {R1, R2} and S2resources {R1, R2, R3} and S3
resources {R1, R2, R4} and S4 resources {R1, R2, R3, R4}.
The matrix is as follows:

1 1 0 0

1 1 1 0
a = 
1 1 0 1
 
1 1 1 1

Since the cost and time of tasks execution on resources can be shared we can calculate tasks
execution time as follows:

28 25.2 0 0
 
24 20.4 9 0
tij =  

20 18 0 7 
 
18 16 7 6

And expense matrix:

 p1 p2 
 28 * 4 25.2 * 4 0 0 
 
 24 * p1 20.4 * p 2 9*
p3
0 
 4 4 2 
eij =   .
 20 * p1 p 2 p4 
18 * 0 7*
 4 4 2 
 p1 p2 p3 p4 
18 * 16 * 7* 6* 
 4 4 2 2 

In order to maintain the simplicity we connivance the ratio of computation cost compared to
time. The utility of each of the player (task) is as follows:

23
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

1
u1 (a1 ) = ≅ 0.0221
(28 + (8.4 + 8.82))
1
u2 (a2 ) = ≅ 0.0217
(24 + (7.2 + 7.14 + 7.65))
1
u3 (a3 ) = ≅ 0.0255
(20 + (6 + 6.3 + 7))
1
u4 ( a4 ) = ≅ 0.0244
( (
18 + 5. 4 + 5.6 + 5.95 + 6 ) )

Each task is considered as a player, and the assignment vector ai of each player as selected
strategy of that player. Ultimately, the final strategy is the final state of the system which consists of
strategies chosen by all players at time T in the form of the vector a = (a1, …, an )T . The selected
strategy of each player i is indicated as ai and the strategy of other competitors is displayed as a−i .
Accordingly (ai , a−i ) represents the selected strategy of player i against the other players, and in the
event of any change in the strategy of player i, any other strategy will be displayed as (ai′, a−i ) .
Ultimately, the goal of the problem is solving a game G = <s, a, u> s represents the players, a
represents their strategies and u is the utility that can be achieved. This type of game is repetitive and
simultaneous. Each player aims to maximize his utility level which in order to optimize problem the
following conditions should be considered:

Maximize ui (ai )

Subject to ∑ aij = k (i)


aij ∈ai

aij ≥ 0

Where k (i) represents all of the sub-tasks of Si.


One of the key parameters in achieving the utility function is the value of the Constant Elasticity
of Substitution (CES). The amount sought to obtain a fixed amount of the demand and production
and creates a counterbalance in their CES value which can be calculated as follows:

 n  ( ) 
S / S −1
 1/ S ( S −1)/ S 
C =   ∑α i ci  
  i =1  
 

C is the aggregation of the total use of the resources by all players, ci is the usage of each player
(the players’ share of resources), such as run-time payment bandwidth consumption, electricity, etc.
αi is also the parameter of sharing resources that specifies the amount of each resource assigned to
a task And s is the demand elasticity of substitution. In order to simplify, we keep in mind the equality
( )
n
s −1 ln ∑ α i1−r cir
r= , and write C as follows: ln C = i =1

s r

24
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

And after applying Hopital rule we have lim ln c =


∑ α ln c i =1 i i
n
∑ αr →0
i =1 i
n
If ∑α = 1 , the function will be a constant scale, meaning that the rate of growth of consumption
i
i =1
n
of each resource will be increased. If any αi grows by 40%, then C will also grow by 40%. If ∑α
i =1
i <1
then the amount of return scale, reduces or increases on the other side. In particular, a special case
of the CES function is Cobb Douglas. In general, if c1 , c2 , …, cm is the amount of consumption of
m resources for the tasks assigned to them, the utility function can be written as follows[65].

m
u ( c ) = ∏ciαi
i =1

u (c) = u (c)
1/α

Where c = (c1, c2, ..., cm) and ∑α m


= α and we will have C → c1/α function when c > 0 .
i =1

m
u ( c ) = ∏cipi
i =1
m

∑p
i =1
i =1

αi
We assume pi = (the ratio of each source to the total use of resources) and then we have:
α
The maximum utility can be taken from the logarithmic function[65].

max ∑ ( pi ln ci )
i =1

4. BEST SOLUTION AND NASH EQUILIBRIUM

Nash equilibrium is a solution concept of the game, in which no player will get the most beneficial
strategy by changing its strategy if the other players decide about changing them. In this game, it is
assumed that all players will be rational and will have a normal behavior. Again we assume the game
G, any player i can gain his usefulness for a variety of strategies u1 ( a1 , a 2 , …, a n ) . Note that
profitability depends on the strategy chosen by each player and the strategy of other players. A strategy
{ }
profile a1* , a2* ,.., an* ∈ a is a Nash equilibrium if no change of strategy by players leads to increased
profits of the players.

25
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

( )
∀i, ai ∈ a , ai ≠ ai* : ui ai* , a−* i > ui ai , a−* i ( )

In order to simplify the game and reduce the constraints of solving the optimization problem,
we consider the followings as the presuppositions of problem-solving:

1. Execution time of the tasks that is assigned to a cloud resource is known in advance. There are
various methods to estimate the time (Bredin, et al., 2003; Garg & Buyya, 2011).
2. The subtasks are related to each other and can communicate with each other. The amount of
bandwidth used on each link is not considered.

Most of the scientific problem that are executed in parallel, should satisfy these two conditions.
Also, if a task does not include subtasks and run independently, it is just enough to consider the
communication time between the following subtasks to be zero.

5. DEFINITION OF THE OBJECTIVE FUNCTION

The objective function can be cost-based. Therefore, the total weight of time and cost can be achieved
(Chun & Culler, 2002). We map a unit of time to a fixed amount of money. In this problem each unit
of time is considered to be equivalent to 100 units of currency and we assume the wt : we = 1 . Each
player can consider a time limitation which is displayed with T0and a maximum amount of budget
that can be displayed as E0 . An assigned matrix of b consisting k rows is considered in which each
row is a sub-task and also m columns each indicating a resource. We define the objective function
as follows:

 k m 

min O = we .∑∑p j .tij .bij  + wt .Tturnaround
 i =1 j =1 

In a such way that

  

q q

Tturnaround = ∑tl + maxi, j (tˆij . bij ) .1 − ∑nl 
  
l =1 l =1 

and

tl =max i, j tˆij .bij .nl  +max i, j tijl .bij 


   

Here q refers to the number of connections in executing a task that occur between the subtasks.
tl indicates the amount of time between the last link (L-1) th to the end of lth and nl is the percentage
of the work finished between these relationships. For each stage, L represents the time of the L-th
communication from the subtask to the j-th assigned resource. Equality of tl also means that another
nl (a percentage of the work) of each sub-task is completed and the l-th relation have occurred and
the reason to use the first ‘Max’ is that no relation occurs until all tasks be prepared to communicate
and shows the amount of time spent on l-th relation. Here Max is used because the connection times

26
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

vary due to network delays. Tturnaround represents the value of the task completion time of k subtasks,
q q

and the term 1 − ∑nl is used because after the last communication, 1 − ∑nl of each subtask is left.
l =1 l =1
In the previous example, the eij matrix represents the bid price of each player to be a preferred resource.
So in order to make a more competitive game, a pseudo-bid method is modeled to achieve the suggested
price where the auctioneer can choose the best costumer and player to have the best resources than
other choices. First, we assume that each resource has the specific capacity to execute certain tasks
that is displayed with C = (c1, c2, ..., cm). And the speed of executing each subtask on each resource
tij
is indicated through the following relationship wij = . Again the matrix eij indicates the cost of
cj
executing the task i on resource j and assume that ˜ j is the sum of all bids for that resource and is
n n

assumed as the price of a resource at that time and is obtained as ˜ j


= ∑eij . And θ−j i = ∑ekj is
i =1 k ≠i
assumed as the total bid of the competitors for resource j . From the above relationships it can be
obtained that the proportion of each subtask from the resource is calculated through the following
eij
relationship x ij = n
. The time and cost taken to execute the subtask i on resource j is defined
∑ ij e
i =1
as follows:

tij θ−j i
t ij = = wij + wij
c j x ij eij

eij = eij * tij = wij θ−j i + wij eij

Now, for any player would be the best choice of strategy we should consider proper function for
i
his payoff. For example, if t j is assumedas the payoff, all players tend to have the highest rate of
execution of the subtasks, therefore, the best choice is the lowest payoff. On the other hand, if cost
is considered as the payoff ( eij ), the highest price always dominates the other strategies (Dominated
strategy) and the maximum eij is dominant over all other competitors. The best way in choosing
payoff is the combination of the two constraints. Based on the Constant Elasticity of Substitution
(CES) as previously mentioned, the output of the player is changed as follows:

 m m 
re ln ∑ eij + rt ln ∑ t ij 
 j =1 j =1 
ϕ=
re + rt

in such a way that rt and re are the output demand elasticity of time and cost respectively. Cost ratio
of each player to other players which is the weight coefficient that indicates the importance of cost
or time, and the goal of all players are to minimize the cost and time therefore optimal objective
function of player i is

min ϕ

27
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

m m

subject to ∑eij ≤ E0 ,∑t ij ≤ T0


j =1 j =1

Through Lagrangian’s definition we obtain Hamilton’s equation:

 m   m 
 = Æ+ vei 
 ∑ eij − E0  + vti 
  ∑ t ij − T0  +

 j =1   j =1 

By fixing the parameters t ij and eij the function  is composed of three variables of eij , vei , λ it
where through a derivative of eij , vei , vti to the proposed value of player i will be obtained for resource
j.
1. So we have:

∂ wij θ−j i r wij r wij θ−j i


= vei wij − vti 2 + e . − t . =0
∂eij eij re + rt ∑eij re + rt ∑t ij eij2

θ−k i
Simplifying the above equation and applying derivation we will finally have: eik = eij
θ−j i
2. With partial derivation to vei

k −1 i − i m

eik =
Ei − ∑ wθ
j =1 j j
− wkiθ k−i − ∑ wi θ −i
j = k +1 j j

k −1 i θ −j i m θ j−i
∑ w
j =1 j −i
θk
+ wki + ∑ wi
j = k +1 j θ k−i

3. And with partial derivation to vti

k −1 m

eik =
∑ j =1
wij θ−j i θ−k i + wki θ−k i + ∑ wij θ −j i θ−k i
j = k +1

m
Ti − ∑ wij
j =1

Ti and Ei, are the time constraints and the cost of player i respectively, and θ −j i also represents
an estimate of the total bids of competitors. Each of the formulas 2 and 3 show the effect of cost and
time on player i . This equality shows that the current bid eik obtained from the past θ−j i ( j < k ) ,
current θ−k i and future θ−j i (j>k) of competitors bid. Here, for simplifying the problem, it is assumed
that other’s bid in the network is fixed, so the game is modeled by Static Game with complete
information. But since this seems far-fetched in the real world, and rivals are trying to gain the
maximum benefit, it should be estimated from the past information of the competitors.

28
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

θ1−i , …, θ k−i , θ k−+i1 , …, θ m−i 


 

Where θk-+i 1, …, θm-i is an estimation of the bid price of the competitors in the future.

6. PARAMETERS ESTIMATION

The existence of Nash equilibrium in the game with complete information has been proved by Berdin
(Bredin, et al., 2003). But the new problem is when buyers do not intent to make visible their bid to
other competitors. In this environment, the question arises how the players are aware of each other,
or in other words, its price estimate. As described in the auction game we know the history of past
stages Θ1, …, Θk −1 and we can use them to estimate the next bids. In Decision theory, Bayes’s theory
shows how the probability of a hypothesis depends on its inverse if the observed evidence is given.
The posteriori distribution can be calculated by priori P (Θ) and its likelihood function P (Θ | Θk )
is:

P (Θk | Θ) P (Θ)
P (Θ | Θk ) =
∫ P(Θ k
| Θ)P (Θ)d Θ

To calculate P (Θ | Θk ) we can use Bayesian’s learning mechanism. Using a Bayesian learning


method can be determines the maximum likelihood prediction of the resources price. So future bids
are estimated as:

θk−+i1 = E (Θ | Θk ) − E e i ( )
θm−i = E (Θ | Θm −1 ) − E (e ) i

Where E i is the bids vector of player i. Three parameters ski , tki and vki are introduced, which stand
for information from other competitors:

m k −1
vki = ∑ w + ∑w
j = k +1
i
j
j =1
i
j

m k −1

tki = ∑ w j θ j + ∑w j θ j
i −i i −i

j = k +1 j =1

m k −1

ski = ∑w θ + ∑wij θ−j i


i −i
j j
j = k +1 j =1

Substituting .. by ˜ k
− eik in equation 2, the function ki ( ˜ k ) is obtained as follows:

29
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

 2
   1 i i i 
  i 2
(tk ) ˜ k    *( E − s k − w j ˜ k ) 
ki ( ˜ k ) =   + 1 − 1  2 
 1
 *( E i − ski − wij ˜ k ) 2    (tki ) 
 4    

In fact, the function ki (˜ k ) shows that task bid is decided not only by its budget, but also by
its workload. As seen in Figure 2 and 3 shows that a wealthier user is capable of submitting a larger
positive bid and has a larger participated bid range and on the other hand the player with heavy
workload have to save cash for the following competitions.
By replacing θ−j i with ˜ k − bki in equation 3, we obtain the function g ki ( ˜ k ) , that characterizes
bid price under time constraint:

( ) (T ) ( )
2 2
4 tki i
− vki − wki ˜ + tki wki (t )
i

g ki (˜ )=
k k
k
+ ˜ k

T i − vki
( ) ( )
2
2 T i − vki 2 T i − vki

This function is a monotone increasing function with respect to ˜ k which means that bids can
grow to infinity if the budget constraint is omitted.
In Figure 4, the proposed function is showed at time and budget constraints.
The cross curve in Figure 4 is chosen as the new bid function Lik (Θk ) :

Figure 2. Bid under budget constraints

30
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

Figure 3. Bid under time constraint

  i (Θ ): i (Θ ) ≥ g i (Θ )

Lik (Θk ) =  k k k k k k

0 :ki (Θk ) < gki (Θk )


7. EQUILIBRIUM PRICE

In order to achieve an equilibrium price in bids given by the different players:


(1)
First: the players who need a resource k make their initial bids: Θk = ∑eij
N
In the first round, the money that players are asked to pay for the resource partition is calculated
( ( ) ) . In general we have:
by Lik Θk
1

( ( ))
eikm = Lik Θk
m

Where m means values in the m-th round. Therefore, the price that the cloud provider prepares to
charge from N users is

Θk
(m +1)
= ∑Lik Θk
N
( ( ) ) .
m

31
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

Figure 4. Bid under constraints of budget and time

i( m ) eikm
Hence, the corresponding partition is xk . If anyone disagree with the resources that
=
( m +1)
˜ k
allocated to the players due to either insufficient resource, or high cost, iteration will continue. Players
can optimize their bids in the next round. If all players satisfy their allocation proportion, the current
price

(m +1) (m )
Θk = Θk
(m +1)
The resource price Θk is agreed to by every player, so this is an equilibrium price.
In game theory, the Nash equilibrium occurs when no player can obtain more resource by changing
his bid while others keep their unchanged, that is

( )
eik* = max x eik , θk−i * .

Where eik* is the equilibrium bid and θk−i * = Θk* − eik* is equilibrium performance of his competitors.
When demand is lower than the supply ∑x > 1 , players have the highest motivation to pay more
i
k
N
to improve their own allocation proportion, so the price of the resource increases accordingly. High
resource price will then reduce xki until ∑
xki approches one. The reverse situation
N

xki < 1 is also
N
true. Figure 5 shows the equilibrium of resource prices for a dynamic situation when the bid distribution
of the players is shown similar.

32
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

Figure 5. Equilibrium price of the resource in time and cost constraints

8. IMPLEMENTATION AND EXPERIENCE

Since the implementation of an algorithm for resource allocation in real environments would be too
expensive and time consuming, the implementation of this simulation algorithm was done in cloudsim
(Buyya, Ranjan, & Calheiros, Modeling and simulation of scalable cloud computing environments
and the cloudsim toolkit: Challenges and opportunities, 2009). The auction system are firstly
implemented based on different systems then the proposed model is simulated by different players
at the same time. The probability distribution of arrival rate was considered as normal and poison
distribution. In the simulation, four entities have been considered. CIS repository which is a database
of the cloud resources is used to map between users and resources in a data center. Given the task of
integration between hardware, database, storage devices, software applications and operating systems
to create a virtual pool of resources and present them to the user used. Next entities or players are
the users who want to execute a set of independent tasks and the resources needed for the purpose
of performing the tasks on the resource are willing to pay. These players make bids based on the
priorities of economic empowerment strategies. The auctioneer is a middleman for creating, managing
and executing an economically competitive environment. The auctioneer tries to achieve an equilibrium
in a non-cooperative game between players based on predefined rules. Additionally, users who want
to execute their task, call the auctioneer and are queued according to his requested time. In a regular
round, the auctioneer collects the data, makes a decision and sends the demands to the data centers.
At any round of the auction, each bidder sends his demand including policy of offering a virtual
machine, local time, bandwidth, CPU power and their proposal. The auctioneer receives all bids and
announces them to all players. In a game with incomplete information, players are aware only of their
bid and the bids sum. They dynamically predict future prices and update information about their

33
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

competitors θ1−i , …, θk−i , θk−+i1, …, θm−i  . Thus, the auctioneer makes a decision and announce it to all
 
players and asks that all players announce their comments.
If all were satisfied, the auctioneer announces his decision to the data center and ends the game.
User can run their task and pay the price. When a new auction started, the player calculates and
reports the bid to auctioneer. If a player receives a message including the parameters of the other
bids, try to estimates the future sum of other bids using Bayesian learning method. Finally, when the
winner bidder allocated to the resource and received his proportion then he updated his knowledge
about resource price. This process is shown in Algorithm 1. In the perspective of an auctioneer,
auction begins when a new task is received. Once the auction starts, a message containing a request
is sent to all users. After receiving all bids, auctioneer will inform users ˜ k . At the same time Bidding
Function Parameters(including the constraints of time and cost) of all users are collected and a rational
decision is taken on a price range. If the difference between ∑hki and ˜ k is predefined as a threshold
value, the more consistently rejected the price of the demand and ask for a new price ( hki is the cost
for the resource by taking into account the constraints of time and cost).
When the equilibrium price was obtained the resource allocation has been informed to all. This
process is shown in Algorithm 2.
Algorithm 1. Agent i bidding algorithm
1: submit all jobs or tasks to auctioneer
2: if (the user’s agent receives a message of inform start) then
3:       add to the current auction
4: end if
5: if (the user’s agent receives message of call for bids) then
6: set (ei1, …, ei, k −1 ) ← eik
7: send message of proposal to auctioneer
8: end if
9: if (the user’s agent receives message of call for parameters)
then
10: inquiry historical price θ1−i , …, θ k−−i 1 ← θ k−i ( )
11: forecast future price ( θ1−i , …, θ k−−i1 ) ← θ k−i
12: send message of competitor’s information to auctioneer
13:end if
14:if (the user’s agent receives message of resource price) then
15: (
˜ 1 , …, ˜ k −1 ← ˜ k)
16: send message of job execution to resource
17: delete current auction
18:end if
Algorithm 2 service provider’s agent allocation algorithm
Require: b ≥ 2(number of bidders)
Flag ← true
1: initialize service provider’s agent
2:while (flag equal to true and auction k) do
3:set user’s agent to auction k
4: broadcast message to call for bids to all user’s agent
5: while user’s agent proposal arrives do
6:collect proposal message from user’s agent
7:end while

34
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

8:broadcast message to inform ˜ k


9: while bidder’s parameter arrives do
10:collect parameter message from user’s agent
11:end while
12:while user’s agents disagree proportion do
13:for all user’s agent do
14:build new bid function hki
15:end for
16: diff = ∑hki −Θk
17:if diff > th-v then
18: ˜ k = ∑h
i
k
19:else
20:flag ← false
21:end if
22:update vector θ1−i , …, θ k−i , θ k−+i1 , …, θ m−i 
 
23:end while
24:broadcast message to inform resource price
25: exit the current auction and wait for a new auction
26: end while
27:delete service provider’s agent

9. EVALUATION

A simulation is carried out to evaluate the proposed approach by Cloudsim. In this simulation 60
hosts are created within a data center and each has different characteristics that have been considered
and randomly selected from Table 3.
To model the players, a list of specifications such as the required CPU, operations, I / O and the
size of input file is considered. 32 users within the cloud system are simulated, and each player is
performing a certain number of tasks. The normal distribution is used to describe the financial
capabilities of users. The proposed function of E i has the mean µ i and variance σ i . Here we select
one of the players and consider the price as 10$ and a variance of 0.1. This player does not know the
economic situation of other users and only make his bid based on their past behavior. Figure 6 shows
how prices change over time. We conclude that the amount of budget has an impact on the equilibrium
price because the selfish and rational users always seek to save more money than others. However,
the average price is below the equilibrium price. On the other hand, if players have enough capital,
they are motivated to offer higher prices to their greater proportion of the resources devoted to them.
Next the accuracy of Bayesian learning predictions is evaluated when the cloud market is full
of uncertainty, such as insufficient knowledge and online task submitting. Figure 7, exhibits the
prediction of resource price in a dynamic game of incomplete information.
When the common knowledge is insufficient, the user experientially predicts other bids using
the published equilibrium prices. When the standard deviation is small, not more than 0.01, the
simulation works well. If a user runs and provides an unstable condition and offer in a risky process,
it is difficult to predict the exact price.

10. CONCLUSION

In this paper a non-cooperative game for the resource allocation problem in multiuser cloud scenarios
are presented. Scheduling models include subscription-bid auction, the bid function, price estimation

35
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

Table 3. Resource properties

Characteristics Parameters
Machine architecture x86, Sun Ultra, PowerPC
Operating system Linux, Windows, Solaris
Virtual machine monitor Xen, VMware
Number of PE 2, 4, 8 2, 4, 8
MIPS rating per PE 100, 200, 300, 400
Memory 512M, 1024M,2048MB
Storage 160G, 320G, 500G
Bandwidth 128M, 256M, 512M

Figure 6. Integration of bids in equilibrium

and analysis of the equilibrium point. The algorithm is based on game theory for auction model,
the bid’s finding and sharing-bid models in the context of cloud resources in the simulation were
presented. Results show that resource allocation can reach Nash equilibrium among non-cooperative
users even though common knowledge is insufficient, and that the Bayesian learning forecast has the
best and most stable performance. Therefore, our algorithms support financially smart customers
with an effective forecasting method and help an auctioneer decide on an equilibrium resource price,
so that they can potentially solve resource allocation problems in cloud computing.

36
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

Figure 7. Prediction the price of resources

37
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

REFERENCES

Abdelzaher, T., Shin, K., & Bhatti, N. (2002). Performance Guarantees for Web Server End-Systems: A
Control-Theoretical Approach. IEEE Transactions on Parallel and Distributed Systems, 13(1), 80–96.
doi:10.1109/71.980028
Altmann, J., Courcoubetis, C., Stamoulis, G. D., Dramitinos, M., Rayna, T., Risch, M., & Bannink, C. (2008).
GridEcon: A market place for computing resources. Proc. Workshop on Grid Economics and Business Models
(pp. 185–196). doi:10.1007/978-3-540-85485-2_15
An, B., Miao, C., & Shen, Z. (2007). Market based resource allocation with incomplete information. Proceedings
of the 20th International Joint Conference on Artificial Intelligence (pp. 1193–1198). Morgan Kaufmann
Publishers Inc.
Armbrust, M., Fox, A., & Griffith, A. R. (2009). Above the clouds: A Berkeley view of cloud computing. EECS
Department, University of California, Berkeley.
Bredin, J., Kotz, D., Rus, D., Maheswaran, R. T., Imer, C., & Basar, T. (2003). Computational markets toregulate
mobile-agent systems. Autonomous Agents and Multi-Agent Systems, 6(3), 235–263. doi:10.1023/A:1022923422570
Buyya, R., Abramson, D., Giddy, J., & Stockinger, H. (2002). Economic models for resource management and
scheduling in grid computing. Concurrency and Computation, 14(13-15), 1507–1542. doi:10.1002/cpe.690
Buyya, R., Ranjan, R., & Calheiros, R. N. (2009). Modeling and simulation of scalable cloud computing
environments and the cloudsim toolkit: Challenges and opportunities. Proceedings of the 7th High Performance
Computing and Simulation Conference. IEEE Computer Society. doi:10.1109/HPCSIM.2009.5192685
Buyya, R., Ranjan, R., & Calheiros, R. N. (2010). InterCloud: Utility-oriented federation of cloud computing
environments for scaling of application services. Proc. 10th International Conference on Algorithms and
Architectures for Parallel Processing (pp. 13–31). doi:10.1007/978-3-642-13119-6_2
Campos-Nanez, E., Fabra, N., & Garcia, A. (2007). Dynamic auctions for on-demand services. IEEE
Transactions on Systems, Man, and Cybernetics. Part A, Systems and Humans, 37(6), 878–886. doi:10.1109/
TSMCA.2007.904822
Chen, W., Qiao, X., Wei, J., & Huang, T. (2012). A profit-aware virtual machine deployment optimization
framework for cloud platform providers. Proc. 5th IEEE International Conference on Cloud Computing (pp.
17–24).
Chohan, N., Castillo, C., Spreitzer, M., Steinder, M., Tantawi, A., & Krintz, C. (2010). See spot run: Using
spot instances for MapReduce workflows. Proc. 2nd USENIX Workshop on Hot Topics in Cloud Computing.
Chun, B. N., & Culler, D. E. (2002). User-centric performance analysis of market-based cluster batch schedulers.
Proceedings of the 2nd IEEE/ACM International Symposium on Cluster Computing and the Grid (p. 30).
Washington, DC, USA: IEEE Computer Society. doi:10.1109/CCGRID.2002.1017109
D., A., B., P., & M., P. (2013). Generalized Nash Equilibria for the Service Provisioning Problem in Cloud
Systems. IEEE Transactions on Services Computing, 6(4), 429-442.
Das, A., & Grosu, D. (2005). Combinatorial auction-based protocols for resource allocation in grids. Proc.
19th International Parallel and Distributed Processing Symposium 6th Workshop on Parallel and Distributed
Scientific and Engineering Computing.
Dash, R. K., Vytelingum, P., Rogers, A., David, E., & Jennings, N. R. (2007). Market-based task allocation
mechanisms for limited-capacity suppliers. IEEE Transactions on Systems, Man, and Cybernetics. Part A,
Systems and Humans, 37(3), 391–405. doi:10.1109/TSMCA.2007.893474
Fan, Q., Wu, Q., Magoulés, F., Xiong, N., Vasilakos, A. V., & He, Y. (2009). Game and balance multicast
architecture algorithms for sensor grid. Sensors (Basel, Switzerland), 9(9), 7177–7202. doi:10.3390/s90907177
PMID:22399992
Feitelson, D. (n. d.). Parallel Workloads Archives: Logs. Retrieved from http://www.cs.huji.ac.il/labs/parallel/
workload/logs.html

38
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

Feitelson, D. (n. d.). Parallel Workloads Archives: Standard Workload Format. Retrieved from http://www.
cs.huji.ac.il/labs/parallel/workload/swf.html
Gagliano, R. A., Fraser, M. D., & Schaefer, M. E. (1995). Auction allocation of computing resources.
Communications of the ACM, 38(6), 88–102. doi:10.1145/203241.203262
Galstyan, A., Kolar, S., & Lerman, K. (2003). Resource allocation games with changing resource ca-pacities.
Proceedings of the International Conference on Autonomous Agents and Multi-Agent Systems (pp. 145–152).
ACM Press.
Garg, S., & Buyya, R. (2011). Market-Oriented Resource Management and Scheduling: A Taxonomy and Survey.
Cooperative Networking, 277-306.
Garg, S. K., Venugopal, S., Broberg, J., & Buyya, R. (2013). Double auction-inspired meta-scheduling of parallel
applications on global grids. Journal of Parallel and Distributed Computing, 73(4), 450–464. doi:10.1016/j.
jpdc.2012.09.012
Ghosh, R., & Naik, V. K. (2012). Biting of safely more than you can chew: Predictive analytics for resource over-
commit in IaaS cloud. Proc. 5th IEEE International Conference on Cloud Computing (pp. 25–32). doi:10.1109/
CLOUD.2012.131
Gibbons, R. (1992). A Primer in Game Theory. Pearson Higher Education.
Gibney, M. A., Jennings, N. R., Vriend, N. J., & Griffiths, J.-M. (1999). Market-based call routing in
telecommunications networks using adaptive pricing and real bidding. Proceedings of the Third International
Workshop on Intelligent Agents for Telecommunication Applications (pp. 46–61). Springer-Verlag. doi:10.1007/3-
540-48165-6_4
Gomoluch, J., & Schroeder, M. (2003). Market-based resource allocation for grid computing:A model and
simulation. Proc. 1st International Workshop on Middleware for Grid Computing (pp. 211–218).
Grosu, D. (2004). AGORA: An architecture for strategyproof computing in grids. Proc. 3rd International
Symposium on Parallel and Distributed Computing (pp. 217–224). doi:10.1109/ISPDC.2004.9
J, A., D, A., & M, P. (n. d.). Generalized Nash equilibria for SaaS/PaaS clouds. European Journal of Operational
Research. doi:10.1016/j.ejor.2013.12.007
Joita, L., Rana, O. F., Freitag, F., Chao, I., Chacin, P., Navarro, L., & Ardaiz, O. (2007). A catallactic market for
data mining services. Future Generation Computer Systems, 23(1), 146–153. doi:10.1016/j.future.2006.06.007
Kansal, A., Zhao, F., Liu, J., Kothari, N., & Bhattacharya, A. A. (2010). Virtual machine power metering and
provisioning. Proc. 1st ACM Symposium on Cloud computing. doi:10.1145/1807128.1807136
Kephart, J., Chan, H., Levine, D., Tesauro, G., Rawson, F., & Le-furgy, C. (2007). Coordinating multiple
autonomic managers to achieve specified power-performance tradeoffs. Proc. IEEE Intl. Conf. on Autonomic
Computing (ICAC), (pp. 145–154).
Khan, S., & Ahmad, I. (2006). Non-cooperative, semi-cooperative, and cooperative games-based grid resource
allocation. Parallel and Distributed Processing Symposium (p. 10). doi:10.1109/IPDPS.2006.1639358
Khanna, G., Beaty, K., Kar, G., & Kochut, A. (2006). Application performance management in virtualized server
environments. Proc. of the IEEE Network Ops.and Mgmt (pp. 373–381).
Kusic, D., & Kandasamy, N. (2006). isk-Aware Limited Lookahead Control for Dynamic Resource Provisioning
in Enterprise Computing Systems. Proceedings of the Int’l Conf. Autonomic Computing.
Kusic, D., Kephart, J. O., Hanson, J. E., Kandasamy, N., & Jiang, G. (2008). Power and Performance Management
of Virtualized Computing Environments via Lookahead Control. Proceedings of the Int’l Conf. Autonomic
Computing. doi:10.1109/ICAC.2008.31
Kwok, Y. k., Song, S., & Hwang, K. (2005). Selfish grid computing: Game-theoretic modeling and nash
performance results. In Proceedings of International Symposium on Cluster Computing and the Grid, (pp. 9-12).
Li, A., Yang, X., Kandula, S., & Zhang, M. (2010). CloudCmp: Shopping for a cloud made easy. Proc. 2nd
USENIX Workshop on Hot Topics in Cloud Computing. doi:10.1145/1879141.1879143

39
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

Lin, W.-Y., Lin, G.-Y., & Wei, H.-Y. (2010). Dynamic auction mechanism for cloud resource allocation. Proc.
2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing (pp. 591–592).
Lynar, T. M., Herbert, R. D., & Simon, S. (2009). Auction resource allocation mechanisms in grids of
heterogeneous computers. WSEAS Transactions on Computers, 8(10), 1671–1680.
Maheswaran, R. T., & Basar, T. (2003). Nash equilibrium and decentralized negotiation in auctioning divisible
resources. Group Decision and Negotiation, 12(5), 361–395. doi:10.1023/B:GRUP.0000003745.98183.8d
Meng, X., Isci, C., Kephart, J., Zhang, L., Bouillet, E., & Pendarakis, D. (2010). Efficient resource provisioning
in compute clouds via vm multiplexing. Proc. 7th international conference on Autonomic computing.
doi:10.1145/1809049.1809052
Nguyen, T.-M.-H., & Magoul`es, F. (2009). Autonomic data management system in grid environment. Journal
of Algorithms & Computational Technology, 3(1), 155–177. doi:10.1260/174830109787186596
Ozturan, C. (2004). Resource bartering in data grids. Science of Computer Programming, 12(3), 155–168.
doi:10.1155/2004/601381
Pinheiro, E., Bianchini, R., & Heath, T. (2003). Dynamic Cluster Reconfiguration for Power and Performance.
Kluwer Academic Publishers.
Qin, W., & Wang, Q. (2007). Modeling and Control Design for Performance Management of Web Servers
via an LPV Approach. IEEE Transactions on Control Systems Technology, 15(2), 259–275. doi:10.1109/
TCST.2006.886433
Quiroz, A., Kim, H., Parashar, M., Gnanasambandam, N., & Sharma, N. (2009). Towards autonomic workload
provisioning for enterprise grids and clouds. Proc. 10th IEEE/ACM International Conference on Grid Computing,
(pp. 50–57). doi:10.1109/GRID.2009.5353066
R., S., & P., K. (2013). A survey on auction based resource allocation in cloud computing. International Journal
of Research in Computer Applications and Robotics, 1(9), 96-102.
Raghavendra, R., Ranganathan, P., Talwar, V., Wang, Z., & Zhu, X. (2013). No ‘Power’ Struggles: Coordinated
Multi-Level Power Management for the Data Center. SIGARCH Computer Architecture News, 36(1), 48–59.
doi:10.1145/1353534.1346289
Ranganathan, P., Leech, P., Irwin, D., & Chase, J. (2006). Ensemble-level power management for dense blade
servers. Proc. of the IEEE Sym. on Computer Architecture, (pp. 66–77).
Risch, M., Altmann, J., Guo, L., Fleming, A., & Courcoubetis, C. (2009). The gridecon platform: A business
scenario testbed for commercial cloud services. Seoul National University, Technology Management, Economics
and Policy Program.
Risch, M., Altmann, J., Guo, L., Fleming, A., & Courcoubetis, C. (2009). The GridEcon platform: A business
scenario testbed for commercial cloud services. Proc. Workshop on Grid Economics and Business Models (pp.
46–59). doi:10.1007/978-3-642-03864-8_4
Sandholm, & W., T. (1999). Multiagent systems: a modern approach to distributed artificial intelligence.
Distributed rational decision making, 37, 201–258.
Stanoevska-Slabeva, K., Parrilli, D. M., & Thanos, G. (2008). Beingrid: Development of business models for the
grid industry. Proceedings of International Workshop on Grid Economics and Business Models (pp. 140–151).
doi:10.1007/978-3-540-85485-2_11
Steinder, M., Whalley, I., Carrera, D., Gaweda, I., & Chess, D. (2007). Server virtualization in autonomic
management of heterogeneous workloads. Proc. of the IEEE Sym. on Integrated Network Management (pp.
139-148).
Stratford, N., & Mortier, R. (1999). An economic approach to adaptive resource management. In Proceedings
of the 7th Workshop on Hot Topics in Operating Systems (pp. 142-147). IEEE Computer Society. doi:10.1109/
HOTOS.1999.798391
Stuer, G., Vanmechelen, K., & Broeckhove, J. (2007). A commodity market algorithm for pricing substitutable
grid resources. Future Generation Computer Systems, 23(5), 688–701. doi:10.1016/j.future.2006.11.004

40
International Journal of Cloud Applications and Computing
Volume 6 • Issue 1 • January-March 2016

Sutherland, I. E. (1968). A futures market in computer time. Communications of the ACM, 11(6), 449–451.
doi:10.1145/363347.363396
Teng, F., & Magoulès, F. (2010). A new game theoretical resource allocation algorithm for cloud computing.
Proceedings of the 5th international conference on Advances in Grid and Pervasive Computing (GPC’10) (pp.
321-330). Springer-Verlag. doi:10.1007/978-3-642-13067-0_35
Van, H. N., Tran, F. D., & Menaud, J.-M. (2009). Autonomic virtual resource management for service hosting
platforms. Proc. ICSE Workshop on Software Engineering Challenges in Cloud Computing.
Vecchiola, C., Calheiros, R. N., Karunamoorthy, D., & Buyya, R. (2012). Deadline-driven provisioning of
resources from scientific applications in hybrid clouds with aneka. Future Generation Computer Systems, 28(1),
58–65. doi:10.1016/j.future.2011.05.008
Walker, E., Brisken, W., & Romney, J. (2010). To lease or not to lease from storage clouds. IEEE Computer,
43(4), 44–50. doi:10.1109/MC.2010.115
Wang, H., Jing, Q., Chen, R., He, B., Qian, Z., & Zhou, L. (2010). Distributed systems meet economics: Pricing
in the cloud. Proc. 2nd USENIX Workshop on Hot Topics in Cloud Computing.
Wei, G., Vasilakos, A., Zheng, Y., & Xiong, N. (2009). A game-theoretic method of fair resource allocation
forcloud computing services. The Journal of Supercomputing, 54, 1–18.
Wolski, R., Plank, J. S., Brevik, J., & Bryan, T. (2001). Analyzing market-based resource allocation strategies for
the computational grid. International Journal of High Performance Computing Applications, 15(3), 258–281.
doi:10.1177/109434200101500305
Wolski, R., Plank, J. S., Brevik, J., & Bryan, T. (2001). G-commerce: Market formulations controlling resource
allocation on the computational grid. Proceedings of International Parallel and Distributed Processing Symposium
(p. 46). doi:10.1109/IPDPS.2001.924985
Zaman, S., & Grosu, D. (2013). A Combinatorial Auction-Based Mechanism for Dynamic VM Provisioning
and Allocation in Clouds. Cloud Computing. IEEE Transactions on, 1(2), 129–141.

Amin Nezarat is a PhD candidate in Software Systems at Shiraz University since 2012. He received his B.S. in
Computer Science from the Shahid Bahonar University, M.S. in IT engineering from the Shiraz University in 2003
and 2010, respectively. His research interests include cloud and grid computing, parallel computing, resource
scheduling, big data, multi agent systems, game theory, electronic commerce.

Gh. Dastghaibyfard received his MSc and PhD in Computer Science from Electrical Engineering and Computer
Science Department, College of Engineering, University of Oklahoma, Norman Oklahoma USA, in 1979 and 1990,
respectively. He is currently an assistant professor of Computer Science in Department of Computer Science and
Engineering, College of Electrical & Computer Engineering, Shiraz University, Shiraz, Iran. His current research
interests include Parallel Algorithms, Grid Computing and Information Technology.

41
View publication stats

You might also like