A Game-Theoretic Framework for Resource Sharing in Clouds
Faheem Zafari, Kin K. Leung, Don Towsley, Prithwish Basu, Ananthram Swami
11 A Game-Theoretic Framework for Resource Sharingin Clouds
Faheem Zafari ∗ , Kin K. Leung ∗ , Don Towsley † , Prithwish Basu (cid:5) , and Ananthram Swami ‡∗ Imperial College London, † University of Massachusetts Amherst, (cid:5)
BBN Technologies, ‡ U.S. Army Research Laboratory ∗ { faheem16, kin.leung } @imperial.ac.uk, † [email protected], (cid:5) [email protected], ‡ [email protected] Abstract
Providing resources to different users or applications is fundamental to cloud computing. This is a challenging problem asa cloud service provider may have insufficient resources to satisfy all user requests. Furthermore, allocating available resourcesoptimally to different applications is also challenging. Resource sharing among different cloud service providers can improveresource availability and resource utilization as certain cloud service providers may have free resources available that can be“rented” by other service providers. However, different cloud service providers can have different objectives or utilities . Therefore,there is a need for a framework that can share and allocate resources in an efficient and effective way, while taking into accountthe objectives of various service providers that results in a multi-objective optimization problem. In this paper, we present a
Cooperative Game Theory (CGT) based framework for resource sharing and allocation among different service providers withvarying objectives that form a coalition. We show that the resource sharing problem can be modeled as an N − player canonical cooperative game with non-transferable utility (NTU) and prove that the game is convex for monotonic non-decreasing utilities.We propose an O ( N ) algorithm that provides an allocation from the core , hence guaranteeing Pareto optimality . We evaluatethe performance of our proposed resource sharing framework in a number of simulation settings and show that our proposedframework improves user satisfaction and utility of service providers.
I. I
NTRODUCTION
With the wide-scale proliferation of cloud computing, a large number of individuals and businesses have transitioned towardsthe use of cloud computing platforms [1]. Users (applications) request resources from a cloud service provider for a particulartask and service provider needs to provide requested resources based on a Service Level Agreement (SLA). The goal for anyservice provider is to satisfy as many applications as possible by a timely provision of resources, resulting in an increase inuser satisfaction as well as utility of service providers. However, the provider often lacks sufficient available resources andthus allocation of resources to different users is not straightforward.Optimal allocation of resources for cloud computing is a fundamental research problem [2]–[4]. Due to the recent advent ofparadigms such as Big Data [5], Internet of Things (IoT) [6], and Machine to Machine (M2M) communication, the problemis further exacerbated as the demand for limited resources has increased further. Even when resources are available, allocatingthem optimally to different applications requires efficient algorithms. Hence, it is important to ascertain the availability ofresources and allocate them optimally to different applications.To ensure the availability of resources, numerous solutions have been proposed in the literature ranging from buying moreresources to meet peak demands, to creating shared resource pools among geographically co-located service providers. However,different service providers may have different objectives and existing resource pool based mechanisms do not consider utilitiesof different service providers. Ideally, a resource sharing mechanism should consider objectives of different service providers,which results in a multi-objective optimization (MOO) problem. Furthermore, while resource sharing or creation of a resourcepool may tackle the resource availability problem, it does not address resource allocation problem, i.e., optimally allocating theavailable resources to different users. Therefore, there is a need for a framework that not only ascertains resource availability byenabling resource sharing among different service providers, but also optimally allocates resources to users, while accountingfor the service providers’ objectives.We present a cooperative game theory based framework that can be used for resource sharing and allocation in cloudcomputing. We allow resource sharing among different cloud service providers, while considering the objectives (utilities) ofcloud service providers. Rather than considering a specific resource, we consider a wide range of resources that are presentacross different cloud service providers. We show that different resource providers can benefit by creating a coalition among
This work was supported by the U.S. Army Research Laboratory and the U.K. Ministry of Defence under Agreement Number W911NF-16-3-0001. Theviews and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressedor implied, of the U.S. Army Research Laboratory, the U.S. Government, the U.K. Ministry of Defence or the U.K. Government. The U.S. and U.K.Governments are authorized to reproduce and distribute reprints for Government purposes notwithstanding any copy-right notation hereon. Faheem Zafarialso acknowledges the financial support by EPSRC Centre for Doctoral Training in High Performance Embedded and Distributed Systems (HiPEDS, GrantReference EP/L016796/1), and Department of Electrical and Electronics Engineering, Imperial College London. Throughout the paper, we use the term “users” and “applications” interchangeably. a r X i v : . [ c s . M A ] M a y service providers and then allocating resources to users. We also show that the coalition of service providers is stable, whereno service provider will incur any loss (when compared with working alone). Also, we obtain a Pareto optimal (details inSection II) solution to our multi-objective resource sharing problem.The main contributions of this paper are:1) We propose a cooperative game theory (CGT) based multi-objective resource sharing and allocation framework for cloudcomputing that guarantees Pareto optimality and consider different objectives of the service providers that share theirresources.2) We show that the resource sharing and allocation problem can be modeled as a canonical game with non-transferableutility. Furthermore, when service provider objectives are represented by monotone non-decreasing utilities, we showthat our canonical game is convex. Due to the convexity of game, the core is non-empty and the grand coalition formedby all service providers is stable.3) We address the problem of obtaining an allocation from the core by proposing a computationally efficient O ( N ) algorithmthat is guaranteed to provide an allocation from the core.4) We evaluate the performance of our proposed framework through extensive experiments and show that resource sharingcan improve utility of all service providers and also increase user satisfaction.The paper is further structured as: Section II provides a primer on multi-objective optimization, cooperative game theory,canonical games, and the core. Section III presents the system model used in this paper. It also presents the resource sharingand allocation problem along with theoretical properties of the cooperative game used to obtain the Pareto optimal solution.Section IV presents our experimental results. Section V provides a review of different solutions proposed in literature forresource allocation, while Section VI concludes the paper.II. P RELIMINARIES
In this section, we present a discussion on multi-objective optimization, cooperative game theory, and the core . A. Multi-Objective Optimization
For m inequality constraints and p equality constraints, MOO identifies a vector x ∗ = [ x ∗ , x ∗ , · · · , x ∗ t ] T that optimizes avector function ¯ f ( x ) = [ f ( x ) , f ( x ) , · · · , f N ( x )] T (1)such that g i ( x ) ≥ , i = 1 , , · · · , m, (2) h i ( x ) = 0 i = 1 , , · · · , p. where x = [ x , x , · · · , x t ] T is a vector of t decision variables and the feasible set is denoted by F . The fundamental differencebetween a single objective optimization (SOO) and MOO is that MOO involves a vector of objective functions rather than asingle objective function. Therefore, in MOO, the optimal solution is not a single point but a frontier of solutions known as Pareto frontier or Pareto boundary (see [7] for details). Some basic definitions related to MOO are:
Definition 1.
Pareto Optimality: For any maximization problem, x ∗ is P areto optimal if the following holds for every x ∈ F , ¯ f ( x ∗ ) ≥ ¯ f ( x ) . (3) where ¯ f ( x ) = [ f ( x ) , f ( x ) , · · · , f N ( x )] T and ¯ f ( x ∗ ) = [ f ( x ∗ ) , f ( x ∗ ) , · · · , f N ( x ∗ )] T . Figure 1 shows a MOO problem (minimization problem) with two objective functions f and f . The boundary ←→ ab is thePareto frontier as it consists of all the Pareto optimal solutions. B. Cooperative Game Theory
Cooperative game theory provides a set of analytical tools that assists in understanding the behavior of rational players ina cooperative setting [8]. Players can have agreements among themselves that affect the strategies as well as obtained utilitiesof game players. Coalition games are one of the basic types of cooperative games that deal with the formation of coalitions,namely groups of two or more cooperating players. Formally,
Definition 2.
Coalition Games [8]: Any coalition game with non-transferable utility (discussed below) can be represented bythe pair ( N , V ) where N is the set of players that play the game, while V is a set of payoff vectors such that [9]: V ( S ) is a closed and convex subset of R S .2) V ( S ) is comprehensive, i.e., if we are given payoffs x ∈ V ( S ) and y ∈ R S where y ≤ x , then y ∈ V ( S ) . In otherwords, if the members of coalition S can achieve a payoff allocation x , then the players can change their strategies toachieve an allocation y . Fig. 1. MOO with two objective functions
3) The set { x | x ∈ V ( S ) and x n ≥ z n , ∀ n ∈ S } , with z n = max { y n | y ∈ V ( { n } ) } ≤ ∞ ∀ n ∈ N is a bounded subset of R S . In other words, the set of vectors in V ( S ) for a coalition S where the coalition members receive a payoff at leastas good as working alone (non-cooperatively) is a bounded set. Definition 3.
Value of a coalition: The sum of all players’ payoff from a particular pay-off vector for any coalition is knownas the value of a coalition.
It is worth mentioning that V is the set of payoff vectors, while v is the sum of payoffs that all players get in a particularpayoff vector (coalition). Definition 4.
Non-Transferable Utility (NTU) [8]: If the total utility of any coalition cannot be assigned a single real numberor if there is a rigid restriction on utility distribution among players, then the game has a non-transferable utility.
Definition 5.
Characteristic function [8]: The characteristic function for any coalition game with NTU is a function thatassigns a set of payoff vectors, V ( S ) ⊆ R S , where each element of the payoff vector x n represents a payoff that player n ∈ S obtains, depending on the selected strategy, within the coalition S . Definition 6.
Characteristic form Coalition Games [8]: A coalition game is said to be of characteristic form, if the value ofcoalition S ⊆ N depends only on the members of coalition. Definition 7.
Superadditivity of NTU games [9]: A canonical game with NTU is said to be superadditive if the followingproperty is satisfied. v ( S ∪ S ) ⊃ { x ∈ R S ∪ S | ( x n ) n ∈ S ∈ v ( S ) , ( x m ) m ∈ S ∈ v ( S ) } ∀ S ⊂ N , S ⊂ N , S ∩ S = ∅ . (4)i.e., if any two disjoint coalitions S and S form a large coalition S ∪ S , then the coalition S ∪ S can always give itsmembers the payoff that they would have received in the disjoint coalition S and S . Definition 8.
Canonical Game: A coalition game is canonical if it is superadditive and in characteristic form.
The core is a widely used solution concept for canonical games as discussed below.
C. Core
We first define some terms related to the core [8], [9].
Definition 9.
Group Rational: A payoff vector x ∈ R N is group-rational if (cid:80) n ∈N x n = v ( N ) . Definition 10.
Individually Rational: A payoff vector x ∈ R N is individually-rational if every player can obtain a payoff noless than acting alone, i.e., x n ≥ v ( { n } ) , ∀ n ∈ N . Definition 11.
Imputation: A payoff vector that is both individually and group rational is an imputation.
Definition 12.
Grand Coalition: The coalition formed by all game players in N is the grand coalition. Based on the above definitions, we can now define the core of an NTU canonical coalition game.
Fig. 2. Our system model with multiple cloud service providers
Definition 13.
Core [8]: For any NTU canonical game ( N , V ) , the core is the set of imputations in which no coalition S ⊂ N has any incentive to reject the proposed payoff allocation and deviate from the grand coalition to form a coalition S instead.This can be mathematically expressed as C NT U = { x ∈ V ( N ) |∀ S, (cid:64) y ∈ V ( S ) , such that y n > x n , ∀ n ∈ S } . (5) Remark 1.
Any payoff allocation from the core is Pareto-optimal as evident from definition of the core. Furthermore, thegrand coalition formed is stable, i.e., no two players will have an incentive to leave the grand coalition to form a smallercoalition.
However, the core is not always guaranteed to exist. Even if the core exists, it may be very large as it a convex set. Therefore,finding a suitable allocation from the core is challenging.III. S
YSTEM M ODEL
Let N = { , , · · · , N } be the set of all the cloud service providers that act as players in our game. We assume that eachplayer has a set of K = { , , · · · , K } different types of resources such as communication, computation and storage resources.The n th service provider represents its available resources as C n = { C ( n )1 , · · · , C ( n ) K } . C ( n ) k is the amount of resources oftype k available at service provider n . The vector C = { (cid:80) n ∈N C ( n )1 , (cid:80) n ∈N C ( n )2 , · · · , (cid:80) n ∈N C ( n ) K } represents all availableresources at different service providers. Each service provider n has a set of native applications M n = { , , · · · , M n } that askfor resources. The set of all applications that ask for resources from the set of service providers (coalition of service providers)is given by M = M ∪ M · · · ∪ M N , where M i ∩ M j = ∅ , ∀ i (cid:54) = j, i.e., each application originally asks only one serviceprovider for resources. Every player n ∈ N has a request (requirement) matrix R ( n ) . R ( n ) = (cid:34) r ( n ) ... r ( n ) Mn (cid:35) = (cid:34) r ( n )11 ··· ··· r ( n )1 K . . . .. . . .. . . .r ( n ) Mn ··· ··· r ( n ) MnK (cid:35) (6)where the i th row corresponds to the i th application while columns represent different resources, i.e., r ( n ) ij is the amount of j th resource that application i ∈ M n requests. Request matrix R is an augmentation of all the request matrices (from all theservice providers) as given below. R = (cid:34) r ... r M (cid:35) = (cid:34) r ··· ··· r K . . . .. . . .. . . .r M ··· ··· r MK (cid:35) (7)where r ij is the amount of j th resource that application i ∈ M requests.The resource sharing and allocation framework, based on R and C , has to make an allocation decision X that optimizesthe utilities u n ( X ) of all the service providers n ∈ N and satisfy user requests as well. The allocation decision X is avector given by X = { X (1) , X (2) , · · · , X ( N ) } that indicates how much of each resource k ∈ K is allocated to application i at service provider n ∈ N . The matrix X ( n ) is an augmentation of different matrices { X ( n ) i ∈M , · · · , X ( n ) i ∈M n , · · · , X ( n ) i ∈M N } ,where X ( n ) i ∈M j is the allocation decision at service provider n for the applications i originally belonging to service provider j ∈ N \ n . X ( n ) i ∈M n is the allocation decision at service provider n for applications i belonging to service provider n , i.e., theoriginal applications of the service provider n . Mathematically, X ( n ) = (cid:34) x ( n ) ... x ( n ) M (cid:35) = (cid:34) x ( n )11 ··· ··· x ( n )1 K . . . .. . . .. . . .x ( n ) M ··· ··· x ( n ) MK (cid:35) (8)where x ( n ) ik is the amount of resource k ∈ K belonging to player n ∈ N that is allocated to application i ∈ M . A. Optimization Problem
In this section, we first present the resource allocation problem for a single service provider (no resource sharing with otherservice providers). Then we present the MOO problem for resource sharing and allocation. For a single cloud n ∈ N (not partof a coalition), the allocation decision matrix X ( n ) SO , where SO stands for single objective, is given by: X ( n ) SO = (cid:34) x ( n ) ... x ( n ) Mn (cid:35) = (cid:34) x ( n )11 ··· ··· x ( n )1 K . . . .. . . .. . . .x ( n ) Mn ··· ··· x ( n ) MnK (cid:35) . (9)The optimization problem is: max X ( n ) SO u n ( X ( n ) SO ) + (cid:88) i ∈M n (cid:88) k ∈K x ( n ) ik r ( n ) ik ∀ n ∈ N , (10a)s.t. (cid:88) i x ( n ) ik ≤ C ( n ) k ∀ k ∈ K , ∀ i ∈ M n , (10b) x ( n ) ik ≤ r ( n ) ik ∀ i ∈ M n , k ∈ K , (10c) x ( n ) ik ≥ ∀ i ∈ M , k ∈ K . (10d)The goal of this single objective optimization problem for every service provider is to maximize its utility by allocating availableresources only to its own applications. (cid:80) i ∈M n (cid:80) k ∈K x ( n ) ik /r ( n ) ik captures the satisfaction of resource requests by applications.Next, we present the resource allocation problem for different service providers that share their resources with each other. Inthe resource sharing case, each service provider aims to maximize sum of utilities obtained by a) allocating resources to its nativeapplications, i.e., u n ( X ( n ) i ∈M n ) ; b) allocating resources to applications of other service providers, i.e., u nj ( X ( n ) i ∈M j ) , ∀ j ∈ N \ n ;and c) satisfying requests of applications. This leads to: max X (cid:18) w n u n ( X ( n ) i ∈M n ) + ζ n (cid:88) j ∈N \ n u nj ( X ( n ) i ∈M j ) + (cid:88) i ∈M n (cid:88) k ∈K (cid:80) l ∈N x ( l ) ik r ( n ) ik (cid:19) ∀ n ∈ N , (11a)s.t. (cid:88) i x ( n ) ik ≤ C ( n ) k ∀ k ∈ K , ∀ n ∈ N , ∀ i ∈ M , (11b) (cid:88) j ∈N x ( j ) ik ≤ r ( n ) ik ∀ i ∈ M , k ∈ K , n ∈ N , (11c) x ( n ) ik ≥ ∀ i ∈ M , k ∈ K , n ∈ N . (11d)The first constraint in both optimization problems, (10) and (11), indicates that the allocated resources cannot be more than thecapacity. The second constraint in (10c) and (11c) indicates, that the allocated resources should not be more than the requiredresources. The last constraint, (10d) and (11d), indicates that allocation decision cannot be negative. u nj ( X ( n ) i ∈M j ) is the utility that domain n receives for sharing its resources with domain j . w n is the weight associated withthe utility u n and ζ n is the weight affiliated with all u nj . In this paper, we assume that utility of the service providers is anon-decreasing monotone function. We also assume that a subset N ⊂ N of service providers has resource deficit, while asubset N ⊂ N has a resource surplus. B. Game Theoretic Solution
As mentioned earlier, we model each cloud service provider as a player in our game to obtain the solution for the MOOproblem in (11). Let N be the set of players that can play the resource sharing and allocation game. The value of coalition for the game players S ⊆ N is given by (12), where F S is the feasible set. v ( S ) = (cid:88) n ∈ S X ∈F S (cid:18) w n u n ( X ) + ζ n (cid:88) j ∈ S,j (cid:54) = n u nj ( X ) + (cid:88) i ∈M n (cid:88) k ∈K (cid:80) l ∈S x ( l ) ik r ( n ) ik (cid:19) . (12) Theorem 1.
Resource allocation and sharing problem (with multiple objectives) for the aforementioned system model can bemodeled as a canonical cooperative game with NTU.Proof.
To prove this, we need to show that the characteristic function of resource sharing and allocation problem satisfies thefollowing two conditions: • Characteristic form of payoff:
As the utility function in a resource sharing and allocation problem only relies on theservice providers that are part of the coalition, the game or payoff function is of characteristic form. = (cid:88) n ∈ S , X ∈ F S (cid:18) w n u n ( X ) + ζ n (cid:88) j ∈ S ∪ t,j (cid:54) = n u nj ( X ) + (cid:88) i ∈M n (cid:88) k ∈K (cid:80) l ∈ ( S ∪ t ) x ( l ) ik r ( n ) ik (cid:19) + w t u ( S ) t ( X ) + ζ t (cid:88) n ∈ S ,n (cid:54) = t u tn ( X )+ (cid:88) i ∈M t (cid:88) k ∈K (cid:80) l ∈ ( S ∪ t ) x ( l ) ik r ( t ) ik − (cid:32) (cid:88) n ∈ S , X ∈ F S (cid:18) w n u n ( X ) + ζ n (cid:88) j ∈ S ∪ t,j (cid:54) = n u nj ( X ) + (cid:88) i ∈M n (cid:88) k ∈K (cid:80) l ∈ ( S ∪ t ) x ( l ) ik r ( n ) ik (cid:19) + w t u ( S ) t ( X )+ ζ t (cid:88) n ∈ S ,n (cid:54) = t u tn ( X ) + (cid:88) i ∈M t (cid:88) k ∈K (cid:80) l ∈ ( S ∪ t ) x ( l ) ik r ( t ) ik (cid:33) = (cid:88) n ∈ S \ S , X ∈ F S \F S (cid:18) w n u n ( X ) + ζ n (cid:88) j ∈{ ( S ∪ t ) \ ( S ∪ t ) } ,j (cid:54) = n u nj ( X ) + (cid:88) i ∈M n (cid:88) k ∈K (cid:80) l ∈{ ( S ∪ t ) \ ( S ∪ t ) } x ( l ) ik r ( n ) ik (cid:19) + w t u ( S ) t ( X )+ ζ t (cid:88) n ∈ S ,n (cid:54) = t u tn ( X ) − w t u ( S ) t ( X ) − ζ t (cid:88) n ∈ S ,n (cid:54) = t u tn ( X ) + (cid:88) i ∈M t (cid:88) k ∈K (cid:80) l ∈{ ( S ∪ t ) \ ( S ∪ t ) } x ( l ) ik r ( t ) ik = v ( S ) − v ( S ) + w t u ( S ) t ( X ) + ζ t (cid:88) n ∈ S ,n (cid:54) = t u tn ( X ) − w t u ( S ) t ( X ) − ζ t (cid:88) n ∈ S ,n (cid:54) = t u tn ( X ) + (cid:88) i ∈M t (cid:88) k ∈K (cid:80) l ∈{ ( S ∪ t ) \ ( S ∪ t ) } x ( l ) ik r ( t ) ik ≥ v ( S ) − v ( S ) (14) • Superadditivity:
For any S , S ⊆ N where S ∩ S = ∅ , S , S ⊂ ( S ∪ S ) . The proof follows from definition ofmonotone utilities. Definition 14 (Convex Games) . A coalition game is said to be convex if and only if for every player n ∈ N , the marginalcontribution of the player is non-decreasing with respect to (W.R.T.) set inclusion. Mathematically, for S ⊆ S ⊆ N \{ n } v ( S ∪ { n } ) − v ( S ) ≤ v ( S ∪ { n } ) − v ( S ) . (13) Theorem 2.
Our canonical game is convex.Proof.
Let us consider two coalition S and S , where S ⊆ S ⊆ N \{ t } , t ∈ N , and F S and F S are the feasible sets for S and S respectively that it achieves by allocating resources to its own applications. We calculate v ( S ∪ { t } ) − v ( S ∪ { t } ) in Equation (14), where u ( S ) t and u ( S ) t are the utilities of player t in S and S respectively.The last inequality in (14) follows from the fact that w t u ( S ) t ( X )+ ζ t (cid:80) n ∈ S ,n (cid:54) = t u tl ( X ) − w t u ( S ) t ( X ) − ζ t (cid:80) n ∈ S ,n (cid:54) = t u tl ( X ) ≥ (monotonicity of the utility). Remark 2.
The core of any convex game ( N , V ) is non-empty and large [10]. Remark 3.
Our canonical cooperative game ( N , V ) with NTU can be used to obtain the Pareto-optimal solutions for themulti-objective optimization problem given in (11) . While the existence of core, i.e., core being non-empty, guarantees the grand coalition is stable, finding a suitable allocationfrom the core is challenging particularly when the core is large (our game). Algorithm 1 provides an allocation from the core ,by solving |N | + 1 optimization problems. Theorem 3.
The allocation decision obtained using Algorithm 1 lies in the core.Proof.
To prove the theorem, we need to show that the allocation decision obtained using Algorithm 1: a) is individuallyrational; b) is group rational; and c) no players have the incentive to leave the grand coalition and form another sub-coalition S ⊂ N . Individual Rationality:
For each player n ∈ N , the solution obtained using (15) is individual rational due to the constraintin (15b). Hence the solution obtained as a result of Algorithm 1 is individually rational. Group Rationality:
The value of the grand coalition v {N } as per Equation (15a) is the sum of utilities of all players thatthey achieve from the pay-off vector V ( N ) ⊆ R |N | . Hence the allocation obtained from Algorithm 1 is group rational. Provided that the aforementioned assumptions hold.
Algorithm 1
Game-theoretic Pareto optimal allocation
Input : R, C, and vector of utility functions of all players u Output : X , u ( X ) Step : u ( X ) ← X ← Step :for n ∈ N do v ( { n } ) ← Optimal objective function value in (10)
Step : X ←
Optimal allocation decision from (15) u ( X ) ← Payoff vector from (15)
TABLE IS
IMULATION NETWORK SETTINGS . Setting Parameters1 N = 3 , M n = 3 , ∀ n ∈ N N = 3 , M n = 20 , ∀ n ∈ N N = 6 , M n = 6 , ∀ n ∈ N N = 6 , M n = 20 , ∀ n ∈ N Furthermore, due to super-additivity of the game and monotonic non-decreasing nature of the utilities, no subgroup of playershave an incentive to form a smaller coalition. Hence Algorithm 1 provides a solution from the core.In algorithm 1, we first solve the single objective optimization problem (10) for all players n ∈ N . We then solve theproblem in (15) that provides the allocation from the core. v ( { n } ) in (15b) is the payoff a player n receives when workingalone. max X (cid:88) n ∈N (cid:18) w n u n ( X ( n ) i ∈M n ) + ζ n (cid:88) j ∈N \ n u nj ( X ( n ) i ∈M j ) + (cid:88) i ∈M n (cid:88) k ∈K (cid:80) l ∈N x ( l ) ik r ( n ) ik (cid:19) , (15a)s.t. constraints in (11b) - (11d) , (cid:18) w n u n ( X ( n ) i ∈M n ) + ζ n (cid:88) j ∈N \ n u nj ( X ( n ) i ∈M j ) + (cid:88) i ∈M n (cid:88) k ∈K (cid:80) l ∈N x ( l ) ik r ( n ) ik (cid:19) ≥ v ( { n } ) , ∀ n ∈ N . (15b)In the next section, we evaluate the performance of our resource sharing and allocation framework.IV. E XPERIMENTAL R ESULTS
We evaluate the performance of proposed resource sharing and allocation framework for a number of settings as shown inTable I. Each player has three different types of resources ( K = 3 ), i.e., storage, communication and computation. Withoutloss of generality, the model can be extended to include other type of resources/parameters. We used linear and sigmoidalutilities (see (16)) for all the players. However, the results hold for any monotone non-decreasing utility. u n ( X ) = (cid:88) i ∈M n (cid:18) K (cid:88) k =1
11 + e − µ ( x ( n ) ik − r ( n ) ik ) (cid:19) ∀ n ∈ N . (16) µ is chosen to be either . or . to capture the requirements of different applications. The request matrices R ( n ) , ∀ n ∈ N and the capacity vectors C ( n ) , ∀ n ∈ N are randomly generated for each setting within a pre-specified range . To show theadvantage of resource sharing, we allocate larger capacities to certain players that, for improving their utilities, share theavailable resources with other domains and assist other players in meeting demand. Since all the service providers do notdifferentiate between their native and applications of other service providers, we set w n and ζ n , ∀ n ∈ N to . The simulationswere run in Matlab R2016b on a
Core-i7 processor with
16 GB RAM . To solve the optimization problems, we used the
OPTI-toolbox . Below, we provide detailed experimental results.
A. Verification of game-theoretic properties
In Table II, we present results for a 3-player 20-application game that verify different game theoretic properties such asindividually rationality, group rationality, super additivity and show that the obtained allocation is from the core. The pay-offall players receive in the grand coalition, i.e., { , , } is at least as good as players , and working alone. This showsthat the solution obtained using Algorithm 1 for the grand coalition is individually rational. Similarly, the value of coalition The larger the number of applications in our simulation settings, the larger is range for random number generation.
TABLE IIP
LAYER PAYOFF IN DIFFERENT COALITIONS FOR A PLAYER - APPLICATION GAME WITH µ = 0 . Coalition Player 1 Player 2 Player 3 Value of coalition { } { } { } {
1, 2 } {
1, 3 } {
2, 3 } {
1, 2, 3 } Alone GC050100150 U t ili t y Player 1Player 2Player 3
Alone GC050100150 U t ili t y Player 1Player 2Player 3
20 Applications, =0.01
Alone GC0200400600 U t ili t y Player 1Player 2Player 3
20 Applications, =0.1
Alone GC0200400600 U t ili t y Player 1Player 2Player 3
Alone GC050100150 U t ili t y Player 1 Player 2 Player 3 Player 4 Player 5 Player 6
Alone GC050100 U t ili t y
20 Applications, =0.01
Alone GC0100200300400 U t ili t y
20 Applications, =0.1
Alone GC0100200300400 U t ili t y Fig. 3. Player utilities working alone and in the grand coalition (GC) for different simulation settings with µ = 0 . and µ = 0 . . is the sum of pay-off all players receive is the value of coalition, hence our solution is group rational. Furthermore, with anincrease in the coalition size, value of coalition also increases. Hence, the grand coalition has the largest value, which showsthe superadditive nature of the game. Also, no set of players has any incentive to divert from the grand coalition and form asmaller coalition. Hence, the grand coalition is stable and the allocation we obtain using Algorithm 1 is from the core. Similarresults were seen for other settings given in Table I. However, we do not include them here due to space constraints. B. Efficacy of the resource sharing framework1) Player utilities:
Figure 3 shows the utility of game players in different simulation settings. It is evident from the figurethat the utility of players in grand coalition (GC) in all simulation settings either remains as good as working alone (very smallnumber of cases) or drastically improves with our game theoretic resource sharing framework. This shows that cloud serviceproviders can greatly benefit by employing a resource sharing scheme. The average improvement in the utility of players seenin our simulations is almost 207%. However, it is worth mentioning that the improvement greatly depends on parameters suchas resource surplus, deficit, and the utilities used.
2) User satisfaction:
Satisfying user requests is important for cloud service providers as it is mandated by the SLA.Furthermore, it helps in retaining their users (customers) resulting in long-term profits. Figure 4 shows the average user requestsatisfaction in different player-application settings. For a − player game with and applications respectively, player has aresource deficit and is not able to satisfy all of its user’s request when operating alone. Players and have a resource surplusso they can satisfy their users even working alone. When all the three players work in a coalition, the request satisfactionfor all three players is 100%. Similarly, for a − player game with and applications respectively, we see that playerswho could not satisfy their applications alone are able to satisfy all their user requests by joining the coalition and “renting”resources from the players that have a resource surplus. It is worth mentioning that resource sharing can drastically improveuser satisfaction. However, the extent of improvement depends on the nature of the utility function, capacity and resourcerequests.
3) Resource utilization:
Figure 5 shows the resource utilization at different players in various simulation settings. For a − player game with and applications respectively, we see that the resource utilization for player and (players with Alone Grand Coalition020%40%60%80%100% U se r S a t i s f ac t i on Player 1 Player 2 Player 3
Alone Grand Coalition020%40%60%80%100% U se r S a t i s f ac t i on Player 1 Player 2 Player 3
Alone Grand Coalition020%40%60%80%100% U se r S a t i s f ac t i on Player 1 Player 2 Player 3 Player 4 Player 5 Player 6
Alone Grand Coalition020%40%60%80%100% U se r S a t i s f ac t i on Fig. 4. Improvement in user request satisfaction for various player-application settings and µ = 0 . . Alone Grand Coalition020%40%60%80%100% R es ou r ce U t ili z a t i on Player 1 Player 2 Player 3
Alone Grand Coalition020%40%60%80%100% R es ou r ce U t ili z a t i on Player 1 Player 2 Player 3
Alone Grand Coalition020%40%60%80%100% R es ou r ce U t ili z a t i on Player 1 Player 2 Player 3 Player 4 Player 5 Player 6
Alone Grand Coalition020%40%60%80%100% R es ou r ce U t ili z a t i on Fig. 5. Resource utilization for various player-application settings and µ = 0 . . resource surplus) increases in the grand coalition when compared with working alone. This is because these players rent outtheir resources to player that may need them resulting in an increased utility. Player with resource deficit had 100%resource utilization rate working alone. However, resource utilization for player in grand coalition either may remain thesame or reduce, since its users’ requests may be satisfied by other players. Similar results are seen for a − player game with and applications as evident from the figure.It is evident from our results that the use of resource sharing and allocation is beneficial for cloud service providers. Byallowing different cloud service providers to cooperate, the utility of service providers increases and resources are utilized inan optimal manner. All the service providers in the game have the incentive to work together and use their resource capacitiesin the best possible way. V. R ELATED W ORK
There have been a number of solutions proposed in literature related to resource availability and resource allocation in cloudcomputing. Alicherry et al. [11] presented a 2-approximation algorithm for network resource allocation in a distributed cloudenvironment. Ergu et al. [12] proposed a model for resource allocation in cloud computing environment. Tsai et al. [13] proposedan improved differential evolution algorithm for resource allocation in cloud that combines differential evolution algorithmwith Taguchi method. Pawar et al. [14] proposed a dynamic resource allocation that considers different SLA parameters andpremptable task execution. Wei et al. [15] proposed a non-cooperative game theory based approach for resource allocation inthe cloud. The objective of the algorithm is to maximize fairness among different users. Duan et al. [16] modeled schedulingin hybrid clouds as a sequential cooperative game. The authors proposed a storage and communication aware algorithm thatjointly optimizes the execution time and economic cost of scheduling Bag-of-Tasks work flows. Shi et al. [17] proposed aShapley value based mechanism for on-demand bandwidth allocation between data centers. They focus on network bandwidthand do not take computing and storage resources into account. Shi et al. [1] also proposed an online auction mechanism for dynamically providing virtual clusters in geo-distributed clouds. Zafari et al. [18] modeled resource sharing among mobileedge clouds as a canonical game with transferable utility (TU).However, our work in this paper differed from [1], [11], [15]–[17]. We considered the multi-objective nature of the resourcesharing problem and allowed different cloud service providers to share resources and improve their utilities, while satisfyingthe requests of different users. Our work is closest to [18]. However, authors in [18] considered the case where each serviceprovider first allocates resources to its own applications and shares the remaining resources with the applications of otherservice providers. They only considered the utility of the service provider and did not consider the user satisfaction. Ourframework guarantees Pareto optimality like [18], however, it is more generic than [18] as TU games can be modeled as aspecial case of NTU [9]. VI. C ONCLUSIONS
In this paper, we proposed a cooperative game theory based framework for resource sharing and allocation among cloudservice providers. We showed that for a monotonic non-decreasing utility, resource sharing among multiple cloud serviceproviders can be modeled as a canonical game with non-transferable utility. We prove that the game is convex, hence the coreof the game is non-empty. We proposed an O ( N ) algorithm that provides allocation decision from the core. Simulation resultsshowed that our proposed framework improves utility of cloud service providers. Furthermore, request satisfaction of usersalso improved. R EFERENCES[1] W. Shi, C. Wu, and Z. Li, “An Online Auction Mechanism for Dynamic Virtual Cluster Provisioning in Geo-Distributed Clouds,”
IEEE Transactionson Parallel and Distributed Systems , vol. 28, no. 3, pp. 677–688, 2017.[2] Z. Xiao, W. Song, Q. Chen et al. , “Dynamic resource allocation using virtual machines for cloud computing environment.”
IEEE Trans. Parallel Distrib.Syst. , vol. 24, no. 6, pp. 1107–1117, 2013.[3] W.-Y. Lin, G.-Y. Lin, and H.-Y. Wei, “Dynamic Auction Mechanism for Cloud Resource Allocation,” in
Proceedings of the 2010 10th IEEE/ACMInternational Conference on Cluster, Cloud and Grid Computing . IEEE Computer Society, 2010, pp. 591–592.[4] A. Beloglazov, J. Abawajy, and R. Buyya, “Energy-Aware Resource Allocation Heuristics for Efficient Management of Data Centers for CloudComputing,”
Future generation computer systems , vol. 28, no. 5, pp. 755–768, 2012.[5] V. Mayer-Sch¨onberger and K. Cukier, “Big Data: A Revolution That Will Transform How We Live, Work, and Think,” 2013.[6] L. Atzori, A. Iera, and G. Morabito, “The Internet of Things: A Survey,”
Computer networks , vol. 54, no. 15, pp. 2787–2805, 2010.[7] J.-H. Cho, Y. Wang, R. Chen, K. S. Chan, and A. Swami, “A Survey on Modeling and Optimizing Multi-Objective Systems,”
IEEE CommunicationsSurveys & Tutorials , vol. 19, no. 3, pp. 1867–1901, 2017.[8] Z. Han,
Game Theory in Wireless and Communication Networks: Theory, Models, and Applications . Cambridge University Press, 2012.[9] R. B. Myerson,
Game theory . Harvard university press, 2013.[10] W. W. Sharkey, “Cooperative Games with Large Cores,”
International Journal of Game Theory , vol. 11, no. 3-4, pp. 175–182, 1982.[11] M. Alicherry and T. Lakshman, “Network Aware Resource Allocation in Distributed Clouds,” in
Infocom, 2012 proceedings IEEE . IEEE, 2012, pp.963–971.[12] D. Ergu, G. Kou, Y. Peng, Y. Shi, and Y. Shi, “The Analytic Hierarchy Process: Task Scheduling and Resource Allocation in Cloud ComputingEnvironment,”
The Journal of Supercomputing , vol. 64, no. 3, pp. 835–848, 2013.[13] J.-T. Tsai, J.-C. Fang, and J.-H. Chou, “Optimized Task Scheduling and Resource Allocation on Cloud Computing Environment using ImprovedDifferential Evolution Algorithm,”
Computers & Operations Research , vol. 40, no. 12, pp. 3045–3055, 2013.[14] C. S. Pawar and R. B. Wagh, “Priority Based Dynamic Resource Allocation in Cloud Computing with Modified Waiting Queue,” in
Intelligent Systemsand Signal Processing (ISSP), 2013 International Conference on . IEEE, 2013, pp. 311–316.[15] G. Wei, A. V. Vasilakos, Y. Zheng, and N. Xiong, “A Game-Theoretic Method of Fair Resource Allocation for Cloud Computing Services,”
The journalof supercomputing , vol. 54, no. 2, pp. 252–269, 2010.[16] R. Duan, R. Prodan, and X. Li, “Multi-Objective Game Theoretic Scheduling of Bag-of-Tasks Workflows on Hybrid Clouds,”
IEEE Transactions onCloud Computing , vol. 2, no. 1, pp. 29–42, 2014.[17] W. Shi, C. Wu, and Z. Li, “A Shapley-Value Mechanism for Bandwidth on Demand between Datacenters,”
IEEE Transactions on Cloud Computing ,vol. 6, no. 1, pp. 19–32, 2018.[18] F. Zafari, J. Li, K. K. Leung, D. Towsley, and A. Swami, “A Game-Theoretic Approach to Multi-Objective Resource Sharing and Allocation in MobileEdge,” in