• No results found

3.7 Summary

4.1.2 Main Results

In this chapter, we use the MDP framework to study service migration in MMCs. We provide novel contributions beyond [19], by considering more efficient solution methods, general cost models, 2-D user mobility, and application to real-world sce- narios. The details are described as follows.

1. We formulate the mobility-driven dynamic service placement/migration prob- lem with general cost models and provide a mathematical framework to design optimal service migration policies.

2. We consider 1-D user mobility1 with a constant cost model, and propose an

optimal threshold policy to solve for the optimal action of the MDP, which is more efficient than standard solution techniques. A threshold policy means that we always migrate the service for a user from one micro-cloud to another when the user is in states bounded by a particular set of thresholds, and do not migrate otherwise. We first prove the existence of an optimal threshold policy and then propose an algorithm with polynomial time-complexity for finding the optimal thresholds. The analysis with 1-D mobility model can also help 1The 1-D mobility is an important practical scenario often encountered in transportation networks,

4.1. Introduction 67 us gain new insights into the migration problem, which set the foundation for more complicated scenarios studied next.

3. We consider 2-D user mobility with a more general cost model, where the cost can be expressed in a constant-plus-exponential form. For this case, we propose the following:

(a) We note that the resulting problem becomes difficult to solve due to the large state space. In order to overcome this challenge, we propose an approximation of the underlying state space where we define the states as the distance between the user and the service locations2. This ap- proximation becomes exact for uniform 1-D mobility. We prove several structural properties of the distance-based MDP, which includes a closed- form solution to the discounted sum cost. We leverage these properties to develop an algorithm for computing the optimal policy, which reduces the per-iteration complexity from O(N3) (by policy iteration [41, Chap- ter 6]) to O(N2), where N is the number of states in the distance-based MDP excluding the state corresponding to zero distance.

(b) We show how to use the distance-based MDP to approximate the solu- tion for 2-D mobility models, which allows us to efficiently compute a service migration policy for 2-D mobility. For uniform 2-D mobility, the approximation error is bounded by a constant. Simulation results comparing our approximation solution to the optimal solution (where the optimal solution is obtained from a 2-D MDP) suggest that it performs very close to optimal, and the proposed approximation approach obtains the solution significantly faster.

2Throughout this chapter, we mean by user location the location of the basestation that the user is

4.2. Problem Formulation 68 (c) We demonstrate how to apply our algorithms in a practical scenario driven by real mobility traces of taxis in San Francisco which involve multiple users and services. The practical scenario includes realistic factors, e.g., not every basestation has an MMC connected to it, and each MMC can only host a limited number of services. We compare the proposed policy with several baseline strategies that include myopic, never-migrate, and always-migrate policies. It is shown that the proposed approach offers significant gains over these baseline approaches.

4.2

Problem Formulation

Consider a mobile user that accesses a cloud-based service hosted on the MMCs. The set of possible user locations is given byQ, where Q is assumed to be finite (but arbitrarily large). We consider a time-slotted model where the user’s location remains fixed for the duration of one slot and changes from one slot to the next according to a Markovian mobility model. The time-slotted model can be regarded as a sampled version of a continuous-time model, and the sampling can be performed either at equal intervals over time or occur right after a cellular handover instance. In addition, we assume that each location ϕ ∈ Q is associated with an MMC that can host the service for the user. The locations inQ are represented as 2-D vectors and there exists a distance metric1 − ϕ2 that can be used to calculate the distance between locations ϕ1 and ϕ2. Note that the distance metric may not be Euclidean distance. An example of this model is a cellular network in which the user’s location is taken as the location of its current basestation and the MMCs are co-located with the basestations. As shown in Section 4.4.3, these locations can be represented as 2-D vectors (i, j) with respect to a reference location (represented by (0, 0)) and the

4.2. Problem Formulation 69 Possible Possible migration We always migration We always Ob g h i have

Observe changing Operate with states have

(t) d h(t)

g g

h(t) t h'(t) Operate with states h(t+1) h'(t)

u(t) and h(t) h(t) to h'(t) p (t) d h'(t) h(t+1)= h'(t) ( ) ( ) ( ) ( ) u(t) and h'(t) ( ) ( ) u(t) and h (t)

i Time Time Ti l t t Timeslot t

Figure 4.1: Timing of the proposed service migration mechanism.

distance between any two locations can be calculated in terms of the number of hops to reach from one cell to another cell. We denote the user and service locations at timeslot t as u(t) and h(t) respectively.

Remark: The problem is formulated for the case of a single user accessing a

single service, i.e., the application graph only contains two nodes, one running at one of the MMCs, and the other running at the user device. However, our solution can be applied to manage services for multiple users in a heuristic manner. We will illustrate such an application in Section 4.4.4, where we also consider aspects including that MMCs are only deployed at a subset of basestations and a limited number of services can be hosted at each MMC. We assume in this chapter that different services are independent of each other, and one service serves a single user. The notion of “service” in this chapter can also stand for an instance of a particular type of service, but we do not distinguish between services and instances in this chapter for simplicity.

Related documents