A Game-Theoretic Approach to Multi-Objective Resource Sharing and Allocation in Mobile Edge Clouds

08/21/2018 ∙ by Faheem Zafari, et al. ∙ 0

Mobile edge computing seeks to provide resources to different delay-sensitive applications. However, allocating the limited edge resources to a number of applications is a challenging problem. To alleviate the resource scarcity problem, we propose sharing of resources among multiple edge computing service providers where each service provider has a particular utility to optimize. We model the resource allocation and sharing problem as a multi-objective optimization problem and present a Cooperative Game Theory (CGT) based framework, where each edge service provider first satisfies its native applications and then shares its remaining resources (if available) with users of other providers. Furthermore, we propose an O(N) algorithm that provides allocation decisions from the core, hence the obtained allocations are Pareto optimal and the grand coalition of all the service providers is stable. Experimental results show that our proposed resource allocation and sharing framework improves the utility of all the service providers compared with the case where the service providers are working alone (no resource sharing). Our O(N) algorithm reduces the time complexity of obtaining a solution from the core by as much as 71.67% when compared with the Shapley value.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1. Introduction

111This work was supported by the U.S. Army Research Laboratory and the U.K. Ministry of Defence under Agreement Number W911NF-16-3-0001. The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or 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 Zafari also acknowledges the financial support by EPSRC Centre for Doctoral Training in High Performance Embedded and Distributed Systems (HiPEDS, Grant Reference EP/L016796/1), and Department of Electrical and Electronics Engineering, Imperial College London.

Mobile edge computing is a viable solution to support resource intensive applications (users). Edge computing relies on edge clouds placed at the edge of any network (he2018s, ). This, in contrast with running applications on different mobile devices or deep in the Internet, usually allows one-hop communication (jia2015optimal, ) between edge clouds and application that results in reducing application latency. However, a fundamental limitation of mobile edge computing is that in contrast with traditional cloud platforms and data centers, edge clouds are limited in resources and may not always be able to satisfy application demands (he2018s, ). Realizing the resource scarcity problem, the research community has started several initiatives to create an open edge computing platform where edge clouds in the same geographical location can form a shared resource pool. However, allocating these resources efficiently from the shared pool to different applications in itself is a challenge.

There have been several attempts in the literature to address the resource allocation problem. He et al. (he2018s, ) studied the allocation of edge resources to different applications by jointly considering request scheduling and service placement. Jia et al. (jia2015optimal, ) discussed edge cloud placement and allocation of resources to mobile users in the edge cloud in a Wireless Metropolitan Area Network (WMAN). Xu et al. (xu2016efficient, ) discussed edge cloud placement in a large-scale WMAN that contains multiple wireless access points (APs). However, most work does not account for the fact that edge resources can belong to different service providers where each service provider can have a particular objective to optimize such as security, throughput, latency, etc. Therefore creating a resource pool and then allocating these resources requires taking different service provider objectives into account, which results in a multi-objective optimization (cho2017survey, ) (MOO) problem. Furthermore, each service provider has primary applications that should be prioritized over applications of other service providers as customer loyalty is an important part of the cloud business model. For example, Amazon Web Services (AWS) and Microsoft Azure need to satisfy the demands of their own customers first before they “rent” resources to other service providers.

In this paper, we attempt to address the aforementioned shortcomings. We consider an edge computing setting where different edge clouds belonging to different service providers are placed at the network edge. Each cloud has a specific amount of resources and particular applications affiliated with the cloud can ask for resources. All clouds initially attempt to allocate resources to their own affiliated applications. If a cloud can satisfy its own applications and still have available resources, it can share them with other edge clouds that might need resources. To capture this, we present a Cooperative Game Theory (CGT) based resource sharing and allocation mechanism in which different edge clouds share their resources and form a coalition to satisfy the requests of different applications. Our CGT based framework takes into account the fact that different edge clouds may have different objectives, which is why traditional single objective optimization framework cannot be used. The contributions of this paper are:

  1. We propose a CGT based multi-objective resource sharing and allocation framework for edge clouds in an edge computing setting. We show that the resource sharing and allocation problem can be modeled as a Canonical game. The core of this canonical game is non-empty and the Shapley value (shapley1988value, ) lies inside the core. For small number of players, we show numerically that the Shapley value provides a fair, Pareto-optimal and stable222No service provider has the incentive to leave the coalition and form a smaller coalition. allocation.

  2. We propose an efficient algorithm that provides an allocation from the core, hence reducing the complexity from (for Shapley value).

  3. We evaluate the performance of our proposed framework and show that the resource sharing and allocation mechanism improves the utilities of game players.

The paper is structured as: Section 2 provides a primer on CGT, the Core and Shapley Value. Section 3 presents our system model. It also presents the resource sharing and allocation optimization problem with the game theoretic solution. Section 4 presents our experimental results while Section 5 concludes the paper.

2. Preliminaries

In this section, we present a primer on Cooperative Game Theory, the Core and Shapley Value as they are used later in the paper.

3. System Model

Let be the set of all the edge clouds that act as players in our game. We assume that each player has a set of different types of resources such as communication, computation and storage resources. The -th edge cloud can report its available resources to a central entity, the coalition controller. Here is the amount of resources of type available to edge node

. Vector

represents all available resources at different edge clouds. Each edge cloud has a set of native applications that ask for resources. Furthermore, the set of all applications that ask for resources from the set of edge clouds (coalition of edge clouds) is given by where i.e., each application asks only one edge cloud for resources. The coalition controller receives a request (requirement) matrix from every player

(1)

where the row corresponds to the application while columns represent different resources, i.e., is the amount of resource that application requests. The coalition, based on and , has to make an allocation decision that optimizes the utilities of all the edge clouds . The allocation decision is a vector
that indicates how much of each resource is allocated to application at edge cloud . Mathematically,

(2)

where is the amount of resource belonging to player that is allocated to application .

3.1. Optimization Problem

In this section, we first present the resource allocation problem for a single edge cloud (no resource sharing with other edge clouds). Then we present the MOO problem for the coalition. For a single edge cloud , the allocation decision matrix , where stands for single objective optimization, is given by

(3)

The optimization problem is given below:

(4a)
(4b) s.t.
(4c)
(4d)

The above optimization problem captures the goal of every single edge cloud i.e., maximizing its utility by allocating its available resources to its native applications333Applications that are primarily affiliated with the edge cloud.. The first constraint (4b) indicates that resources allocated to all users cannot exceed capacity. The second constraint (4c) indicates allocated resources cannot exceed required resources while the final constraint (4d) requires the allocations to be non-negative. For the cooperative case where edge clouds work in cooperation with other edge clouds, we aim to maximize the utility of our coalition in (5):

(5a)
(5b) s.t.
(5c)
(5d)

Here in  (5) indicates the utility that an edge cloud receives by providing its resources to applications in . Remaining available resources at edge cloud can be used by applications of other edge clouds that will be charged at a rate that edge cloud (each edge cloud acts as a player in our cooperative game) would have charged the application had the request been satisfied by edge cloud . Hence is the utility that edge cloud receives for sharing its resources with edge cloud . is the weight assigned to the utility of player . is the weight assigned to the utility . The purpose of the weights is to highlight that each edge cloud first allocates resources to its own applications and then shares the remaining resources with other edge clouds.

3.2. Game Theoretic Solution

The characteristic function

for our game that solves problem in (5) is given in  (6). We model the resource allocation and sharing problem (with multiple objectives) in the aforementioned settings as a canonical cooperative game with transferable utility. We choose a monotone non-decreasing utility function for our resource allocation and sharing framework. This is because in edge computing, the more resources provided, the higher is the gain or utility for the edge cloud. It is highly unlikely that the utility of any edge cloud will decrease with an increase in the amount of resources allocated. Since the utility function used is monotone non-decreasing, the game is convex. The core of any convex game is large and contains the Shapley value (han2012game, ). Our goal is to obtain an allocation from the core as all allocations in the core guarantee Pareto optimality and stability of the grand coalition i.e. the allocation decision obtained is Pareto optimal and no player (edge cloud) will have the incentive to leave the grand coalition. We first use the Shapley value, that requires solving optimization problems, to obtain an allocation from the core and then propose a computationally efficient algorithm that can provide us an allocation from the core but does not provide the fairness of the Shapley value.

(6)

Algorithm 1 provides an overview of our proposed approach. We calculate the Shapley value for the players and assign it to . Finally to obtain , we take the inverse function of . As we are using monotonic utilities, we know that the inverses of the utilities exist. A fundamental issue with the Shapley value is its complexity. This motivates developing a more efficient algorithm to obtain an allocation from the core.

3.3. Reducing the Computational Complexity

To reduce computational complexity, we propose an algorithm (Algorithm 2) that requires solving only optimization problems rather than .

Input: and vector of utility functions of all players
Output:
Step : 0, 0, 0,
Step : Calculate Shapley Value
Step :
Step :
Algorithm 1 Shapley Value based Resource Allocation
Input: and vector of utility functions of all players
Output:
Step : 0, 0, 0, 0,
Step :
for  do
      Solution of the optimization problem in Equation (4)
end for
Step : Update based on Step 2
Step :
for  do
      Solution of the optimization problem in Equation (7) with updated and
     Update and
end for
Step :
Step :
Algorithm 2 () algorithm for obtaining Core’s allocation
(7a)
(7b) s.t.
(7c)
(7d)
Theorem 1 ().

The solution obtained from Algorithm 2 lies in the core.

Proof.

We need to show that the utilities obtained in Step of Algorithm 2: a) are individually rational. b) are group rational, and c) no player has the incentive to leave the grand coalition and form another coalition .

Individual Rationality: For each player , the solution obtained by solving the optimization problem in (4) is the utility a player obtains by working alone i.e. it is . The value in Step 4 is either zero or positive but cannot be negative due to the nature of utility used i.e.

Group Rationality: The value of the grand coalition as per (6) is the sum of utilities ’s and ’s. Steps 2, 4 and 5 of Algorithm 2 obtain the sum of the utilities as well. Hence the solution obtained as a result of Algorithm 2 is group rational. Furthermore, due to super-additivity of the game and monotone non-decreasing nature of the utilities, no player has the incentive to form a smaller coalition. Hence Algorithm 2 provides a solution from the core. ∎

4. Experimental Results

To evaluate the performance of the proposed resource sharing and allocation mechanism, we consider a set of game players where each player has three different types of resources i.e., storage, communication and computation. Without loss of generality (W.l.o.g), the model can be extended to include other types of resources/parameters as well. We present results for four different settings with 1) ; 2) ; 3) ; and 4) . We used linear and sigmoidal utilities (see  (8)) for all the players. However, the results hold for any monotone non-decreasing utility.

(8)

is chosen to be either or to capture the requirements of different applications. The request matrix and capacity vector for each player were randomly generated. The experiments were run in Matlab R2016b on Core-i7 processor with 16 GB RAM. The optimization problems were solved using the OPTI-toolbox.

4.1. Value of Coalition

Table 1 shows the utilities of different players in a player- application setting. Player one was assigned a linear utility while player two and three had sigmoidal utilities. It is evident from the table that the utility of the coalition improves when more players are added. The grand coalition has the highest utility, verifying the superadditive nature of the game. The last row shows the Shapley Values (S.V.) for the grand coalition. Our (alg2 in Figure 1) provides the same value of coalition as Shapley value (due to Pareto optimality), however players are assigned different utilities in the coalition. Figure 1 shows the value of coalition for players, and and applications with set to and . The grand coalition achieves the highest coalition utility for all three cases. As a higher value of

(i.e., the slope of the sigmoidal function is steep) puts a stringent requirement on the edge clouds to satisfy requests of the applications if it is to gain any utility, we see that that the overall value of coalition is smaller for

when compared with . Figure 2 shows the utility of a player without resource sharing and with resource sharing in the grand coalition in varying experimental settings (, , , and ). We show the utility of the player in the grand coalition both using Shapley value (SV) and our algorithm (alg2 in Figure). Similar trends are observed in Figure 3. However, we do not calculate the Shapley value for and due to the computational complexity and the utility of the players in the grand coalition is obtained using Algorithm . It is evident that all the players’ utilities improve by sharing resources and taking part in the cooperative game.

Coalition Player Utilities Coalition Utility
{1} 36 0 0 36
{2} 0 4.37 0 4.37
{3} 0 0 4.31 4.31
{12} 40.17 4.375 0 44.545
{13} 40.31 0 4.313 44.623
{23} 0 8.68 8.68 17.37
{123} 44.68 8.68 8.68 62.06
{123} (S.V.) 40.34 10.90 10.81 62.06
Table 1. Utility (Pay-off) for different coalitions with
Figure 1. Value of Coalition for players, and and applications with and

4.2. Time complexity

Computational complexity of the Shapley value is high, which is why it cannot be used for a large number of players. We compared the performance of our algorithm with the Shapley value based allocation (given in Algorithm 1) in a 3-player game with different number of applications. Experimental results showed that Algorithm 2 reduces the computation time by as large as 71.67% and as small as 26.6% while the average improvement was about 49.75%. Figure 4 shows the calculation time for different user-application settings with varying . We see that in all the settings, our proposed algorithm outperforms the Shapley value based allocation.

Figure 2. Utilities in different settings without and with resource sharing in grand coalition for
Figure 3. Player utilities with and without resource sharing in grand coalition for and
Figure 4. Comparison of time Complexity

5. Conclusions

We proposed a cooperative game theory based resource allocation and sharing framework for edge computing that can efficiently allocate resources to different applications affiliated with edge clouds. Our resource allocation and sharing game is canonical and convex. The core for the game is non-empty, hence the grand coalition is stable and Shapley value also lies in the core. Furthermore, due to computational complexity of calculating Shapley value, we presented an algorithm that can provide an allocation and sharing decision from the core. Experimental results showed that edge clouds can improve their utility by using our proposed resource allocation mechanism and our algorithm can provide us an allocation from the core (guarantee of Pareto optimality and stability) in a shorter time than the Shapley value.

References

  • [1] Ting He, Hana Khamfroush, Shiqiang Wang, Tom La Porta, and Sebastian Stein. It’s Hard to Share: Joint Service Placement and Request Scheduling in Edge Clouds with Sharable and Non-sharable Resources. 2018. To appear in IEEE ICDCS.
  • [2] Mike Jia, Jiannong Cao, and Weifa Liang. Optimal Cloudlet Placement and User to Cloudlet Allocation in Wireless Metropolitan Area Networks. IEEE Transactions on Cloud Computing, 2015.
  • [3] Zichuan Xu, Weifa Liang, Wenzheng Xu, Mike Jia, and Song Guo. Efficient Algorithms for Capacitated Cloudlet Placements. IEEE Transactions on Parallel and Distributed Systems, 27(10):2866–2880, 2016.
  • [4] Jin-Hee Cho, Yating Wang, Ray Chen, Kevin S Chan, and Ananthram Swami. A Survey on Modeling and Optimizing Multi-Objective Systems. IEEE Communications Surveys & Tutorials, 19(3):1867–1901, 2017.
  • [5] Lloyd S Shapley. A Value for N-Person Games. Contributions to the Theory of Games, 2(28):307–317, 1953.
  • [6] Zhu Han. Game Theory in Wireless and Communication Networks: Theory, Models, and Applications. Cambridge University Press, 2012.