An Adaptive Resource Allocation Algorithm for ...

6 downloads 22760 Views 343KB Size Report
cloud service for fast application execution by using the technology of Mobile Cloud Computing (MCC). To better utilize the computing resource of the cloud ...
2015 IEEE Symposium on Service-Oriented System Engineering

An Adaptive Resource Allocation Algorithm for Partitioned Services in Mobile Cloud Computing Yanchen Liu and Myung J. Lee Department of Electrical Engineering, City College, the City University of New York 160 Convent Avenue, New York, NY, USA, 10031 Email: {yliu2, mlee}@ccny.cuny.edu vantage of remote execution at cloud server. Application partition technology [3] can support fine-grained offloading, where a mobile application is partitioned into a number of subcomponents. The strategy of offloading only the sub-parts of mobile applications that can get benefits from the remote execution is usually more welcomed and adopted by MCC [4]. The resource allocation for mobile applications with their partitions offloading to the cloud server plays an important role in further improving the efficiency of the MCC system. [5] solves the admission control problem of mobile requests for cloud computing, with the consideration of the availability of real-time computing resource of the cloud server and the performance of mobile applications. However, the model is formulated for mobile requests from applications, and does not apply for the case of partition offloading with the goal of optimizing the whole MCC system. [6] provides an admission control scheme for application partitions in the MCC system, where QoS of different users is taken into account under resource constraint. However, the relations among the mobile application partitions and the affects of accepting/rejecting different partitions to the efficiency of resource allocation are critical but not investigated. In real-time systems, the offloading strategy of which partitions and in what sequence to offload for an application can be calculated based on its partitions abstractions and the ongoing network environment that determines the communication cost of partitions [7]. The abstraction of each partition can be profiled offline and consists of the following main factors: the required computing resource and power consumption, the transmission data size, and the topological ordering1 obtained through the serialization of the application. While the first two factors decide which partitions of the application to offload, the last one determines the partitions offloading sequence. In this article, the resource allocation problem for partitioned mobile applications in MCC system is investigated

Abstract—Nowadays, much richer functionality of mobile applications encourages mobile devices to leverage the powerful cloud service for fast application execution by using the technology of Mobile Cloud Computing (MCC). To better utilize the computing resource of the cloud server, a novel resource allocation algorithm is proposed in this paper with the consideration of application partition offloading sequence while maintaining the high quality of service (QoS) of mobile users. The resource allocation problem is modeled as a semiMarkov decision process. Through maximizing the long-term discounted system reward, an optimal resource allocation policy is calculated for partitioned mobile applications using policy iteration approach, which makes a latter partition of the application more easily to obtain resource to speed up the application execution. Both theoretical and simulation results show that the system can adaptively adjust the allocation policy of whether to utilize the cloud and how much computing resource to allocate, according to the request traffic of mobile applications, the partition’s position in the application, and the availability of system resources. The proposed algorithm outperforms Greedy admission control in terms of system throughput and QoS over a broad range of environments. Keywords-Mobile cloud computing, admission control, resource allocation, offloading, partitioning, semi-Markov Decision Processing

I. I NTRODUCTION Mobile Cloud Computing (MCC) is a promising system that introduces the powerful cloud computing into a mobile computing environment, where mobile devices connect to the Internet through wireless network and then communicate with the remote cloud. Compared to mobile devices, the cloud server can provide huge storage, high computation power, as well as reliable security [1]. Thus, the application space of MCC can now include many mobile applications that were not possible solely on mobile devices, such as virus scanning and face recognition. The concept of computation offloading from mobile devices to the remote cloud server was proposed to improve the performance of mobile applications and to save the energy consumption of mobile devices [2]. Although offloading the whole application can usually benefit its execution, some parts of a program, like the ones with light computation requirement but large input data, actually cannot take ad978-1-4799-8356-8/15 $31.00 © 2015 IEEE DOI 10.1109/SOSE.2015.19

1 The relation structure of all the partitions of an application can be seen as a directed graph with a topological ordering, where each node stands for a partition. The partitions are offloaded according to the topological ordering.

209

and modeled as semi-Markov Decision Process (SMDP) [8]. A novel system reward model is developed with the consideration of the impacts of allocating computing resource to different partitions being classified based on offloading sequence. The objective is to achieve an optimal cloud computing resource allocation policy through maximizing the system reward, in order to obtain the maximum system throughput (in terms of request acceptance rate) and to fully utilize the computing resource by preventing tasks to be dropped due to the resource depletion. Compared with Greedy approach, our approach cannot only provide a better allocation policy to speed up the application execution, but also significantly increase the acceptance ratio of service requests from application partitions, especially when the system computing resource is limited. The remainder of this paper is organized as follows. The system model is described in Section II. An SMDP based resource allocation approach for partitioned mobile services is proposed in Section III. Theoretical analysis and simulation are presented in Section IV, followed by the conclusion in Section V.

level is, the earlier the offloading request of the corresponding partition will be sent. In our model, it is assumed that there are total I position levels for each application, and among multiple mobile users, the offloading request of the partition at position level i (0 < i ≤ I) follows the Poisson process with mean rate λi .3 If a mobile request is accepted and allocated with one VM from the cloud server, the event of service completion (departure from the cloud) is assumed to follow an exponential distribution with rate µ. Thus, the average service time with one assigned cloud VM working for a mobile application partition is µ1 , and the average 1 (1 ≤ c ≤ T ). service time with c VMs is cµ The resource allocation procedure in this paper is as follows: When a new request of using cloud resource from an application’s partition arrives, the system decides whether or not to accept the request according to the calculated allocation policy. Once the request is accepted, the system will decide the number of cloud VMs allocated to this offloaded partition in order to the maximize the system reward. III. SMDP BASED R ESOURCE A LLOCATION FOR PARTITIONED M OBILE A PPLICATIONS

II. S YSTEM M ODEL

The semi-Markov Decision Processing is a generalization of the Markov Decision Process, where the transition time between decision epochs is a continuous time random variable with the same probability distribution, which depends on: 1) the current system state, 2) the taken action, and 3) the potential next state [11]. The resource allocation problem in this article is formulated as an SMDP model with finite state and action spaces [8]. At each decision epoch of resource allocation, the resource allocation decision is about whether to accept the partition offloading and how many VMs to allocate for the request, depending on the request type and the current system state (i.e. which part of application this partition is from, and the available cloud VMs). Different allocation decision results in different next potential state, and thus different system reward. The objective of the system is to find a set of optimal allocation decisions for all the decision epochs in order to maximize the system rewards. In this paper, we name this SMDP-based resource allocation algorithm for partitioned mobile applications as SMDP-RP.

We consider Mobile Cloud Computing environments where multiple mobile users can connect to the cloud through the wireless station access. The cloud provides computing resource (e.g., memory, CPU, and storage of a server) to mobile users for application executions. Each mobile application can be partitioned into a certain number of sub-programs, tasks or partitions, among which some run locally on the mobile device, and the others send requests to the remote cloud for offloading and computing. As computing resource, one or more light-weight Virtual Machines (VMs) [9] will be instantiated and assigned for executing the partition2 at the cloud, once a partition of a mobile application is accepted for offloading. The more VMs allocated to the partition for remote computing, the faster the execution will be. In this paper, the total number of VMs in the cloud domain is assumed to be N , and T (1 ≤ T ≤ N ) is defined as the maximum number of VMs that the system allows to allocate to one single request. In the MCC system, it is assumed that a mobile service request can be sent at any time for offloading an application partition. The application partitions are classified into a certain number of position levels based on their positions in the offloading sequence, which can be obtained from the partitions abstraction. Each partition has its position level within its application, while multiple adjunct partitions may belong to the same position level. The lower the partition

A. State and Action In the set of possible system states S, each state s ⟨x1 , ..., xT , e(s)⟩ consists of two parts: one is the state of the VM occupancy x1 , ..., xT , representing the numbers 3 When the request arrivals from the first partitions of applications follow Poisson distribution, the request arrivals from the second partitions of applications can also be treated as Poisson distribution if the interval time between the two partition arrivals is random and in a short range (e.g. 5 seconds). This assumption is experimented by Chi-Square Goodness of Fit Test [10] in MATLAB, in which the null hypothesis is not rejected at the default 5% significance level.

2 In this paper, we use ”application partition” and ”partition” to refer to the mobile application partition, subprogram, function, or any other names as the basic unit of output sub-program of mobile application partitioning approaches.

210

of ongoing services that are occupying various numbers of cloud VMs; the other is the upcoming event e(s) from the event set E. There are two types of events in E, where Ai represents an event of a request arrival sent from the mobile application partition at position level i, and Dc represents an event of a service departure that releases c VMs being utilized for computing. For example, s ⟨3, 4, 1, D2 ⟩ represents a state of the case, where a service occupying 2 VMs is departing when the number of ongoing services occupying one, two, and three VMs is 3, 4, and 1, respectively. At each state s (transition epoch), action a can be chosen from the set ! of allowable actions at state s Ms . Let action space M = s∈S Ms : {lc′ , 0, ac }, where lc′ represents a leave action of service occupying c′ cloud VMs, 0 represents a rejection of a new service request, and ac represents an action to accept the request by allocating c cloud VMs. Here, either c or c′ should be equal or less than T , the maximum number of VMs allowed to allocate to one single request. Leave action lc′ can only be selected at the state with event Dc′ , while accept action ac and reject action 0 can be selected at the state with event Ai . A complete mapping from states to actions is called a resource allocation policy, denoted by po. The cumulative event rate γ(s, a) is the sum of rates of all processes from the current state s to others after selecting action a, and the expected sojourn time τ (s, a) is the average duration time from s to others after selecting a [11]. For each possible combination of event e(s) and selected action a, γ(s, a) and τ (s, a) can be calculated as follows: ⎧ &I &T ⎪ + j=1 jxj µ, ⎨& i=1 λi & I T γ(s, a) = i=1 λi + j=1 jxj µ + cµ, ⎪ ⎩&I λ + &T jx µ − cµ, i j i=1 j=1

and

τ (s, a) =

1 γ(s, a)

1) If the current state s = ⟨x1 , ..., xT , Ai ⟩: For the state s with new request arrival event Ai from an application partition at position level i, the candidate action can be to reject the request or to allocate a certain number of VMs for the arrival request. Depending on the event of next state e(k) and the selected action a, the transition probability p(k|s, a) is calculated as: ⎧ λ i e(k) = Ai ⎪ ⎨ γ(s,a) , c(xc +1)µ (3) p(k|s, a) = γ(s,a) , e(k) = Dc , a = ac ⎪ ⎩ cxc µ , e(k) = D , a = ̸ a c c γ(s,a)

(i) When the next state’s event e(k) is a new request arrival Ai , and the selected action is either a leave action or an accept action that will result in different cumulative event rate γ(s, a) as calculated in (1), the transition probability p(k|s, a) equals the new service request arrival rate λi over the corresponding cumulative event rate γ(s, a). (ii) When the next state’s event e(k) is a service departure Dc with c VMs released, and the selected action happens to be to accept a new service with c VMs assigned, then the total departure rate and the cumulative event rate γ(s, a) both increase by cµ counting the acceptance of one more request using c VMs. Thus, the transition probability equals the new departure rate c(xc + 1)µ over γ(s, a). (iii) Similar but different from the case (ii), when event e(k) is a service departure Dc , and a is either a leave action or an accept action but with j (j ̸= c) VMs allocated for a new service, then the total departure rate at the next state with departure event Dc keeps the same as no new service utilizing c VMs accepted compared to the current state. 2) If the current state s = ⟨x1 , ..., xT , Dj ⟩: For the state s with departure event Dj that releases j VMs, the selected action can only be lj , meaning a departure of a service occupying c VMs. The transition probability is calculated as: ⎧ λ i e(k) = Ai ⎪ ⎨ γ(s,a) , cxc µ , e(k) = Dc , Dc ̸= Dj (4) p(k|s, a) = γ(s,a) ⎪ ⎩ c(xc −1)µ , e(k) = D , D = D c c j γ(s,a)

e(s) = Ai , a = 0 e(s) = Ai , a = ac e(s) = Dc , a = lc

(1) (2)

In (1), when the selected action a is a reject&0, the I corresponding event rate γ(s, a) equals the sum of i=1 λi &T and j=1 jxj µ, which are the sum of all types of service requests arrival rates and departure rates. When the selected action a is an accept ac , then c VMs are assigned for the new service request, and thus, the event rate γ(s, a) increases by cµ, where µ is the average service departure rate with one working VM assigned. Similarly, when the selected action a is a leave lc , then c VMs are released with the departure event Dc . Thus, the event rate γ(s, a) decreases by cµ.

Since the current event is a service departure Dj , the number of service occupying j cloud VMs decreases by one at the next state k. (i) For the next state with event Ai , p(k|s, a) equals the new service arrival rate λi over γ(s, a), where a = lj . (ii) For the next state with event Dc , the transition probability equals the departure rate divided by the cumulative event rate γ(s, a). If Dc ̸= Dj , the total departure rate equals cµ multiplied by the number of this type of ongoing service xc . (iii) If Dc = Dj , then the corresponding departure rate at state k will be decreased by cµ compared to current state, Thus, the total departure rate becomes c(xc − 1)µ. With the transition probabilities calculated as above, an SMDP chain can be built up for the resource allocation of

B. Transition Probabilities The state transition probability p(k|s, a) is defined as the probability that the system will be at state k as the next decision epoch, if action a is selected at the current state s. There are two cases to consider depending on the current event type Ai and Dj at s, respectively.

211

!!!!!!!!

definition of system reward in [8], r(s, a) can be calculated as the sum of the lump income of decision making and the continuous cost of resource usage in our model:

!!!!!!!!

r(s, a) = q(s, a) − τ (s, a) × o(s, a)

where q(s, a) is the lump reward portion and o(s, a) is the system cost per unit time of selecting action a at state s. q(s, a) is defined as: ⎧ iE C ⎨ I − cµt , e(s) = Ai , a = ac iR q(s, a) = (8) −I , e(s) = Ai , a = 0 ⎩ 0, e(s) = Dc , a = lc

!!!!!!!!

Figure 1. ⟨2, 3, D1 ⟩

where E represents the income factor of accepting a request from an application partition, and R represents the penalty factor of rejecting a request from a partition. Ct denotes t the cost per unit service time, and thus, C cµ represents the cost of the mean service time incurred by accepting a new request with c cloud VMs. If the current state is with the event of new service request arrival Ai , and the action is to allocate c cloud VMs, the lump reward q(s, a) equals iE I , the income of accepting the partition at position level i of I, t minus C cµ , the cloud using cost of c VMs. On the other hand, if the action is a reject, q(s, a) equals − iR I , the penalty of rejecting this partition. For the event of service departure Dc at current state, the only feasible action is a leave lc . The cloud has finished the corresponding service, which means no impact on the lump reward. Thus q(s, a) is zero. As indicated in the first two lines of (8), the larger partition position level i, the larger the lump reward q(s, a) is recognized by the system. Since when a request from the latter partition of the application arrives, the system has spent the computing on the previous partitions. Therefore, to accept a request from a latter partition will help more for application completion than to accept the one from a earlier partition. On the other hand, to reject a request from a latter partition means the system would waste the previously assigned computing resource and execution time, which brings down the efficiency of the whole MCC system. o(s, a) describes the cost of occupying the computing resource per unit time between s and the next potential state by selecting action a, which is defined as,

State transition diagram starting from states ⟨1, 2, A1 ⟩ and

various mobile applications partitions. Here, an example is given to display the details of the state transitions. In the example, the total number of partition position levels I and the maximum number of VMs allowed to allocate to one service T are both set to 2; therefore, the state s is expressed in the format of ⟨x1 , x2 , e(s)⟩. Figure. 1 presents all the state transitions with the selected actions and the state transition probabilities starting from the state ⟨1, 2, A1 ⟩ and ⟨2, 3, D1 ⟩. C. Performance Criteria 1) Steady-State Probabilities: The transition probability matrix (Q) can be formed based on the transition probability for each state calculated in Section III-B [8]. Row vector π is used to denote steady-state & probability for all the states, and hence πQ = π and j πj = 1, based on which a unique solution that represents the steady-state probability of the system can be calculated. 2) Blocking probability and Dropping probability: As two important user QoS criteria, the blocking probability (Pb ) is defined as the probability of the rejection of the request from the application partitions at position level one, while the dropping probability (Pd ) is defined as the probability of the rejection of the request from any other partitions except the ones at position level one. Based on the steady-state probability, Pb and Pd can be calculated as follows: & e(j)=A1 ,a=0 πj (5) Pb = & e(j)=A1 πj and

Pd = D. System Reward

&

e(j)=An ,n̸=1,a=0

&

πj

e(j)=An ,n̸=1 πj

(7)

o(s, a) = ce × (

T '

jxj )

(9)

j=1

where ce denotes the price of occupying one unit of cloud computing resource. ce can be set as one by default in the model, and is flexible to be adjusted according to the prices of cloud computing resource in practice. o(s, a) is determined by unit price of cloud computation and the number of resource being utilized after taking action a at s, and can be treated as the price of the occupied system resources given the current status of resource usage. The computing resources will be more expensive when the frequency of

(6)

We define a real-valued function r(s, a) as the system reward of selecting action a at state s. According to the

212

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:

procedure SMDP-RP P OLICY I TERATION for s ∈ S do v(s) ← 0 po(s) ← 0 end for do for s ∈ S do v ′ (s) ← v(s) po′ (s) ← po(s) end for for s ∈ S do calculate v(s) ◃ according to (11) calculate po(s) ◃ according to (12) end for while v(s) ̸= v ′ (s)(s ∈ S) return po(s)(s ∈ S) end procedure Figure 2.

The optimal policy can be calculated by utilizing policy iteration approach [12] as described in Figure. 2. Firstly, v(s) and po(s) for each state s are both initialized to be zero (step 2 to 5 in Figure. 2). Then, repeat calculating v(s) and po(s) for each state s according to (11) and (12) until the value of v(s) for every state s equals the one of related v ′ (s) in the previous iteration, meaning that v(s) converges to the same value (step 6 to 15 in Figure. 2). The final po(s) for all the states are the SMDP-RP policy, which yields the maximum discounted reward. By applying the calculated optimal policy to the MCC system, the computing resource of the cloud server can be much more efficiently utilized for the requests of various mobile applications partitions. IV. E VALUATION In this section, we evaluate the efficiency of the proposed SMDP-RP by investigating the obtained optimal policy (i.e. a set of action selecting decisions), the system reward, and the theoretical and simulative blocking/dropping probability under various mobile service request traffics. The simulations are developed using event driven method in MATLAB. The advantages of the proposed SMDP-RP approach are clearly revealed by comparing with Greedy admission control method, which is to assign the maximum number of resources that system can afford to any kind of request. The simulation time is set as 10,000 minutes, and the record within the first 2,000 minutes is not counted. The system parameters used for our simulation are: the maximum number of VMs that the cloud can provide to one mobile service request is two, and thus, the model state s is in the format of ⟨x1 , x2 , e(s)⟩. The total number of position level for application partitions (I) is set to two. The default values of other parameters used in the system model are as follows: the total number of cloud VMs is 10; the discounted factor α is set to 0.1. E, R and Ct presented in the calculation of reward model are set to 50, 30 and 10, respectively. For fairness in comparison, Greedy also assigns two VMs to the mobile service request whenever there is sufficient resource, and one VM when only one available.

Policy Iteration Approach in SMDP-RP

mobile service requests becomes higher, which means larger utilization of the cloud. According to the definition of the discounted reward model [11], the discounted reward rd (s, a) can be formulated based on (2) and (7): rd (s, a) = q(s, a) −

o(s, a) α + γ(s, a)

(10)

where α (0 < α < 1) is a continuous-time discounted factor. E. Calculation of The Optimal Policy The optimal resource allocation policy is a mapping from states to actions that can maximize the sum of all the long time discounted system rewards rd (s, a) for each state s. Based on transition probabilities and the reward model deducted above, the maximum long-term terminal reward [11] of state s for our SMDP-RP approach can be calculated as: ) ( ' (q(k|s, a)v(k)) (11) v(s) = max rd (s, a) + λ a∈Ms

A. Allocation Policy

k∈S

SMDP-RP policy is calculated as described in Section III using (11) and (12). The service request arrival rates (λ1 and λ2 ) from partitions at position level one and two are respectively set to 11 and 13.5, and departure rate (µ) is 10. Table I and Table II are the theoretical results of allocation policy of our SMDP-RP and Greedy approach for different states of cloud computing resources usage. Note that the value of xi is the number of ongoing services that are occupying i cloud VMs. From Table I, it can be inferred that when the resource is sufficient (like the state when the number of ongoing service using one cloud VM x1 is less than 3, and x2 is less than 2), SMDP-RP allocates the maximum number

and the optimal policy at state s can be obtained as: ) ( ' po(s) = arg max rd (s, a) + λ (q(k|s, a)v(k)) a∈Ms

k∈S

(12) γ(s,a) (less than one) helps the calculation where λ = α+γ(s,a) converge to get the optimal policy from the long-term point of view. In (11), the calculation of v(s) is to choose an action to make the right hand side expression maximized. And by solving (12), the optimal action can be obtained through maximizing the long-term terminal reward at state s.

213

Table I SMDP-RP POLICY FOR ARRIVAL REQUESTS FROM PARTITIONS AT

Table II D REEDY POLICY FOR ARRIVAL REQUESTS FROM PARTITIONS AT

POSITION LEVEL ONE AND TWO

POSITION LEVEL ONE AND TWO

e(s) = A1

x2 x1

e(s) = A2

e(s) = A1

0

1

2

3

4

5

0

1

2

3

4

5

x2 x1

e(s) = A2

0

1

2

3

4

5

0

1

2

3

4

5

0

2

2

2

2

1

-1

2

2

2

2

1

-1

0

2

2

2

2

2

-1

2

2

2

2

2

-1

1

2

2

2

2

1

-1

2

2

2

2

1

-1

1

2

2

2

2

1

-1

2

2

2

2

1

-1

2

2

2

2

1

-1

-

2

2

2

1

-1

-

2

2

2

2

2

-1

-

2

2

2

2

-1

-

3

2

2

2

1

-1

-

2

2

2

1

-1

-

3

2

2

2

1

-1

-

2

2

2

1

-1

-

4

2

2

1

-1

-

-

2

2

1

-1

-

-

4

2

2

2

-1

-

-

2

2

2

-1

-

-

5

2

2

1

-1

-

-

2

2

1

-1

-

-

5

2

2

1

-1

-

-

2

2

1

-1

-

-

6

2

1

-1

-

-

-

2

1

-1

-

-

-

6

2

2

-1

-

-

-

2

2

-1

-

-

-

7

2

-1

-1

-

-

-

2

1

-1

-

-

-

7

2

1

-1

-

-

-

2

1

-1

-

-

-

8

1

-1

-

-

-

-

1

-1

-

-

-

-

8

2

-1

-

-

-

-

2

-1

-

-

-

-

9

-1

-1

-

-

-

-

1

-1

-

-

-

-

9

1

-1

-

-

-

-

1

-1

-

-

-

-

10

-1

-

-

-

-

-

-1

-

-

-

-

-

10

-1

-

-

-

-

-

-1

-

-

-

-

-

of VMs allowed for the new requests from either type of application partitions. And when the available computing resource becomes less sufficient (i.e., more resource competitions among the new service requests), SMDP-RP starts to allocate less number of VMs for new requests to achieve maximal system reward. In addition, SMDP-RP meets the request from the partition at higher position level (A2 ) with higher priority, compared to the request sent from the one at lower position level (A1 ) (e.g., when x1 = 7 and x2 = 1). It is because, if the latter partition of an application is not accepted by the cloud server for remote execution, the previous computing of earlier partitions of this application will be expired/wasted, or the latter partition has to be executed locally at the mobile device. Either option will result in much lower efficiency of the whole MCC system. Hence, the rule of serving latter partitions with higher priority is critical for the system resource allocation, which is successfully captured by SMDP-RP while maintaining relative fairness. Table II presents the Greedy resource allocation results, the computing resource required by the service request is assigned as long as there are idle VMs at the cloud.

130 Greedy reward SMDP−RP reward

125 120

average reward

115 110 105 100 95 90 85 80 13.5

Figure 3.

14

14.5

15

15.5 16 16.5 λ2 (number/min)

17

17.5

18

System reward under various λ2 ( λ1 = 11, µ = 10, N = 10)

Greedy always allocates as much computational resource as long there is any, more requests will be rejected when the request traffic becomes heavy, which results in lower system reward. On the other hand, to reserve resource for potential requests, SMDP-RP allocates less resource when the available resource is limited and/or the request traffic is heavy. In addition, since the definition of the system reward takes into account of the position level of each service request, SMDP-RP tends to meet the requests from the partitions closer to the end of applications, which helps more applications complete their executions sooner at the cloud. Under the same environment configurations as Figure 3, Figure 4 presents the theoretical and simulation results of the blocking and dropping probability of requests for both

B. Performance Evaluation The performance of a resource allocation strategy for MCC system can be evaluated through the system reward and the blocking/dropping probability. Figure 3 compares the system reward results of SMDPRP and Greedy, with the fixed arrival rate of the first position-level partition request (λ1 = 11) and increasing arrival rate of the second position-level partition request (λ2 =13.5 to 18). Both system rewards are calculated using (7) respectively for optimal SMDP-RP and Greedy. Under the whole range of the partition requests arrival rates, SMDP-RP significantly outperforms Greedy. Since

214

0.02

blocking and dropping probabilities

0.018 0.016 0.014 0.012

[3] E. Cuervo, A. Balasubramanian, D. ki Cho, A. Wolman, S. Saroiu, R. Chandra, and P. Bahl, “Maui: making smartphones last longer with code offload.” in MobiSys, 2010, pp. 49–62.

theoretical Greedy blocking simulative Greedy blocking theoretical Greedy dropping simulative Greedy dropping theoretical SMDP−RP blocking simulative SMDP−RP blocking theoretical SMDP−RP dropping simulative SMDP−RP dropping

[4] Y. Liu and M. J. Lee, “An effective dynamic programming offloading algorithm in mobile cloud computing system,” in Proc. IEEE WCNC’14, Istanbul, Turkey, Apr. 6–9, 2014, pp. 1868–1873.

0.01 0.008

[5] H. Liang, L. X. Cai, D. Huang, X. Shen, and D. Peng, “An smdp-based service model for interdomain resource allocation in mobile cloud networks,” IEEE Transactions on Vehicular Technology, vol. 61, no. 5, pp. 2222–2232, 2012.

0.006 0.004 0.002 0 13.5

14

14.5

15

15.5 16 16.5 λ (number/min)

17

17.5

[6] D. T. Hoang, D. Niyato, and P. Wang, “Optimal admission control policy for mobile cloud computing hotspot with cloudlet.” in Proc. IEEE WCNC’12, 2012, pp. 3145–3149.

18

2

Figure 4. Partition blocking probability and dropping probability of theoretical and simulative results under various λ2 ( λ1 = 11, µ = 10, N = 10)

[7] S. Kosta, A. Aucinas, P. Hui, R. Mortier, and X. Zhang, “Thinkair: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading.” in Proc. IEEE INFOCOM’12, 2012, pp. 945–953.

SMDP-RP and Greedy method. The theoretical blocking and dropping probabilities are calculated respectively based on (5) and (6), while, from the perspective of simulation results, the blocking/dropping probability is calculated as the number of blocked/dropped service requests over the number of all the received requests throughout the whole simulation time. It is clearly shown in Figure 4 that the results calculated theoretically are closely matched with the simulation results. Thanks to the optimal policy obtained by SMDP-RP, the proposed SMDP-RP outperforms Greedy on both blocking and dropping probabilities. SMDP-RP can help achieve optimal resource allocation with maximum system reward and thus least rejection of service request under different systems states,

[8] M. L. Puterman, Markov Decision Processes: Discrete Stochastic Dynamic Programming, 1st ed. New York, NY, USA: John Wiley & Sons, Inc., 1994. [9] Y. Li, W. Li, and C. Jiang, “A survey of virtual machine system: Current technology and future trends.” in ISECS, 2010, pp. 332–336. [10] G. W. Snedecor and W. G. Cochran, Statistical Methods. Iowa State University Press, 1989. [11] H. C. Tijms, A first course in stochastic models. New York: Wiley, 2003. [12] D. Bertsekas, “Approximate policy iteration: a survey and some new methods,” Journal of Control Theory and Applications, vol. 9, no. 3, pp. 310–335, 2011.

V. C ONCLUSION In this paper, we present a novel cloud computational resource allocation approach for partitioned mobile applications in Mobile Cloud Computing systems. According to the position level of offloaded partitions in the mobile application, the current traffic of mobile service requests, and the availability of the system resource, our SMDPRP approach adaptively calculates an optimal amount of cloud computing resource for each application partition request. The theoretical and simulation results prove the high efficiency of the proposed SMDP-RP. R EFERENCES [1] C. Xian, Y.-H. Lu, and Z. Li, “Adaptive computation offloading for energy conservation on battery-powered systems.” in ICPADS, 2007, pp. 1–8. [2] K. Kumar and Y.-H. Lu, “Cloud computing for mobile users: Can offloading computation save energy?” Computer, vol. 43, no. 4, pp. 51–56, Apr. 2010.

215