You are on page 1of 12

IEEE SYSTEMS JOURNAL 1

Resource Allocation in Cloud Computing Using the


Uncertainty Principle of Game Theory
Parvathy S. Pillai, Student Member, IEEE and Shrisha Rao, Senior Member, IEEE

Abstract—Virtualization of resources on the cloud offers a Optimizing resource allocation to ensure the best perfor-
scalable means of consuming services beyond the capabilities of mance can be done in many ways. Present IaaS service
small systems. In a cloud that offers infrastructure like CPU, providers, largely unaware of application-level requirements,
memory, hard-disk, etc., a coalition of virtual machines formed by
grouping two or more may be needed. Economical management do not provide any optimization by configuring the required
of cloud resources needs allocation strategies with minimum software on the VMs. Relying only on application-level op-
wastage, while configuring services ahead of actual requests. We timization is not sensible, as such is restricted to an existing
propose a resource allocation mechanism for machines on the infrastructure allocation. The placement of VMs is however in
cloud, based on the principles of coalition formation and the the hands of the IaaS provider and can be changed based on
uncertainty principle of game theory. We compare the results
of applying this mechanism with existing resource allocation the topology of the machines in the cloud system. Application-
methods that have been deployed on the cloud. We also show level optimization techniques [6]—along with topology-based
that this method of resource allocation by coalition formation VM placement—offers better chances of performance im-
of the machines on the cloud leads not only to better resource provement with lower resource wastage.
utilization but also higher request satisfaction. The cloud may be built up of tens of thousands (or even
Index Terms—Cloud computing, coalition formation, game more) of physical machines, and considering each one as
theory, resource allocation, uncertainty principle. a possible host for a requested VM rapidly grows out of
proportion as requests keep coming. Cloud providers today
I. I NTRODUCTION have stuck to offering services of VMs of specific sizes. For
instance Microsoft’s Azure [7] provides VMs of configurations

I NFRASTRUCTURE as a service (IaaS) cloud systems of-


fer computational infrastructure services to multiple clients
by means of virtual machines (VMs). The recent surge in
as shown in Table I. Hence, the cloud providers’ current
situation is that they know the type of VMs that may be
requested, but are unaware of the exact request specifications
the popularity of IaaS cloud systems can be attributed to the like the number of instances of a particular type of VM that
on-demand availability of computing resources such as CPU may be asked for by the client. The other fact to be highlighted
cores, memory, disks, etc., packaged as virtual machines that is that VMs are not capable of getting configured on the go.
are billed on use [1], [2]. At times, the service requirements They have to be up and running on the host machines.
are such that not all VMs can be hosted on a single machine.
Incoming task requests may demand VMs of different capaci- TABLE I
ties as well. In this scenario, coalitions of machines need to be M ICROSOFT A ZURE VM C ONFIGURATIONS [7]
formed to service a particular request [3]. Especially in IaaS
Type CPU Memory (GB) Storage
systems, VMs are available in specific configurations that are (GHz) (TB)
further customized by clients by adding operating systems and
Small 1 × 1.6 1.75 0.22
software on top [2]. Coalitions of pre-configured VMs created Medium 2 × 1.6 3.5 0.48
before the arrival of requests address scalability concerns to a Large 4 × 1.6 7 0.98
large extent, besides shortening response times. Extra Large 8 × 1.6 14 1.99

In this paper, we model the cloud as a multi-agent system


that is comprised of agents (machines) with varied capabilities. Game-theoretic approaches in general help simplify com-
Allocation of resources to perform specific tasks requires plex problems to a great extent. Former game-theoretic ap-
agents to form coalitions, as the resource requirements may be proaches to similar problems have needed the use of integer
beyond the capabilities of any single agent (machine). Coali- programming for solving the payoff matrix for optimization.
tion formation is modeled as a game, and uses the uncertainty Integer programming has a high complexity and goes out
principle of game theory [4] to arrive at approximately optimal of bounds if the number of machines and requests increase
strategies of the game [5]. even by a modest amount [8]. Our approach however has to
find only the machine combinations by solving the simpler
Manuscript received July 19, 2013; revised September 11, 2013, January
12, 2014, March 23, 2014; accepted March 26, 2014.
equation of Theorem 1, and offers an alternative to integer
Parvathy S. Pillai is with the School of Computing, National University of programming.
Singapore. E-mail: parvathysp@ieee.org. Our resource allocation mechanism for the cloud prioritizes
S. Rao is with the International Institute of Information Technology -
Bangalore, Bangalore 560100, India. E-mail: shrao@ieee.org.
different aspects.
Digital Object Identifier 10.1109/JSYST.2014.2314861 1) We wish to take advantage of any knowledge of the types
IEEE SYSTEMS JOURNAL 2

of VMs that may be requested. This foresight of the As compared to our previous work, the present modified
demand allows us to form coalitions of machines to host approach is for the cloud rather than server farms. The host
VMs even without the actual request being yet available. machines are capable of being part of multiple coalitions,
2) In data-intensive applications like MapReduce [9] or even provided their participation does not exceed the maximum
web search [10], the placement of disks which hold data number specified for each machine. The coalitions are also
can affect performance to a great extent. Taking this not limited to having a pre-defined number of members.
into account, coalitions of machines that are closer in
proximity (facilitating lowered data movement) are given
B. Literature
higher payoffs.
3) The exact task information is uncertain until the arrival Resource allocation [11] has been widely researched with
of the actual request. respect to operating systems, grid computing, server farms,
Thus, we implement a resource allocation mechanism for and cloud computing management. The aim of allocation
the cloud that is demand-aware and topology-aware, and uses mechanisms is to guarantee a mapping to satisfy client require-
a game-theoretic approach based on coalition formation of ments with the provider’s infrastructure. In this regard, many
machines for requests with uncertain task information. With resource allocation strategies have been proposed that focus on
these ideas in place, we can use our agent-based resource different aspects of performance. Some considerations taken
allocation mechanism for the IaaS cloud. into account while devising a resource allocation strategy are
The evaluation of the effecacy of our approach is carried out the current workload of the cloud, minimum response time,
maximum satisfaction of requests, and minimum resource
by comparison with common commercial allocation strategies
wastage [11]. Hence, we can say that resource allocation is
on the cloud. We evaluate it based on VM requests gener-
ated randomly, also including data-intensive requests. These an optimization problem [12].
workloads are chosen because they are very generic and do Demand-based resource allocation assigns resources on the
not solely apply to a specific application domain. Evaluations cloud dynamically based on the current workload. Such algo-
consider the time for task allocation, resource wastage, and rithms also help improve energy efficiency. Shanmuganathan
request satisfaction. The results are, as we shall discuss later, et al. [13] propose two algorithms called Distributed Binary
quite encouraging. Search (DBS) and Base + Proportional Excess (BPX) that
dynamically allocate the overall capacity among VMs based on
The rest of this paper is as follows. The related work is
their demand, user importance, reservation, and limit settings.
touched upon in Section II. Section III briefly introduces the
Demand forecasting techniques are used by Cao et al. [14]
uncertainty principle of game theory and coalition formation.
to implement a power-saving approach to resource allocation,
Our system model and proposed solution are presented in
which itself is modeled as a modified knapsack problem.
Section IV. Section V presents the algorithms, and Section VI
Another on-demand strategy proposed by Chen et al. [15] can
explains the approach taken for experimentation, and discusses
satisfy user requirements in limited time, with guaranteed-
the results. Section VII concludes the paper.
lowest request refusal rates. This algorithm uses resource
reconfiguration as a strategy to satisfy user requirements.
II. R ELATED W ORK Game-theoretic approaches to resource allocation in dis-
tributed systems are well known. A market-like environment is
A. Comparison to Earlier Work
used in auction-based decentralized resource scheduling [16]
In earlier work [5] we developed an agent-based resource to mitigate the complexities involved in message passing,
allocation mechanism under uncertain task specification, using reaching a closure and allocating the final schedule, issues as-
the principle of coalition formation from game theory. Servers sociated with distributed systems in general. Raman et al. [17]
in server farms were modeled as agents differing in their model resource management as an instance of matchmaking.
resource capabilities based on their compute, memory and Game-theoretic resource allocation on the cloud as proposed
storage capacities, the platforms they support, their software by Wei et al. [18] follows a two-step mechanism. In the
configurations, and such. Each request from clients may re- first step, each participant solves its optimization problem
quire some multitude of these resources to be utilized. Servers independently, without considering the multiplexing of re-
form coalitions prior to the arrival of task requests from clients. source assignments. In the second, an evolutionary mechanism
We assumed that the server agents know a possible set of changing the multiplexed strategies of the initial optimal solu-
tasks that may be allotted to them, but not the exact one. tions (minimizing their efficiency losses) is designed. Prasad
Each server agent chooses a coalition (strategy) from a set of and Rao [19] use auction-based mechanisms for resource
feasible coalitions (strategies). Prioritizing coalitions by agents procurements by cloud brokers.
happens by applying the uncertainty principle of game theory Different methods for task allocation via agent coalition
for zero-sum games. Such pre-computation is an important formation are discussed by Shehory and Kraus [20], whose
benefit as it avoids the delays inherent in reacting to requests algorithm consists of two main steps involving calculation
after they have been made. The proposed model is for non- of possible coalitions and coalition formation, in scenarios
overlapping coalitions, and considers the priority of the task of non-overlapping as well as overlapping coalitions. Au-
involved in calculating the payoff associated with the game tomated multi-party negotiation and task-oriented resource-
instances. sharing coalitions for computational grids are studied by He
IEEE SYSTEMS JOURNAL 3

and Ioerger [21]. Agent-based resource allocation in grid coalitions involve host machines—as compared to coalition
computing [22], and resource- and revenue-sharing on the formation among self-interested agents who are either resource
cloud using coalition formation [23], are also known. Niyato et users or companies owning resources on the grid [21], [22].
al. [23] consider the multiple cloud providers as agents who Coalitions among cloud providers [23], [24] have been called
form the coalition. These approaches to coalition formation cloud federations. The dynamics of these coalitions are dif-
are very useful when clear task specifications exist, but less ferent, because the agents are inherently self-interested due to
so when they do not. Combining coalition formation and game different ownerships, and make their own decisions according
theory, Hassan et al. [24] propose a solution for dynamic to their budgets, capabilities, goals, etc. Optimal coalition
resource allocation in a cloud federation. Cloud providers are formation under uncertain resource consumption by tasks are
defined with price functions that give incentives to other clouds planned by a Markov Decision Process (MDP) by Hosam and
to contribute resources and to form a federation. Coalition- Khaldoun [30]. It is known that exact solutions are intractable
based games are effective in fields that need cooperation from for large MDPs [31]. Our concern about uncertainty is of
different agents. Saad et al. [25] discuss coalition formation in which VMs will be required at what time, i.e., which task
wireless networks to maximize utilities of network partitioning arrives when. Kraus et al. [29] develop a protocol and employ
of antennas. Mashayekhy and Grosu [26] propose dynamic a heuristic-based approach for task domains, where each
virtual organization formation on the grid based on coalitional task should necessarily be present in a different agent. The
game theory. In later work, Mashayekhy and Grosu [12] design uncertainty there is about the capabilities of other agents. In
a mechanism that enables cloud providers to dynamically form our case, since we consider machine coalitions for specific VM
a cloud federation to maximize their profit. configurations on the cloud, not necessarily across providers,
Communication-aware job placement has been worked on the machines know of the others’ capabilities.
in the grid computing community. Such work mostly deals It may be noted that the problem of resource allocation in
with the overheads of WAN communication between grid cloud computing that we address in this paper is very different
sites [27]. For data-intensive applications like MapReduce, from that of resource procurement [19]. The problem of
Lee et al. [28] propose a topology-aware resource allocation allocation has to do with the cloud vendor or provider choosing
mechanism for IaaS based cloud systems, using a prediction what resources to devote to which purposes in anticipation
engine and genetic algorithm to find an optimal solution in a of possible demands from cloud users, while the problem of
large search space. procurement has to do with the cloud users (or brokers acting
An approach to coalition formation with uncertain hetero- on their behalf) choosing what cloud resources to obtain from
geneous information [29] was used for Request For Proposal which cloud vendors for the best possible match to the users’
(RFP) management, where each task is divided into multiple needs.
sub-tasks. The heuristic ranks the possible coalitions and
follows it with a negotiation step for establishing coalitions. III. BACKGROUND
An auction-based approach for coalition formation under un- A. Coalition Formation
certainty is described by Hosam et al. [30], and uses a Markov
As mentioned previously, coalition formation by agents
Decision Process (MDP) for formalizing sub-task selection.
occurs in systems with multiple agents which must cooperate
C. Notes to get a multitude of tasks done. Agents cooperate in a
coalition, as a single agent may not have all the capabilities
Tasks, resources, and their relationships are involved in
needed to execute a task. A typical multi-agent system can be
deciding their execution schedule on any system. Sub-task
formulated with the following specifications (see Table II for
dependencies and their turnaround times are important con-
notation):
siderations in a scheduling problem. Our work follows the
• Agents: There is a set of n agents, H = {H1 , . . . , Hn }.
resource allocation problem in particular, as compared to the
on-demand method for scheduling. Wei et al. [18] apply Each agent, Hi has a capabilities vector, BHi =
game theory in an evolutionary algorithm to improve upon {bi1 , . . . , bik }. The capabilities vector for an agent mea-
the initial independent optimal allocation formed by solving sures its resource capacity.
• Tasks: There is a set of m tasks, G = {G1 , . . . , Gm }.
binary integer programs. We use game theory for ordering
coalitions of host machines based on the uncertainty principle Each task, Gj has a necessities vector, NGj =
of game theory. {dj1 , . . . , djk }. The necessities vector for a task specifies
The on-demand strategies for resources allocation proposed its minimum resource requirements.
by Shanmuganathan et al. and Chen et al. [13], [15] take into • Payoffs:

account the workload at the time of task arrival. Our work 1) Task payoff: Each task, Gj is associated with a pay-
differs from these approaches and the forecasting techniques off, PGj , based on the resources it requires. A task
used by Cao et al. [14], as we rely on pre-computed open requiring a higher necessity set has a higher payoff.
coalitions which are demand-aware. The coalition formation
PGj ∝ NGj (1)
approach for multi-agent systems proposed by Shehory et
al. [20] has high communication complexity. As we check 2) Agent payoff: Each agent, Hi , receives a payoff for
for coalition feasibility based on a preference list, the com- being a part of coalition Cl that services the task
munication costs are considerably reduced. Our pre-computed Gj . The agents are rewarded payoffs based on their
IEEE SYSTEMS JOURNAL 4

contributions to any task assigned to the coalition they parameter δ of the game, as given by
are part of. 
δ = min max − max min aw,z . (3)
z w w z
P(Hi , Cl , Gj ) ∝ hBHi , PGj i (2) Theorem 1 (Székely and Rizzo [4]): If G(δ) denotes the
3) Expected payoff: Each Hi , calculates its expected class of two-player, finite, zero-sum games with commutator
payoff E(Cl , Hi ) for being part of the coalition, Cl . coefficient δ and h(δ) is the entropy of the two-point distribu-
1 δ
This is done to form a preference list of the coalitions tion ( 1+δ , 1+δ ), then a lower bound for entropies of optimal
∗ ∗
that it can be part of. solutions (x , y ) of games in G(δ) is given by
• Preference list computation: A preference list is cre- min(H(x∗), H(y∗)) ≥ h(δ) (4)
ated by solving instances of two-player zero-sum games
wherein each agent is a player, and the central authority Moreover, h(δ) is the greatest lower bound. 
who allocates the tasks which we call the task alloca-
tor [8] being the other player. The game specifications When δ > 0, the players realize that a mixed strategy is
are: optimal but cannot be sure of the optimal mixed strategy
chosen by the other player. Hence each player tries to find
1) Strategies for the agent: the different possible coalitions
a probability distribution that approximates the opponent’s
that it can be part of.
actions. The entropy is small when the probability mass is
2) Strategies for the task allocator: the different tasks.
very concentrated on a few strategies. Among mixed strategies
3) Payoff matrix, A = (al,j ): the rows correspond to
to be analyzed, the easiest ones are that of a two-point
the strategies (coalitions) of the agent and the columns
distribution. Minimum entropy corresponds to  the entropy
correspond to the strategies (tasks) of the task allocator; 1 δ
h(δ) of the two-point distribution 1+δ , 1+δ . This means
(al,j ) is the payoff the agent receives from the task
that the optimal mixed strategy achieves the minimum entropy
allocator, if the agent chooses coalition Cl and the
when the strategy is supported on exactly two points with
authority chooses task Gj . 1 δ

probabilities 1+δ , 1+δ [4].
4) Objective: the game progresses as the agent tries to
maximize the minimum payoff it can obtain from the
task allocator and the allocator tries to minimize the C. Application of the uncertainty principle of game theory to
maximum payoff it has to pay to the agent. coalition formation
We find that the uncertainty principle of game theory can
TABLE II be applied to find the good strategies reasonably quickly [8],
N OTATION [5]. The game is formulated to be played between each
agent and the allocator. It is not a single game, but multiple
Symbol Description
games (one instance of the game is between an agent and the
H set of agents H1 , . . . , Hn
G set of tasks G1 , . . . , Gm
allocator). Each agent-allocator combination can form their
BHi capability vector for agent Hi ; payoff matrix, as it is assumed they know the calculation of
elements of Hi are non-negative reals expected payoff for a coalition that serves a particular task.
NGj necessity vector for task Gj ;
elements of Gj are non-negative reals Hence, each agent (assumed to be selfish) tries to make the
PGj payoff for task Gj allocator pay and forms its own list of coalitions. A coalition
P(Hi , Cl , Gj ) agent Hi ’s payoff for task Gj in coalition Cl
E(Cl , Hi ) expected payoff for an agent Hi coalition Cl becomes feasible only if all its members are interested. The
DCl capability vector of coalition Cl ; coalition list computation is essentially decentralized, and
elements of Cl are non-negative reals
A payoff matrix with al,j
happens at each agent and the coalition is finally formulated
R request from the client after the feasibility check.
HMp pth Host machine When δ equals 0, a saddle point exists and the optimal
V Mq q th Virtual machine
strategy is a pure strategy. In such games, the solution may be
easily found by repeated application of iterative dominance.
When δ is greater than 0, a mixed strategy is optimal. Since
the optimal strategy of the other player is unknown, the player
B. The Uncertainty Principle of Game Theory has to opt for a probability distribution over the pure strategies
(i.e., it must choose a mixed strategy). In general, computation
The game-theoretic analogue of Heisenberg’s well-known of optimal strategies is expensive when the number of strate-
uncertainty principle [32] is a lower bound on the entropy of gies available for a player is large and the computation is
optimal strategies of zero-sum games [4]. In zero-sum games, time-bound. In such situations, an alternative solution strategy
the lower bound for randomness of optimal solutions is given is proposed [4]. The solution obtained by that mechanism is
in terms of the value δ of the commutator of two non-linear optimal, in the sense that the expected payoff is guaranteed to
operators, maximum and minimum, on the payoff matrix. This be above a certain lower bound (refer Theorem 1).
is the uncertainty principle of game theory. The commutator At each instance of the game, when δ > 0, the two
1 δ

gives the extent to which the min and max operators can coalitions with probabilities 1+δ , 1+δ are removed from the
be commutative. This lower bound is determined by a single list of possible coalitions for the agent, and are added to its
IEEE SYSTEMS JOURNAL 5

preference list. In the next iteration, the game is played with A. The Knowledge Base
the remaining coalitions, and the next two best coalitions are The knowledge base at the cloud is like a data bank which
found. This process is repeated until all the possible coalitions is accessible to all the machines in the cloud and the task
are listed out in the order of preference. allocator. The functionality of the knowledge base can be
The purpose of applying Theorem 1 for forming a prefer- enumerated as follows.
ence list, rather than a near-optimal mixed strategy, is that there • Maintaining a list of possible VMs: We assume that
are multiple coalitions computable for an agent. However, a the cloud has knowledge of the type of VM requests
computed coalition becomes feasible only by the informed that it will have to handle. Each V Mq is a tuple with
consent of all the constituent agents. Hence, the near-optimal configuration specifications as:
coalition according to an agent may not be favored by another
V Mq = hsize V Mq , core V Mq , memory V Mq ,
member. By creating a preference list, the host machine can
storage V Mq , host − os V Mq i
now check for the feasibility of the next coalition in the list,
The specifications include the size of V Mq , denoted
rather than doing the full computation yet again.
by (size V Mq ); the number of cores needed for V Mq ,
By iteratively applying this principle over the payoff matrix
denoted by (core V Mq ); the amount of memory needed,
after removing the strategy solutions from the previous itera-
denoted (memory V Mq ); the disk-space needed, de-
tion, we order the near-optimal strategies. This is similar to the
noted storage V Mq ; and the host OS needed on the
ordering in the Gale-Shapley algorithm for the stable-marriage
physical machine running V Mq . The values taken by
problem [33]. We employ it for the ranking of coalitions for
these parameters are specified in Table I.
an agent. In view of the non-determinism of the types of tasks
• Listing capabilities of host machines: Each machine
to be served and the machines available, it is safe to assume
HMp on the cloud has a set of capabilities.
(without loss of generality) that saddle points rarely occur with
random payoff matrices [4]. It has also been noted that the HMp = hID, rack id, core HMp , memory HMp ,
application of the uncertainty principle has resulted in errors as storage HMp , host − os HMp i
low as 0.1 in 98 percent of the games which involved random The specifications include the rack (rack id) in which
matrices [4]. HMp is placed; the number of cores (core HMp );
We summarize the discussion and notation based on the the amount of memory (memory HMp ); the disk-space
above, as follows [5]: storage HMp ; and the host OS running.
This knowledge base forces an information symmetry across
• An agent, Hi prefers a coalition Ce over Cf if
the host machines and the allocator. Information transfer (or
E(Ce , Hi ) > E(Cf , Hi ).
status updates) from the host machines to the allocator are
• A coalition Cl , is said to be the best coalition for an agent
required. However, large data center and cloud systems already
if ∀Cw , E(Cl , Hi ) > E(Cw , Hi ), l 6= w where Cw is a
have significant monitoring tools that provide near-real-time
possible coalition for Hi excluding Cl .
updates of various systems to their controllers [34].
• An agent Hi is said to be part of a disinterested coalition,
Ce if E(Cf , Hi ) > E(Ce , Hi ) where Cf is another
possible coalition. B. Resource Allocation Through Coalition Formation
• The system is stable when there are no disinterested We assume that s VM configurations are available with the
coalitions. cloud service provider. A typical IaaS client request for VMs
• The capability of a coalition, Cl is the sum total of the with Microsoft Azure [7] has the following form:
capabilities of the
P agents that are part of the coalition, R = hno V M1 , . . . , no V Ms i
i.e., DCl = BHi .
∀Hi ∈Cl where the number of each VM instance needed by the partic-
• If a coalition Cl is able to satisfy the necessities of task ular request is specified.
Gj , we denote this by NGj ⊑ DCl (see Algorithm 3). The payoff associated with a VM request, R is calculated as
P (R), and is a function of the number of cores, (core V Mq )
and the disk space, storage V Mq since the payoff for VMs
IV. S YSTEM M ODEL
scale with the resources needed. We denote this as:
We make the following assumptions as part of the model [5]: P (R) ∝ hcore V Mq , storage V Mq i. (5)
• The original capabilities of the machines are known.
• A coalition is feasible only if all the machines involved The payoff rewarded to a host machine HMp for servicing
in it agree to cooperate. a request R as part of a coalition Cl , is in turn a function of
• Machines can calculate the expected payoffs correctly. both the payoff for the particular request and the machine’s
• Machines remain in the coalition until their allotted task contributions:
is completed.
• The possible VMs that need to be hosted are known P(HMp , Cl , R) ∝ hHMp , P (R)i. (6)
before-hand. These VMs should be up and running in
the host machines. The exact task information is available The mapping between coalition formation and resource
only at the time of client request. allocation on the cloud is depicted in Table III. The two
IEEE SYSTEMS JOURNAL 6

TABLE III account of the fact that as the number of strategies (both coali-
C OALITION FORMATION IN RESOURCE ALLOCATION tions for the host machine and tasks for the allocator) increase,
Two-player zero-sum game Cloud resource allocation problem
finding optimal coalitions gets out of bounds [4]. It can be
Player 1 Task Allocator inferred that as host machines are allowed to form coalitions
Player 2 Host Machine(HMp ) without any prior constraints on the size of or participants in a
Strategies for Player 1 Task requests
Strategies for Player 2 Coalitions coalition, the search space for each agent grows exponentially,
payoff for Player 1 Task Completion the possible number of coalitions being 2n for n agents. The
payoff for Player 2 Preferred Coalition Formation
communication overhead and computation costs in a coalition
also increase with its size. Unless a heuristic is applied to
adjust constraints and hence simplify the problem, solving
players involved in the game formulation are the task allocator the game for finding the optimal strategy seems infeasible.
and the host machine. Each host machine chooses a coalition Hence, it is justifiable that though our approach gives near-
(strategy) from a set of feasible coalitions (strategies). Each optimal strategies, it is of lower complexity and does not
coalition has a different payoff associated with it. The set of involve heuristics.
computed coalitions for each host machine has all coalitions Example: Payoff Matrix Calculation: Consider a setting
that it may be part of. The payoff is calculated by considering with 5 machines, HMI , HMII , HMIII , HMIV , HMV
the task allocated to the coalition. The opponent player or with BHMI = 1, BHMII = 2, BHMIII = 3, BHMIV =
the task allocator has a strategy set consisting of the set of 4 and BHMV = 5 cores respectively. Let the tasks that
all possible VM configurations that may be requested. IaaS these machines have to accomplish require NG1 = 4,
systems follow a utility-based pricing of resources [2], [7]— NG2 = 5 and NG2 = 6 core VMs. Originally, BHMp
the higher the quantity and quality of resources, the greater and NGj are vectors, but the sake of simplicity of illus-
the price billed from the user. Hence the cloud provider’s and tration, we consider them as ordinal numbers indicating the
thereby the allocator’s choice would be to employ a suitable number of cores. The candidate coalitions for host ma-
coalition with the largest capability. The payoff calculation chine HMI are C(HMI ,HMII ) , C(HMI ,HIII ) , C(HMI ,HMIV )
depends on the capabilities of the coalition and the task, which and C(HMI ,HMV ) with capabilities DC(HMI ,HMII ) = 3,
means that the coalition which is able to satisfy a task with the DC(HMI ,HMIII ) = 4, DC(HMI ,HMIV ) = 5 and DC(HMI ,HMV ) =
least wastage of resources is entitled to a higher payoff than 6. The payoff to HMI for being a member of the candidate
a coalition which has higher capabilities than that demanded coalitions is calculated as:
by the task. In effect, this is a win-win situation wherein  BHMp
the allocator plays a min-max game and the host machine  (DCl − NGj ) × DCl


if DCl < NGj ;
BHMp
playing a max-min game. The host machines prefer to be c × DC if DCl = NGj ; and
l
in their favored coalitions and to serve requests that give  c − (D − N ) × BHMp if D


Cl Gj DCl Cl >N . Gj
maximum payoffs. The allocator tries to forcibly allocate tasks
to machines irrespective of their preferred coalitions. Thereby where DCl , NGj denote a coalition Cl ’s resource capability
it is a two-player zero-sum game, as the gain received by a host and task Gj ’s resource necessity respectively. BHMp repre-
machine is equal to the payoff given by the allocator. In order sents the capability of a host machine HMp . The resultant
to bring in optimization, the request has to be serviced with payoff matrix when the scaling factor c is taken as NGj + 1 is
the minimum wastage of resources. This is done by making depicted in Table V. δ is computed from equation 3 as 64 > 0
the host machines prioritize their coalitions. The solution of . Hence the near-optimal two-point strategy is supported by
the two-player zero-sum game is the near-optimal coalition for 8 17
( 25 , 25 ) as given by Theorem 1. Reducing the payoff matrix to
the host machine. the form described in [4], the strategies with minimum entropy
TABLE V
and nearest to the calculated values are C(HMI ,HMIV ) for G1
TABLE IV
S AMPLE PAYOFF M ATRIX E XAMPLE : PAYOFF M ATRIX and C(HMI ,HMV ) for G2 .
Tasks G1 G2 G3 G1 G2 G3
Coalitions C(I,II) −1 −2
-1
3 3 C. The Optimization Problem
C1 M11 M12 M13 C(I,III) 5 −1 −1
4 4 2
C2 M21 M22 M23 C(I,IV ) 4 6 −1 The resource allocation strategy for the cloud aims to opti-
5 5 5
C3 M31 M32 M33 C(I,V ) 3
6 6
5 7
6
mize the usage of the different resources. It is an optimization
problem with:
As depicted in the sample payoff matrix (Table IV), each • Job Completion Time: Allocating resources to minimize

entry corresponds to the payoff to be given by the task the total execution time results in good utilization of
allocator. Ml,j represents the payoff by task allocator if the resources. It maps to the monetary cost of executing the
coalition chosen by the host machine is Cl and the task task on an IaaS system [28]. Minimum execution time
performed by the coalition is Gj . The host machines try to means lower payment by the client for engaging the VM.
maximize their minimum payoffs while the allocator attempts It also means more VM requests can be serviced.
the inverse. • Constraints:

Solving for optimal coalitions may be done by integer – Task characteristics: We assume that approximate
programming. The computational infeasibility of this is on execution times of the different VM request types
IEEE SYSTEMS JOURNAL 7

are available beforehand along with their resource machines arrange themselves in open coalitions. Being in an
requirements. open coalition are those that have not been assigned any user
– Resource availability: The number of simultaneous request as such, but are ready for service.
VMs on a particular machine that may be allocated The arrival pattern of tasks is non-deterministic, and that
to tasks is known. So is the resource capability of is essentially the uncertainty involved. While pre-computing
each machine. During task allocation, open coalitions open coalitions, tasks are not considered to be held in a
that are not already servicing other tasks should be reserve. In commercial cloud platforms (e.g. Microsoft Azure
preferred to ensure execution time reduction. that we have considered), the configurations of VMs provided
– Request satisfaction: Allocating resources to increase are already available even before the exact arrival of the
the number of client requests satisfied results in not task. A task requests a certain number of VMs of available
only efficient resource division among the current configurations. It is against the already known VM configura-
requests, but also reduces the number of idle host tions that open coalitions are pre-computed. As and when the
machines. This results in lowered resource wastage task arrives, the request per VM can be satisfied by an open
and better profit to the IaaS provider, as the number coalition.
of client requests that can be billed increases. The formation of open coalitions has two major steps [5].
– Topology: It is obvious that VMs within the same
host machine need the least communication time, 1) Calculate coalition preference: If t is the number of host
t−1

followed by those on host machines in the same machines which are ready, there are r−1 possibilities
rack, and then by machines on different racks. If for a host machine to choose its partners in a coalition of
the topology of the cloud is taken into consideration size r. This is followed by the calculation of the expected
while forming coalitions, higher payoffs should be payoff for each potential coalition, for each of the prob-
given to coalitions involving machines with lower able tasks involving specific VMs. The payoff calculated
communication costs, i.e., coalitions with the least from the above step is used in building a preference list
internal communication costs should be preferred for which specifies the order of the coalitions favored by the
task allocation. host machine. The preference list is populated by finding
the two high-payoff coalitions in each iteration of the
D. System Mechanism two-player zero-sum game between the host machine and
the task allocator using the uncertainty principle of game
The host machines agents are either:
theory.
• part of a coalition (open or engaged);
2) Negotiation step: The host machines use their preference
• ready to be in a coalition; or
list to check for the feasibility of coalitions in that
• unwilling to be in a coalition.
order. A coalition, Cl is feasible if the host machines
The resource allocation mechanism in the cloud is pictori- forming that coalition agree to be part of it. If a host
ally represented in Figure 1. machine HMp ’s preferred coalition is not agreeable to
other machines in it, HMp takes up its next preferred
coalition from its preference list for feasibility check. On
passing a feasibility check, Cl becomes an open coalition,
with HMp along and the other machines for its members.
Once a machine reaches the maximum number of open
coalitions that it can be part of, it is removed from the
list of ready machines. The other machines in the ready
list remove from their preference lists those coalitions
involving the machines that have reached their maximum
number of concurrent open coalitions.
Once an open coalition is assigned a task, the host
machines have to be part of the coalition until the task
is complete. Coalitions are of fixed sizes once formed.
Fig. 1. Resource Allocation If, on the arrival of a request none of the existing open
coalitions have the capabilities for executing the task
The task allocator and the host machines have access to involved, the allocator assigns a host machine or group
the knowledge base which has the exhaustive list of the VM of host machines ready to be a part of a coalition to
types that may be requested, as well as the host machine serve the request. The allocator then has to ensure that
configurations. This information is used in computing the the necessities of a task are met while allocating forcibly
expected-payoff matrix. The calculation of the expected payoff to a machines or group of machines. After the completion
assumes a common user priority for all tasks, as this precedes of a task, the coalition is dissolved and machines in
the arrival of the actual requests. The tasks however have that coalition update their concurrent coalitions list. If
different overall payoffs, as the resources they require are they were previously at their maximum capability, they
different. By solving their respective zero-sum games, host become available after the coalition dissolution.
IEEE SYSTEMS JOURNAL 8

TABLE VI
D ATA S TRUCTURES IN A LGORITHMS

Structure Data Members Description


HostMachine (HMp ) ID uniquely identifies the host machine
rack-id the rack in which the machine p placed on the cloud
status takes values available, open coalition, max coalition, unavailable
potential coalitions list list of the coalitions the server agent is capable being part of
cur no coalitions number of coalitions that the machine is currently part of
max no coalitions maximum number of simultaneous coalitions that an agent can be part of
capability vector (BHMp ) resource specifications(core, memory, storage, host-OS) for the machine
preference list potential coalitions in decreasing preference order
payoff matrix A payoff associated with each task for being a part of some coalition
Coalition (Cl ) ID uniquely identifies the coalition
status takes values OPEN: open coalition, ENGAGED: servicing a request
members list host machines that are part of that coalition
task id identifies the task allocated to the coalition
capability vector collective capabilities of the members in the coalition
VM size specifies the size of the virtual machine
necessity vector resource specifications(core, memory, storage, host-OS) for the VM
Task (Gj ) ID uniquely identifies the task
status denotes whether it is completed or not
coalition id identifies the coalition which is servicing the task
VM list (R) number of each type of VMs needed P for satisfying the task
necessity vector collective necessities of VM list ( sq=0 VM list[q].necessity vector)

V. A LGORITHMS Algorithm 1: Open Coalition Formation Algorithm


We modify and use the algorithms (Algorithm 1, Algo- Data: host machine available
Data: host machine total
rithm 2 and Algorithm 3) from our earlier work [5], to Result: coalitions set
perform resource allocation on the cloud. The algorithms are 1 begin openCoalitionFormationAlgorithm
2 foreach host machine in host machine total do
for open coalition formation, coalition dissolution and task 3 if host machine.status=available then
allocation. The proofs of correctness can be found in our 4 add(host machine available, host machine)

previous paper [5]. 5 foreach host machine in host machine available do


1) Open Coalition Formation Algorithm: The Open Coali- 6 host machine.potential coalitions list ←
ComputeCoalitions(host machine)
tion Formation Algorithm (Algorithm 1) can be broken down 7 host machine.payoff matrix ←
into two major steps. The first step is the calculation of ComputeMatrix(host machine.potential coalitions list)
8 host machine.preference list ←
coalition preference. This step includes the evaluation of all the ComputePriorities(host machine.payoff matrix)
feasible coalitions for a host machine and creating a preference 9 while host machine available 6= NULL do
list on them. The complexity lies in the fact that each of 10 Count ← 0
11 foreach host machine in host machine available do
the host machines might have different preferences based on 12 Count ← Count+1
the expected payoffs, and hence disinterested coalitions may 13 BestPossible ← host machine.preference list[1:Count]
14 foreach coalition in BestPossible do
occur. This is avoided by the second step called the negotiation 15 if isfeasible(coalition) then
step, wherein the machines exchange mutual information re- 16 if host machine.cur no coalitions <
host machine.max no coalitions then
garding the feasibility of the coalition. With this, the formation 17 JoinCoalition(coalition, host machine)
of only stable coalitions is ensured. If a host becomes part of 18 coalition.status ← OPEN
19 if host machine.status=available then
multiple coalitions, it is ensured that the one offering lesser 20 statuschange(host machine,
payoff is formed only after the one that offers a higher payoff open coalition)
21 host machine.cur no coalitions ←
is already formed. From our previous paper [5], the Open host machine.cur no coalitions + 1
Coalition Formation Algorithm has been modified to allow 22 add(coalitions set,coalition)
host machines to participate in more than a single coalition.
Algorithm 1 first computes the set of machines available 23 foreach host machine in host machine available do
24 if host machine.cur no coalitions =
to be part of coalition, in lines 2 to 4. In line 6, a particular host machine.max no coalitions then
host machine’s set of feasible coalitions is populated. Line 7 25 host machine available ← remove(host machine available,
host machine)
computes the payoff the host machine receives for a particular 26 statuschange(host machine, max coalition)
coalition, and based on this, the machine’s preference list of
27 foreach host machine in machines available do
coalitions is populated in line 8. Line 15 is the negotiation step 28 update host machine.preference list
between the machines where the feasibility of the coalition is
checked. It is checked whether it is possible to be part of
a best possible coalition. Lines 17–22 form the coalition. If
the number of coalitions that an agent is part of reaches the
maximum capacity, lines 23–26 remove that machine from the is a distributed environment, the complexity of Algorithm 1
list of available hosts. The preference list for the available host is calculated based on the number of messages that are sent
machines is updated in lines 27–28 by removing the coalitions during the execution. Algorithm 1 computes all the feasible
involving unavailable hosts. coalitions for each host machine HMp . In order to avoid
Since the algorithm is meant for a cloud which is most often increased communication cost and to maximize the payoff
IEEE SYSTEMS JOURNAL 9

for each host machine, it would be preferable to limit the is changed to ENGAGED in line 8. The capability vectors of
number of members in a coalition. For a coalition of size the member host machines are updated in lines 9–10. If none
r, and machines being allowed to be part of a single open of the open coalitions satisfy the necessity vector for the task,
coalition at a time, the number of messages that are sent in then the task allocator is asked to forcibly allocate the task to
t
rP−1 a group of host machines in lines 11–12.
t−u·r

the system overall is r× r−1 [5]. Considering that an
u=0
agent can be part of more than one coalition in the modified Algorithm 3: Task Allocation Algorithm
approach, we still see that after each iteration, the number Data: task
of host machines yet to join an open coalition decreases Data: coalitions set
1 begin taskallocate
monotonically. If we consider on an average h as the number 2 foreach coalition in coalitions set do
of host machines that are removed from the set of available 3 if task.necessity vector ⊑ coalition.capability vector then
4 if task.status 6= COMPLETE then
machines in each round, then the number of iterations for the 5 if task.coalition id=NULL and coalition.status=OPEN
algorithm is ht [5]. In every successive rounds the algorithm 6
then
coalition.task id ← task.id
chooses r − 1 host machines from t − h − 1. The feasibility 7 task.coalition id ← coalition id
check of each coalition would require r − 1 messages to be 8 coalition.status ← ENGAGED
9 foreach host machine in coalition do
sent. If the number of open coalitions that a host machine 10 update host machine.capability vector
can be part of simultaneously is v, then the total number of
t
hP−1
t−u·h
 if task.coalition id=NULL then
messages sent in the system sums to v × r × r−1 .
11
12 forceallocate(task)
u=0
2) Coalition Dissolving Algorithm: Algorithm 2 for dis-
solving a coalition takes in the coalition to be dissolved, and
the task being serviced by it, as inputs. The algorithm checks
for the completion of the task. If the task under consideration VI. E XPERIMENTS
is completed, the members of the coalition are added to the
A. Setup
set of available agents.
The experimental setup is similar to that of Mashayekhy
Algorithm 2: Coalition Dissolving Algorithm and Grosu [12] and consists of:
Data: coalitions set • The four types of VM instances specified in Table I were
Data: coalition
Data: host machine available
considered. The instance types and pricing are similar to
Data: task the ones used by Microsoft Azure [7].
1 begin coalitionDissolvingAlgorithm
• Each task specifies the number of instances of each VM
2 if task.status=COMPLETE and task.id=coalition.task id and coalition.ID
= task.coalition id then type it requires, i.e., R = hno V M1 , . . . , no V Ms i
3 foreach host machine in coalition do
4 add(host machine available, host machine)
representing the number of small, medium, large and
5 update host machine.capability vector extra-large configurations of VMs respectively.
6 if host machine.cur no coalitions = 1 then
• We consider four different types of task requests, (10, 0,
7 statuschange(host machine, available)
8 else
0, 0), (10, 10, 0, 0), (10, 10, 10, 0), and (10, 10, 10, 10)
9 statuschange(host machine, open coalition) with the first number in each ask request indicating the
10 host machine.cur no coalitions ← number of small VMs needed, the second indicating the
host machine.cur no coalitions - 1
number of medium VMs needed, and so on. The num-
11 remove(coalitions set,coalition)
12 coalition ← NULL bers of these requests were varied during runs, and the
performances compared as the number of tasks increased.
• Three different task-sets were considered: (a) Task-set
If the task serviced by the coalition is found to be complete, 1—one instance each of the four types of requests (totally
the members of the coalition are added to the set of machines 4 task requests); (b) Task-set 2—two instances each of
that are available in line 4. The released capabilities of the the four types of requests (totally 8 task requests); and
host machine is updated in line 5. The statuses of the member (c) Task-set 3—three instances each of the four types of
host machines are updated according to the current number of requests (totally 12 task requests).
coalitions they are part of. If it is zero, the status is changed • The results are an average of 20 runs of the experiments.
to available, else it is changed to open coalition in line 6–9. • These results were obtained based on simulations on a
The current number of coalitions for the members is updated 3.00 GHz Intel quad-core PC with 8 GB of memory. The
in line 10, the coalition list is updated in line 11 and the simulations were run on the Java Run-Time environment.
coalition itself is dissolved in line 12. The coding language used was Java.
3) Task Allocation Algorithm: Algorithm 3 for task allo- • The virtual topology consists of a total 400 machines with
cation takes in the task Gj to be allocated, and the set of 100 machines of each configuration. Virtual machines of
coalitions (coalitions set), as inputs. If the necessities for the identical configurations were adjacently placed. The host
task are found in the capability vector of an OPEN coalition machine configurations are specified based on their num-
Cl , i.e., NGj ⊑ DCl , then the task is allocated to the coalition ber of cores and hard-disk storage. The configurations
in lines 6–7. The status of the coalition that is allotted the task considered are: (a) 1 core, 125 GB disk-storage; (b) 2
IEEE SYSTEMS JOURNAL 10

cores, 250 GB storage; (c) 4 cores, 500 GB storage; and


(d) 8 cores, 1000 GB storage.
• Round Robin methods have been found useful for ap-
plications like Hadoop [35]. The performance of our
resource allocation algorithm was compared with cloud
common resource allocation strategies [28], which in-
clude:
1) RR-R: Allocation in a round robin (RR) manner across
the racks (R).
2) RR-S: Allocation in a round robin (RR) manner across
the host machines (S). This is the default policy used
by Eucalyptus [36], cf. [37].
3) H-1: Hybrid policy combining RR-S and RR-R pre-
ferring host machines in a rack but only to select a
maximum of 20 host machines per rack.
4) H-2: Similar policy as H1 but to select only a maxi-
mum of 10 servers per rack.

B. Results Fig. 3. Core wastage for the different strategies

Through our experiments, we compared the different re-


source allocation strategies listed above with our resource
allocation by coalition formation (denoted as CF in the graphs)
based on the following criteria.
1) Task Allocation Time: The task allocation time is the
duration between the submission of a request at the cloud
service provider and the allocation of a single/group of ma-
chines to host the corresponding virtual machines. The results
of the comparison on task allocation time for the above listed
strategies are depicted in Figure 2.

Fig. 4. Storage wastage for the different strategies

3) Communication Cost: The communication cost is the


cost of establishing communication among the members of a
coalition. It is directly proportional to the number of coalition
members as well as their placement on the racks. Closely-
placed machines have lower communication costs. The loga-
Fig. 2. Time for task allocation for the different strategies rithm to the base 10 of the communication cost between host
machines in coalitions is plotted, as depicted in Figure 5.
2) Resource Wastage: The number of cores for each of the 4) Request Satisfaction:
strategies were compared for the task-sets, the results of which
have been depicted in Figure 3. This gives a measure of the • The number of unsuccessful VM assignments for each of
resource wastage with the normal allocation strategies. the strategies was compared for Task-set 1, Task-set 2 and
The amount of storage wasted in GB for each of the Task-set 3, as in Figure 6. This indicates that the lower
strategies was compared, the results of which have been task allocation time for certain strategies does not always
depicted in Figure 4. This gives yet another measure of the mean that all the requested VMs have been successfully
resource wastage with the normal allocation strategies. assigned.
IEEE SYSTEMS JOURNAL 11

• Lower task allocation time does not always indicate


successful VM assignments; it can also be caused by the
inability to accommodate VMs using the remaining host
machines based on that particular allocation strategy, as
is evident from the cases of policies H1 and H2.
• Resource wastage, whether with respect to the number
of cores or the storage, remains lowest for our allocation
strategy. This is also due to pre-configuration of coalitions
which can be assigned for tasks after ensuring minimum
wastage.
• As the number of task requests increase, the number of
VMs that are successfully assigned gets rapidly lower
with the H1 policy. For the other policies, the rate, though
less dramatic, is higher than our allocation strategy.
• Since our allocation strategy is topology-aware, it assigns
a higher payoff for VM coalitions that are closely placed.
This results in reduced communication cost and resource
wastage. In Figure 5, the hybrid strategies have lower
costs, on account of incomplete request satisfaction re-
Fig. 5. Communication cost for the different strategies sulting in lower communication.

VII. C ONCLUSION
Resource allocation on the cloud aims at avoiding under-
utilization of resources. Through this work we show the use
of the uncertainty principle of game theory to model coalition
formation among machines on the cloud. This is done to
satisfy requests needing capabilities beyond that of a single
machine. Virtualization of the required resources facilitated by
forming coalitions of host machines. For doing so, we devise
a mechanism for resource allocation for tasks whose pattern
of arrival is unknown. The advantage of our approach is that
by solving the optimization problem of coalition formation
we avoid the complexities of integer programming. Also, our
resource allocation mechanism, when deployed, is found to
perform better with respect to lower task allocation time, lower
resource wastage, and higher request satisfaction. As cloud
systems are large, themselves costing billions of dollars, and
handle requests costing tens of billions more, we believe that
these are very significant real-world advantages.

Fig. 6. Unassigned VMs for different strategies for Task-sets


R EFERENCES
C. Discussion
[1] “Amazon elastic compute cloud,” Jun. 2013. [Online]. Available:
From the results we listed in the previous section, we find http://aws.amazon.com/ec2/
[2] “IBM Cloud Computing: Infrastructure as a Service,” Jun. 2013.
that our resource allocation mechanism fares better than the [Online]. Available: http://www.ibm.com/cloud-computing/us/en/iaas.
resource allocation strategies commonly used in commercial html
IaaS clouds. The values for the graphs for resource wastage [3] T. W. Sandholm and V. R. Lesser, “Coalitions among computationaly
bounded agents,” Artificial Intelligence, vol. 94, no. 1–2, pp. 99–137,
(core and storage) were log-normalized (log10 ) in order to Jul. 1997.
scale the values of the resource allocation strategies. The [4] G. Székely and M. L. Rizzo, “The uncertainty principle of game theory,”
results lead us to deduce the following points: The American Mathematical Monthly, vol. 114, pp. 688–702, Oct. 2007.
[5] P. S. Pillai and S. Rao, “A resource allocation mechanism using coalition
• Task allocation time remains mostly constant for our formation and the uncertainty principle of game theory,” in 7th Annual
resource allocation by coalition formation approach. This IEEE International Systems Conference (IEEE SysCon 2013), Orlando,
FL, Apr. 2013, pp. 178–184, doi:10.1109/SysCon.2013.6549878.
can be attributed to the fact that open coalitions are [6] M. Isard, V. Prabhakaran, J. Currey, U. Wieder, K. Talwar, and A. Gold-
formed even before the arrival of the actual requests. berg, “Quincy: fair scheduling for distributed computing clusters,” in 22d
All that needs done is a look-up in order to assign the ACM Symposium on Operating Systems Principles (SOSP ’09), 2009,
pp. 261–276, doi:10.1145/1629575.1629601.
coalition with the least resource wastage to the request [7] “Windows Azure,” Jun. 2013. [Online]. Available: http://www.
when it arrives. windowsazure.com
IEEE SYSTEMS JOURNAL 12

[8] P. K. Enumula, “Coalition formation in multi-agent systems with International Conference on e-Science and Grid Computing (e-Science
uncertain task information,” Master’s thesis, International Institute of ’06), 2006, doi:10.1109/E-SCIENCE.2006.261163.
Information Technology - Bangalore, Jun. 2008. [28] G. Lee, N. Tolia, P. Ranganathan, and R. H. Katz, “Topology-
[9] J. Dean and S. Ghemawat, “MapReduce: simplified data processing on aware resource allocation for data-intensive workloads,” in First
large clusters,” Commununications of the ACM, vol. 51, no. 1, pp. 107– ACM Asia-Pacific Workshop on Systems (APSys ’10), 2010, pp. 1–6,
113, Jan. 2008, doi:10.1145/1327452.1327492. doi:10.1145/1851276.1851278.
[10] D. Meisner, C. M. Sadler, L. A. Barroso, W.-D. Weber, and T. F. [29] S. Kraus, O. Shehory, and G. Taase, “Coalition formation with uncertain
Wenisch, “Power management of online data-intensive services,” in 38th heterogeneous information,” in Second International Joint Conference
ACM International Symposium on Computer Architecture (ISCA ’11), on Autonomous Agents and Multiagent Systems (AAMAS ’03), 2003,
2011, pp. 319–330, doi:10.1145/2000064.2000103. pp. 1–8, doi:10.1145/860575.860577.
[11] G. E. Goncalves, P. T. Endo, and T. Damasceno, “Resource allocation [30] H. Hosam and Z. Khaldoun, “Planning coalition formation under
in clouds: Concepts, tools and research challenges,” in 29th Simpósio uncertainty: Auction approach,” in IEEE International Conference on
Brasileiro de Redes de Computadores, 2011. Information and Communication Technologies, vol. 2, 2006, pp. 3013–
[12] L. Mashayekhy and D. Grosu, “A coalitional game-based mechanism for 3017, doi:10.1109/ICTTA.2006.1684896.
forming cloud federations,” in IEEE/ACM Fifth International Conference [31] A. Bai, F. Wu, and X. Chen, “Online planning for large MDPs
on Utility and Cloud Computing (UCC ’12). Washington, DC, USA: with MAXQ decomposition,” in 11th International Conference on
IEEE Computer Society, 2012, pp. 223–227, doi:10.1109/UCC.2012.19. Autonomous Agents and Multiagent Systems (AAMAS ’12), vol. 3.
[13] G. Shanmuganathan, A. Gulati, and P. Varman, “Defragmenting Richland, SC: International Foundation for Autonomous Agents and
the cloud using demand-based resource allocation,” in ACM SIG- Multiagent Systems, 2012, pp. 1215–1216.
METRICS International Conference on Measurement and Model- [32] W. Heisenberg, “Über den anschaulichen Inhalt der quantentheoretischen
ing of Computer Systems (SIGMETRICS ’13), 2013, pp. 67–80, Kinematik und Mechanik,” Zeitschrift für Physik, vol. 43, no. 3–4, pp.
doi:10.1145/2465529.2465763. 172–198, Mar. 1927, doi:10.1007/BF01397280.
[14] J. Cao, Y. Wu, and M. Li, “Energy efficient allocation of virtual machines [33] D. Gale and L. S. Shapley, “College admissions and the stability of
in cloud computing environments based on demand forecast,” in Seventh marriage,” Amer. Math. Monthly, vol. 69, no. 1, pp. 9–15, Jan. 1962.
International Conference on Advances in Grid and Pervasive Computing [34] Oracle Enterprise Manager, “Strategies for scalable, smarter monitoring
GPC’ 12. Springer-Verlag, 2012, pp. 137–151, doi:10.1007/978-3-642- using Oracle Enterprise Manager Cloud Control 12c,” Jun. 2013.
30767-6 12. [Online]. Available: http://www.oracle.com/technetwork/oem/sys-mgmt/
[15] X. Chen, J. Zhang, J. Li, and X. Li, “Resource virtualization method- wp-em12c-monitoring-strategies-1564964.pdf
ology for on-demand allocation in cloud computing systems,” Service [35] D. Quan, R. Basmadjian, H. Meer, R. Lent, T. Mahmoodi, D. Sannelli,
Oriented Computing and Applications, vol. 7, no. 2, pp. 77–100, 2013, F. Mezza, L. Telesca, and C. Dupont, “Energy efficient resource allo-
doi:10.1007/s11761-011-0092-9. cation strategy for cloud data centres,” in Computer and Information
[16] M. P. Wellman, W. E. Walsh, P. R. Wurman, and J. K. MacKie-Mason, Sciences II, E. Gelenbe, R. Lent, and G. Sakellari, Eds. Springer
“Auction protocols for decentralized scheduling,” Games and Economic London, 2012, pp. 133–141, 10.1007/978-1-4471-2155-8 16.
Behavior, vol. 35, pp. 271–303, 2001, doi:10.1006/game.2000.0822. [36] D. Nurmi, R. Wolski, C. Grzegorczyk, G. Obertelli, S. Soman,
L. Youseff, and D. Zagorodnov, “The Eucalyptus open-source cloud-
[17] R. Raman, M. Livny, and M. Solomon, “Matchmaking: Distributed
computing system,” in Ninth IEEE/ACM International Symposium on
resource management for high throughput computing,” in Seventh IEEE
Cluster Computing and the Grid (CCGrid 2009), 2009, pp. 124–131,
International Symposium on High Performance Distributed Computing
doi:10.1109/CCGRID.2009.93.
(HPDC ’98), 1998, pp. 28–31.
[37] T. Ristenpart, E. Tromer, H. Shacham, and S. Savage, “Hey,
[18] G. Wei, A. V. Vasilakos, Y. Zheng, and N. Xiong, “A game-theoretic
you, get off of my cloud: exploring information leakage in third-
method of fair resource allocation for cloud computing services,” J. Su-
party compute clouds,” in Sixteenth ACM Conference on Com-
percomput., vol. 54, no. 2, pp. 252–269, Nov. 2010, doi:10.1007/s11227-
puter and Communications Security (CCS ’09), 2009, pp. 199–212,
009-0318-1.
doi:10.1145/1653662.1653687.
[19] A. S. Prasad and S. Rao, “A mechanism design approach to resource
procurement in cloud computing,” IEEE Trans. Comput., vol. 63, no. 1,
pp. 17–30, Jan. 2014, doi:10.1109/TC.2013.106.
[20] O. Shehory and S. Kraus, “Methods for task allocation via agent
coalition formation,” Artificial Intelligence, vol. 101, no. 1–2, pp. 165–
200, May 1998, doi:10.1016/S0004-3702(98)00045-9. Parvathy S. Pillai received her M.Tech. degree
[21] L. He and T. R. Ioerger, “Forming resource-sharing coalitions: a in information technology from the International
distributed resource allocation mechanism for self-interested agents in Institute of Information Technology - Bangalore,
computational grids,” in Twelfth ACM Symposium on Applied Computing Bangalore, India, and is pursuing her Ph.D in com-
(ACM SAC ’05), 2005, pp. 84–91, doi:10.1145/1066677.1066700. puter science at the School of Computing, Na-
[22] G. Yong, Y. Li, Z. Wei-ming, S. Ji-chang, and W. Chang-ying, “Methods tional University of Singapore. Her research interests
for resource allocation via agent coalition formation in grid comput- include machine learning, data analytics, medical
ing systems,” in IEEE International Conference on Robotics, Intelli- informatics, and cloud and distributed systems.
gent Systems and Signal Processing, vol. 1, Oct. 2003, pp. 295–300, Ms. Pillai is a student member of the IEEE
doi:10.1109/RISSP.2003.1285590. Computer Society and of the ACM.
[23] D. Niyato, A. Vasilakos, and Z. Kun, “Resource and revenue shar-
ing with coalition formation of cloud providers: Game theoretic ap-
proach,” in Eleventh IEEE/ACM International Symposium on Cluster,
Cloud and Grid Computing (CCGrid 2011), May 2011, pp. 215–224,
doi:10.1109/CCGrid.2011.30.
[24] M. Hassan, B. Song, and E.-N. Huh, “Distributed resource allocation Shrisha Rao received his Ph.D. in computer science
games in horizontal dynamic cloud federation platform,” in Thirteenth from the University of Iowa, and before that his M.S.
IEEE International Conference on High Performance Computing and in logic and computation from Carnegie Mellon
Communications, 2011, pp. 822–827, doi:10.1109/HPCC.2011.11. University. He is an associate professor at IIIT-
[25] W. Saad, Z. Han, M. Debbah, and A. Hjørungnes, “A distributed Bangalore, a graduate school of information tech-
coalition formation framework for fair user cooperation in wireless nology in Bangalore, India. His research interests are
networks,” IEEE Trans. Wireless Commun., vol. 8, no. 9, pp. 4580– in distributed computing, specifically algorithms and
4593, Sep. 2009, doi:10.1109/TWC.2009.080522. approaches for concurrent and distributed systems,
[26] L. Mashayekhy and D. Grosu, “A merge-and-split mechanism for and include solar energy and microgrids, cloud com-
dynamic virtual organization formation in grids,” in 30th IEEE Interna- puting, energy-aware computing, and demand side
tional Performance Computing and Communications Conference, 2011, resource management.
pp. 1–8, doi:10.1109/PCCC.2011.6108108. Dr. Rao is a member of the IEEE Computer Society, the ACM, the
[27] O. Sonmez, H. Mohamed, and D. Epema, “Communication-aware job American Mathematical Society, and the Computer Society of India.
placement policies for the KOALA grid scheduler,” in Second IEEE

You might also like