An Improvement of Resource Allocation for Migration Process in Cloud ...

3 downloads 280 Views 2MB Size Report
Aug 6, 2013 - of physical slots per server in the data center are limited, if the number of VMs .... rent more resources until the migration process is complete. If.
The Computer Journal Advance Access published August 6, 2013 © The British Computer Society 2013. All rights reserved. For Permissions, please email: [email protected] doi:10.1093/comjnl/bxt081

An Improvement of Resource Allocation for Migration Process in Cloud Environment Tien-Dung Nguyen, An Thuy Nguyen, Man Doan Nguyen, Mui Van Nguyen and Eui-Nam Huh∗

Virtual machine (VM) migration has recently emerged as a potential tool to improve the performance, cost and fault tolerance of data centers. However, migrating VMs requires more hardware resources to reserve target slots during the migration. A large number of simultaneous migrations can exhaust the physical resources of a data center. Consequently, the system may deny new service requests. In this paper, we introduce an efficient strategy to limit the number of target slots used for the migration process with the aim of maintaining high data center availability. In particular, the number of target slots is determined by the tradeoff between the waiting time of the queued migration processes and the probability that the system rejects new user requests due to the lack of available resources. We also propose a method to reduce the waiting time of the migration process by adding a sufficient number of slots during the migration process. Accordingly, a data center can use fewer resources while still guaranteeing the quality of the service. The efficiency of our proposed method is demonstrated by the experimental results. Keywords: VM migration; resource allocation; cloud computing Received 16 November 2012; revised 8 April 2013 Handling editor: Jongsung Kim

1.

INTRODUCTION

Cloud environment [1] is a new paradigm of virtualizing physical servers (hardware resources) into virtual machines (VMs). These VMs are located in data centers, which can achieve higher efficiency from the same resource pool and can scale up (or down) with changes in demand, mainly due to its capabilities of isolation and migration. VM migration [2, 3] allows the data center to balance the system load by migrating the VMs out of overloaded/overheated servers. Hence, the performance [4], cost [5] and fault tolerance [6] of data center can be improved. However, the migration process requires additional reserved resources, which raises the rejection probability of new service requests. In particular, migrating aVM requires at least two physical hosts, where one is used for the original host and the other is reserved for the target host. Therefore, migrating one VM requires two physical slots. Supposing that the number of physical servers and the number of physical slots per server in the data center are limited, if the number of VMs being migrated is large, then a large number

of target physical slots must be occupied during the migration time. Consequently, the number of available slots reserved for new service requests will be dramatically reduced, and the data center may briefly jump into the busy state. Accordingly, the data center must reject new service requests with a certain probability depending on the migration rate of current users and the arrival rate of joining users, which is known as the rejection probability [7]. Storage must be shared among the hosts (physical servers) in a data center. Migration is the process of moving the contents of a VM’s memory from one physical host to another. The shared storage stores the VMs default file system which is not sent over the network from the original host to the target host. There are two distinct types of migration: offline migration and live migration. An off-line migration [2] suspends the VM and then moves an image of the memory to the target host. The VM is resumed on the target host and the memory used on the original host is freed. The time that an offline migration takes depends on the network bandwidth and latency. A VM with 2 GB memory

The Computer Journal, 2013

Downloaded from http://comjnl.oxfordjournals.org/ at Global campus of Kyunghee University on August 7, 2013

Department of Computer Engineering, Kyung Hee University, Global Campus, South of Korea ∗Corresponding author: [email protected]

2

T.-D. Nguyen et al. for migration and all VMs are simultaneously migrating, the system will not have enough available slots for new user requests during the migration process (i.e. the rejection probability will increase), and vice versa. Obviously, the profit of the provider will decrease if the rejection probability increases. Therefore, the rejection probability and waiting time are parameters that the provider can use to balance between its profit and user QoS. The trade-off between the rejection probability and the waiting time totally depends on the number of target slots reserved for migration process. Thus, it is very important to optimally choose the number of target slots so as to maximize the profit (by minimizing the rejection probability) and guarantee the service-level agreement (SLA) (by minimizing the waiting time). In this paper, we use transition diagram that illustrates all possible circumstances in a data center. Using this diagram, we can formulate the rejection probability and the waiting time based on the probabilities of each state in the transition diagram. Moreover, we define two thresholds of rejection probability and waiting time so that we can determine the most efficient number of slots to reserve for migration. In practice, the provider will negotiate these thresholds. However, if the calculated number of slots to be reserved for migration cannot be reserved because there are not enough slots to satisfy the given threshold, the provider must temporarily rent more resources until the migration process is complete. If the number of additional slots is large, the average migration waiting time can be very small, but the provider costs will be higher, and vice versa. Thus, a balance must be achieved between the cost of additional slots and the additional cost of a queued migration process. In this paper, we propose an optimization algorithm to determine the minimum number of additional physical slots so that a provider can satisfy the thresholds of rejection probability and waiting time. Therefore, the provider can save money by reducing costs and the energy used for the redundant slots. The rest of this paper is organized as follows. Related works are reviewed in Section 2. Section 3 presents the problem formulation. In Section 4, we describe the theoretical analysis and our proposed algorithms. Finally, we show performance results in Section 5 and present conclusions in Section 6.

2.

RELATED WORKS

The VM technology was first presented in [9] as an important core of cloud computing. This feature allows a data center to securely, flexibly and efficiently provide multiple VMs from the same physical machine. When the number of VMs in a data center is large, migration is a necessary mechanism for data centers to efficiently manage VMs and improve performance. There has been a great deal of recent research related to VM migration [4, 5, 10, 11]. These studies focused on improving data center performance in term of VM migration. Ellens et al. [7], Wu et al.

The Computer Journal, 2013

Downloaded from http://comjnl.oxfordjournals.org/ at Global campus of Kyunghee University on August 7, 2013

should take around 10 s on a 1 Gbit Ethernet link [8]. A live migration [3] keeps the VM running on the original host and begins moving the memory without disrupting the VM. First, all pages are transferred from the original host to the target host. Subsequently, only the pages dirtied during the previous transfer phase are copied. After the CPU state and any remaining inconsistent memory pages are transferred, the original host is discarded and the target host becomes the primary host. By transferring the consistent memory pages and iteratively updating the inconsistent memory pages, live migration can be achieved with a smaller service downtime compared with offline migration. However, live migration requires more time to perform a total migration compared with offline migration (around 54.1 s for transferring 676.8 MB of memory pages [3]). In general, during the total migration time, not only the original host but also the target host must be active in both methods. This is especially true in mobile cloud computing, where users move frequently andVMs must migrate to the location closest to users. Frequent migration causes a dramatic reduction in the number of available hosts in a data center, which can easily lead to rejection of new user requests due to a lack of available physical slots. In this paper, we propose a method to limit the number of slots occupied during the migration process (so-called target slots) in order to reduce the rejection probability. With this limitation, a data center can guarantee available slots for new user requests. However, if the number of VMs to be migrated at the same time exceeds the maximum number of target slots, the excess VMs will have to wait until a busy slot is released. Consequently, the migration of some VMs must be delayed, and the length of delayed is the so-called waiting time. The waiting time of the migration process significantly influences the cost of a data center. VMs are created or released from a data center or migrated to other hosts due to users joining or leaving the service or changing location. Hence, the hosts are fragmented (i.e., the slots in one host are not fully utilized). Consequently, the data center costs increase beyond the expected value. Therefore, data centers should schedule the re-allocation of VMs in order to avoid excess costs. In this situation, the replacement of VMs should be done as early as possible in order to minimize the time that the data center is in an inefficient state. On the other hand, the waiting time directly affects the quality of service (QoS). For example, we consider the case of two VMs running on the same physical machine, when the first VM suddenly requests more resources (RAM and CPU), but the physical server does not have these resources available. In this case, either the first VM must migrate to another physical server with sufficient resources for the request or the second VM must migrate to the other physical machine in order to release its current resources for the request. Thus, if there is no available physical server or slot, the migration process must wait for available resource. This reduces the QoS of the first VM due to the waiting time for migration. To reduce the waiting time, the number of slots reserved for migration should be increased. However, if the system reserves many slots

An Improvement of Resource Allocation for Migration Process in Cloud Environment

3.

PROBLEM FORMULATION

In our cloud scenario, one user requests a certain service, and the provider creates one VM for that user. During the service

(a)

(b)

FIGURE 1. Total number of slots N and the maximum number of slots occupied for migration process K. (a) m < K and (b) m > K.

time, the VM will be able to migrate to the target host in response to a change in the user’s location or in order to improve the performance of the system. We assume that the total number of physical slots that the servers in the data center can provide is N . The maximum number of slots that can be occupied for the migration process is denoted by K (K ≤ N ) (i.e. K is the maximum number of VMs that can migrate at the same time). New service requests and migration events arrive according to the Poisson process, with arrival rates of λs and λm , respectively. The time required to process a service and a migration event is modeled by an exponential distribution, with a mean service time of 1/μs and a mean migration time of 1/μm , respectively. Figure 1 shows two cases which may occur in a data center. Let us denote m as the number of VMs which are migrated and k as the number of target slots occupied for the current migration process. In the case of (m ≤ K) (Fig. 1a), m VMs will be migrated simultaneously. In the case of (m > K), only K VMs are migrated and (m − K) VMs must wait until one of the VMs being migrated completes its migration process (as shown in Fig. 1b). Note that if only k slots (k ≤ K) are used for the migration (Fig. 1a), (K − k) target slots reserved for the migration process can be used to serve new user requests. The waiting migration queue priority rule is first-come, first-served. The transition diagram used to calculate the rejection probability and waiting time is given in Fig. 2. In this transition diagram, each data center state is presented as two parameters (i, j ), where i denotes the total number of occupied slots in the data center (i ≤ N ), and j denotes the number of slots occupied in an on-going migration (j ≤ K). For example, state (3, 1) indicates that the total number of occupied slots is 3, in which one slot is occupied for the migration. Similarly, there are two users in the system, and one of them is migrating. Because i consists of the slots used for service and the target slots used for the migration, the implicit condition that i ≥ 2j can be inferred. Now consider the initial state (0, 0), in which the process can only go to state (1, 0) with a service rate of λs . If one new user

FIGURE 2. Transition diagram.

The Computer Journal, 2013

Downloaded from http://comjnl.oxfordjournals.org/ at Global campus of Kyunghee University on August 7, 2013

[12] and Xiong and Perros [13] consider migration in terms of SLAs and guaranteeing quality of service. Nguyen et al. [14] presents an efficient method of migrating VMs in a mobile cloud environment. However, VM migration has disadvantages. When migration occurs, the additional hosts of the target host are occupied during the migration process. Consequently, if new users join at this time, the data center must reject the requests due to the lack of available slots. This problem is also mentioned in [15]. Importantly, no techniques to address this problem have been proposed. In mobile cloud in particular, users move frequently, and VMs must migrate to a location closer to users. Therefore, migration occurs frequently and utilizes more hardware resources, which causes the rejection probability of the system to increase. Even though there have been some studies focused on reducing the downtime of the migration process [3, 16–18], the total migration time is still large. Hence, in this paper, we propose a technique to overcome this problem.

3

4

T.-D. Nguyen et al. TABLE 1. Balance equations system. State

Rate that the process leaves = rate that it enters

(0, 0) (N, 0) (i, 0); 0 < i < N (2K, K); 2K = N N (N, j ); 0 < j < 2

λs P0,0 = μs P1,0 N μs PN,0 = λs PN−1,0 (iμs + λs + iλm )Pi,0 = λs Pi−1,0 + (i + 1)μs Pi+1,0 + μm Pi+1,1 Kμm PN,K = λm PN−1,K−1

1 2 3 4

((N − 2j )μs + j μm )PN,j = λs PN−1,j + (N − 2j + 1)λm PN−1,j −1

5

i (i, j ); i = N, 0 < j < , j < K 2

((i − 2j )μs + j μm + λs + (i − 2j )λm )Pi,j = (i − 2j + 1)λm Pi−1,j −1 +λs Pi−1,j + (i − 2j + 1)μs Pi+1,j + (j + 1)μm Pi+1,j +1

6

((i − 2K)μs + Kμm + λs )Pi,K = (i − 2K + 1)λm Pi−1,K−1 + λs Pi−1,K + (i − 2K + 1)μs Pi+1,K

7

FIGURE 3. Explanation of the seven categories listed in Table 1.

arrives at the data center while there is no ongoing migration, the state (i, 0) will be changed to state (i + 1, 0) with the same arrival rate λs . Furthermore, if the system is in state (i, 0) and one user leaves, the slot reserved for that user is released and the system will change to state (i − 1, 0). The time until state (i − 1, 0) occurs is exponentially distributed with a rate iμs , and depends on the number of users using service. In the case of a state (i, j ) with j target slots occupied for migration, λs and (i − 2j )μs are the rates at which the transition process goes from state (i, j ) to state (i + 1, j ) and from state (i, j ) to state (i − 1, j ), respectively. If one migration process occurs in

state (i, j ), the system then switches to state (i + 1, j + 1) at a rate iλm . Alternatively, if one migration process is completed in state (i, j ), the system will go to state (i − 1, j − 1) at a rate j μm . The stationary probability Pi,j of state (i, j ) can be determined by solving the set of balance equations (which state that the flux into a state should be equal to the flux out of the state when the system is stationary). Generally, we can divide into seven categories using the corresponding balance equations shown in Table 1. An explanation of each category is presented in Fig. 3. Furthermore, the stationary probability Pi,j

The Computer Journal, 2013

Downloaded from http://comjnl.oxfordjournals.org/ at Global campus of Kyunghee University on August 7, 2013

i (i, K); 0 < K < 2

Category

5

An Improvement of Resource Allocation for Migration Process in Cloud Environment

FIGURE 4. Transition diagram for the case of N = 3 and K = 1.

must satisfy N  K 

Pi,j = 1.

(1)

i=0 j =0

From the balance equations system in Table 1 and Equation (1), we can easily obtain the stationary probability of each state in the transition diagram (Fig. 2). Supposing N = 3 and K = 1, the transition diagram will be as shown in Fig. 4. We then can infer the following balance equations based on Table 1: ⎧ (0, 0) λs P0,0 = μs P1,0 , ⎪ ⎪ ⎪ ⎪ ⎪ (1, 0) (μs + λs + λm )P1,0 = λs P0,0 + 2μs P2,0 + μm P2,1 , ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ (2, 0) (2μs + λs + 2λm )P2,0 = λs P1,0 + 3μs P3,0 + μm P3,1 , (3, 0) 3μs P3,0 = λs P2,0 , ⎪ ⎪ ⎪ (2, 1) (μm + λs )P2,1 = λm P1,0 + μs P3,1 , ⎪ ⎪ ⎪ ⎪ ⎪ (3, 1) (μs + μm )P3,1 = λs P2,1 + 2λm P2,0 , ⎪ ⎪ ⎩ P0,0 + P1,0 + P2,0 + P3,0 + P2,1 + P3,1 = 1. Given λs = 0.5; λm = 1; μs = 0.2; μm = 0.1, we can calculate the probabilities of all of the states in Fig. 4: P0,0 = 0.0103; P1,0 = 0.0258; P2,0 = 0.0323; P3,0 = 0.0269; P2,1 = 0.2585; P3,1 = 0.6461.

4. THEORETICAL ANALYSIS 4.1.

Rejection probability

A rejection event occurs only if there is a new user request while there is no available slot in the data center. This event has a rejection probability that is the sum of the stationary probabilities of states (N, j ), ∀j ≤ K. We describe the rejection probability by the following equation: Pr(R) =

K 

PN,j .

(2)

j =0

4.2. Waiting time The migration event queued to be served occurs in the following two cases: (i) The first case is when the number of target slots reaches the maximum value (K) (i.e. k = K). These events correspond to states (2K + 1, K), (2K + 2, K), . . . , (N, K). Even though slots are available, the system only allows the migration process to use at most K slots. Hence, the queued migration processes will only be served if any current migration process completes. (ii) The second case is when all of the slots in the data center are occupied. This event corresponds to states (N, 0), (N, 1), . . . , (N, K − 1). In this case, if either any service or any migrating process completes, the queued D migration processes will be served. Let Ti,j denote the duration that the system stays in state (i, j ). From the system point of view, the expected waiting time can be calculated as follows: N 

E[T D ] =

D Pi,K Ti,K +

i=2K+1





case 1(i)



K−1  j =0



D PN,j TN,j .



(3)



case 2(ii)

Figure 5 shows an example of the waiting time for the first case with a maximum number of target slots K = 1. Sis denotes the time from the starting time until user i arrives at the system, and Sim denotes the time from the starting time until the ith migration process starts. tm and ts are the average service time and average migration time for all users, respectively. In Fig. 5, there are four users in the system, and the VM of user 3 is being migrated. If the VM of user 4 needs to be migrated at time t0 , it must wait until VM of user 3 finishes migrating (because K = 1). In this regard, the number of occupied slots in the data center is five (four slots for four users and one slot for the ongoing migration of user 3). Thus, the state of the system is (5, 1). The waiting time when the system moves from state (5, 1) to state (x, 0), where x is any, can be calculated as follows:

From the example in the previous section, we can infer the rejection probability Pr(R) = P3,0 + P3,1 = 0.673.

The Computer Journal, 2013

D T5,1 = E[S1m ] + E[tm ] − E[S2m ].

(4)

Downloaded from http://comjnl.oxfordjournals.org/ at Global campus of Kyunghee University on August 7, 2013

FIGURE 5. Waiting time for the migration process in the case of K = 1.

6

T.-D. Nguyen et al. D is described by the following formula: TN,j

(a)

D = Pr(Ym ).(E[S1m ] + tm − E[Sjm+1 ]) TN,j  

(a)

+ Pr(Ys ).(E[S1s ] + ts − E[Sjm+1 ])  

(b)

(b)

FIGURE 6. Waiting time for the migration process in the case of N = 5 and K = 2.

In general, we can calculate the waiting time of the migration D ) in case (i) as follows: process (Ti,K D m Ti,K = E[S1m ] + E[tm ] − E[SK+1 ],

2K < i ≤ N,

(5)

where E[x] is the expectation of x and is calculated as follows: i i , E[Sim ] = . λs λm Hence, Equation (5) is equivalent to E[Sis ] =

D Ti,K =

(6)

Substituting Equations (8) and (9) into Equation (3), we obtain the expected value of the waiting time for the migration process. Using these results to calculate the waiting time of the example mentioned in the previous section, we obtain E[T D ] = 10.264. 4.3. The maximum number of target slots (K) From Equation (2), the rejection probability will be high if K is large. Consequently, the performance of the system is decreased. In practice, in order to guarantee QoS, the rejection probability must be maintained below a tolerable threshold, denoted by ThR . This constraint is expressed as follows: Pr(R) ≤ ThR .

1 1 K +1 λm − Kμm + − = . λm μm λm λm μ m

(7)

Since the waiting time for the migration process is positive, Equation (7) can be written as follows: ⎧ ⎨ λm − Kμm , 0 ≤ K ≤ ρ , m D λm μm Ti,K = (8) ⎩ 0, ρm < K ≤ N, where ρm = λm /μm represents the fraction of time that the server spends migrating. D We now determine TN,j in the second case (ii). We consider the two scenarios shown in Fig. 6, where N = 5 and K = 2. There are currently four users, and the VM of user 3 is being migrated. Thus, there are no available slots in the system. Let Ym and Ys denote the events where user 3 finishes migrating (see Fig. 6a) and user 1 leaves the system (see Fig. 6b), respectively. The VM of user 4, which is going to be migrated at time t0 , must wait until either event Ym or Ys .

(10)

The objective is to determine the value of K as follows: min K

s.t.

Cost(N, K, E[T D ]) Pr(R) ≤ ThR , E[T D ] =

N  i=2K+1

D Pi,K Ti,K +

K−1 

D PN,j TN,j ,

(11)

j =0

where the total number of slots in the data center is given by N . Let us denote  to be the cost unit of one slot. Thus, the total cost which the data center has to pay is N . When the total cost of the data center exceeds a given value ((N + δ)), the VMs will be reallocated (or migrated) in order to reduce the total cost. The data center must spend more money for the cost of δ until the VM reallocation process completes. The longer the duration of the migration process, the more money the data center spends. Therefore, in order to reduce the cost of the data center, we must reduce the waiting time of the migration processes. The

The Computer Journal, 2013

Downloaded from http://comjnl.oxfordjournals.org/ at Global campus of Kyunghee University on August 7, 2013

= P (ts ≥ tm + E[S1m ] + E[Sjm+1 ]) 1 1 j +1 . + − λm μm λm

 + P ts < tm + E[S1m ] + E[Sjm+1 ] 1 1 j +1 . + − λs μs λm λm − j μ m = e−μs (λm −μm )/μm λm μ m λm 1 1 j +1 + (1 − e−μs (λm −μm )/μm λm ) . (9) + − λs μs λm

7

An Improvement of Resource Allocation for Migration Process in Cloud Environment objective function can be transformed as follows:

processes so that the data center incurs the minimum cost for this event. We describe the second optimization problem for the above event as follows:

E[Cost(N, K, E[T D ])] = E[T D ]δ. Hence, the optimization problem is equivalent to min K

s.t.

N 

D Pi,K Ti,K +

s.t.

D PN,j TN,j

PN,i ≤ ThR .

E [T ] =

4.4. The total number of slots N Regarding the Algorithm 1, we limit the number of target slots (K) to satisfy the constraint of the rejection probability. However, this limitation causes the waiting time of the migration process to increase. In practice, the data center also restricts the waiting time for the migration process by a threshold so that it does not spend too long in a fragmented state. Let ThW be the limitation on the waiting time of the migration process. The constraint is as follows: (13)

When the optimal value of E[T D ] does not satisfy Equation (13), some resources (slots) will be temporarily added during the migration processes and released as migration processes complete. If the number of additional slots is large, then the average waiting time for the migration can be very small, but the provider has to pay a greater cost, and vice versa. Therefore, a balance must be achieved between the cost of additional slots and the additional cost of queued migration

N 

D Pi,K  Ti,K 

+

 −1 K 

PN  ,j TND ,j , (14)

j =0

where τ is the time required to rent more slots during the migration process, N is the number of additional slots, N  , K  and E  [T D ] are the total number of slots, the maximum number of target slots and the average waiting time of the migration process after increasing N , respectively. In the objective function (14), we define two kinds of costs: (i) the cost for the additional slots and (ii) the cost the data center must spend during the reallocation process. Algorithm 2 Determine N ∗ , K ∗ ,OptimalCost. Require: N, λs , λm , μs , μm , τ, δ, T hR , T hW ,  N  = N + 1; N ∗ = N  ; Determine K  ; K ∗ = K  ; Find E  [T D ]; OptimalCost = N τ  + E  [T D ]δ; while (E  [T D ] 0) do N  = N  + 1; Determine K  ; Find E  [T D ]; Cost = N τ  + E  [T D ]δ; if Cost < OptimalCost then N ∗ = N  ; N ∗ = N  − N ; K ∗ = K  ; OptimalCost = Cost; end if end while return N ∗ , K ∗ ,OptimalCost.

The objective of the optimization problem is to find the N and K  that minimizes the total additional cost. The optimal solution of problem (14) can be obtained by using Algorithm 2. In Algorithm 2, we try to achieve the optimal cost by increasing the total number of slots (N ). N is iteratively increased by 1. Since N  = N +N , we can obtain K  by using Algorithm 1. The increases in N will stop if we obtain the minimum cost. Due to the property of the mean waiting time function, if N is large, the mean waiting time will converge to 0. In this case, the number of migrating VMs equals the number of target slots occupied during the migration process. In this regard, if we

The Computer Journal, 2013

Downloaded from http://comjnl.oxfordjournals.org/ at Global campus of Kyunghee University on August 7, 2013

Algorithm 1 Determine K. Require: N, λs , λm , μs , μm , T hR  Find RangeOf K from constraint K i=0 PN,i ≤ T hR ; for k ∈ RangeOf K do K−1 D D Find E[T D ] = N i=2K+1 Pi,K Ti,K + j =0 PN,j TN,j ; D if E[T ] is minimum then K ∗ = k; end if end for return K ∗ .

D

i=2K  +1

(12)

In order to solve this problem, we propose an algorithm to determine a value K that satisfies all constraints. From Algorithm 1, we find the range of K that satisfies the constraint. For each value of K in the range, the value that minimized the average waiting time E[T D ] is the objective variable K ∗ , and the value of the minimum average waiting time is the optimal value E ∗ (T D ) of Equation (12).

E[T ] ≤ ThW .

E  [T D ] ≤ ThW , 

i=0

D

N τ  + E  [T D ]δ 

j =0

i=2K+1 K 

K−1 

min

N,K 

8

T.-D. Nguyen et al.

further increase N, the migration waiting time will not be affected (i.e. E  [T D ] → 0), and the total cost, which depends only on the additional costs, will increase. Therefore, we use the condition E  [T D ] 0 as the stop condition of our algorithm. There does not exist any value of N  when E  [T D ] 0 so that we can achieve a smaller cost. Therefore, we can obtain the minimum number of additional slots so as to satisfy the waiting time requirement of the queued migration process.

5.

NUMERICAL SIMULATION AND RESULTS

5.1.

FIGURE 8. The effects of rejection probability on arrival rate.

Effects of K and arrival rate on rejection probability and waiting time

Figure 7 shows that, while the maximum number of target slots (K) increases, the value of the rejection probability increases and the waiting time gradually decreases. Substituting the given threshold into Equations (10) and (13), we obtain 

Pr(R) ≤ 15% E[T D ] ≤ 1

 ⇔

K ∈ [1, 5] K≥4

⇒ K = [4, 5].

FIGURE 9. The effects of waiting time on arrival rate.

FIGURE 7. Rejection probability vs. waiting time.

Thus, we can infer that the infeasible set of K that satisfies the requirements of the rejection probability and the waiting time is 4 or 5. We next consider the effects of the arrival rate on the rejection probability and the waiting time. In this simulation, we consider four different cases of arrival rate pairs denoted by (λs , λm ) = {(0.1, 0.05), (0.3, 0.15), (0.4, 0.2), (0.7, 0.35)}, in which the arrival rate of new user requests is double the arrival rate of migration events. Figures 8 and 9 illustrate the dramatic increase in the rejection probability and waiting time when the arrival rate is increased. The rejection probability reaches around 85% when the waiting time is 60 s at K = 10 in the case of (λs = 0.7, λm = 0.35). For an arrival rate value that puts the rejection probability points in region A, there is no K that can move the points to the feasible region B.

The Computer Journal, 2013

Downloaded from http://comjnl.oxfordjournals.org/ at Global campus of Kyunghee University on August 7, 2013

In this section, we consider a scenario that the total number of slots of N = 100, an arrival rate of new users λs = 0.1, the arrival rate of migration events λm = 0.05, an average service time of around 17 minutes (i.e. μs = 0.001) and an average migration time of around 40 s (i.e. μm = 0.025). In this simulation, we also consider the threshold of the rejection probability (ThR = 15%) and the waiting time (ThD = 1 s). Using the given parameters and the results in Table 1, we use Matlab to simulate the probabilities of each state in Fig. 2. We can then easily calculate the rejection probability and the waiting time based on our proposed formulas.

An Improvement of Resource Allocation for Migration Process in Cloud Environment

FIGURE 11. The effects of waiting time on the total number of slots.

In order to determine K, we present the effects of increasing N on the rejection probability and the waiting time. As shown in Figs 10 and 11. Obviously, both the rejection probability and the waiting time decrease as N increases. More specially, an increase in N proportionally decreases the rejection probability while the waiting time slowly decreases. 5.2.

Find K and N to satisfy the given ThR and ThW

As mentioned earlier, given the maximum number of slots N and the threshold of rejection probability ThR , Algorithm 1 can be used to obtain the optimal number of target slots (K ∗ ).

FIGURE 12. Comparison of the maximum number of target slots K (N = 150).

FIGURE 13. Comparison of the rejection probability for new users (N = 150).

Figures 12 and 13 show the efficiency of Algorithm 1 compared with (i) fixing K = N/2 and (ii) randomly choosing K. In this simulation, we increase the arrival rate of new user requests (λs ), and the arrival rate of the migration follows λs (i.e. λm = λs /2). Figure 12 illustrates the results of K for each method. Based on our solution, K will be smaller as the arrival rate λs increases. Our solution thus always achieves a rejection probability smaller than the threshold ThR (15%) while other methods cannot achieve a rejection probability under the threshold, as shown in Fig. 13. In order to evaluate the Algorithm 2, we do a simulation with respect to the number of additional slots and the threshold of

The Computer Journal, 2013

Downloaded from http://comjnl.oxfordjournals.org/ at Global campus of Kyunghee University on August 7, 2013

FIGURE 10. The effects of rejection probability on the total number of slots.

9

10

T.-D. Nguyen et al.

FIGURE 16. The effects of the cost () on the changing of the waiting time threshold (λs = 0.165).

of the waiting time, the increase in the number of slots is reduced. This means that our solution outperforms the Poisson Increase method, in terms of cost. This method saves 50% of the increasing cost if the threshold ThW = 10 s. In a broad sense, our solution can determine the exact increase in the number of slots needed to satisfy the requirements of a data center. Hence, providers can save money by cutting the costs and energy needed for the redundant slots.

6.

FIGURE 15. The effects of the total number of slots on the changing of the waiting time threshold (λs = 0.165).

the waiting time. Figure 14 shows the result of our solution in the case of λs = 0.165. We obtain N = 6 to satisfy ThR ≤ 15% first and ThW ≤ 3 s. The optimal cost is achieved at around 3700 . Since the total number of slots is increased, the cost tends to increase while the waiting time for the migration process tends to decrease. As compared with the case of N = 10, which has a cost of 4300 , our solution can save around 20% of the increasing cost. Figures 15 and 16 show the effects of the migration process waiting time thresholds on the cost and the number of additional slots. We compare our solution with the method where N follows a Poisson process with a mean of 10 (known as the Poisson Increase method (μ = 10)). By increasing the threshold

CONCLUSION

In this paper, we describe the necessity of limiting the number of target slots used in the migration process. We propose formulas to calculate the rejection probability for new users and the waiting time for migrations based on a transition diagram. We then present a method to determine the maximum number of target slots based on the given thresholds. This theoretical analysis can help administrators manage data centers more efficiently by eliminating redundant slots, thus saving energy and reducing costs. In mobile cloud computing in particular, users move frequently, and thus it is necessary for data centers to periodically migrate VMs so as to improve the performance of the system. Therefore, our solution will bring huge improvements to the migration process while still guaranteeing quality of service.

FUNDING This research was supported by the MSIP (Ministry of Science, ICT&Future Planning), Korea, under the ITRC (Information Technology Research Center) support program (NIPA-2013-

The Computer Journal, 2013

Downloaded from http://comjnl.oxfordjournals.org/ at Global campus of Kyunghee University on August 7, 2013

FIGURE 14. The effects of cost and waiting time migration on the total number of slots (λs = 0.165).

An Improvement of Resource Allocation for Migration Process in Cloud Environment H0301-13-4006) supervised by the NIPA (National IT Industry Promotion Agency). Corresponding author is Prof. E.-N.H.

REFERENCES

[9] Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A., Neugebauer, R., Pratt, I. and Warfield, A. (2003) Xen and the Art of Virtualization. Proc. 19th ACM Symposium on Operating Systems Principles, Bolton Landing, NY, USA, October 19–22, pp. 164–177. ACM, New York, NY, USA. [10] Meng, X., Pappas, V. and Zhang, L. (2010) Improving the Scalability of Data Center Networks with Traffic-Aware Virtual Machine Placement. 2010 Proc. IEEE INFOCOM, San Diego, CA, March 15–19, pp. 1–9. IEEE, USA. [11] Zhang, X., Shae, Z.-Y., Zheng, S. and Jamjoom, H. (2012) Virtual Machine Migration in an Over-Committed Cloud. 13th IEEE/IFIP Network Operations and Management Symposium (NOMS’2012), Hawaii, USA, April 16–20, pp. 196–203. IEEE, USA. [12] Wu, L., Garg, S.K. and Buyya, R. (2011) SLA-Based Resource Allocation for Software as a Service Provider (SaaS) in Cloud Computing Environment. 2011 11th IEEE/ACM Int. Symposium on Cluster, Cloud and Grid Computing, CA, USA, May 23–26, pp. 195–204. IEEE, USA. [13] Xiong, K. and Perros, H. (2008) SLA-Based Resource Allocation in Cluster Computing Systems. IEEE Int. Symposium on Parallel and Distributed Processing, 2008. IPDPS 2008, FL, USA, April 14–18, pp. 1–12. IEEE, USA. [14] Nguyen, T.-D., Nguyen, M.V. and Huh, E.-N. (2012) Service Image Placement for Thin Client in Mobile Cloud Computing. 2012 IEEE 5th Int. Conf. on Cloud Computing(CLOUD2012), Hawaii, USA, 24–29 June, pp. 416–422. IEEE, USA. [15] Simoens, P., Turck, F.D., Dhoedt, B. and Demeester, P. (2011) Remote display solutions for mobile cloud computing. Computer, 44, 46–53. [16] Isci, C., Liu, J., Abali, B., Kephart, J.O. and Kouloheris, J. (2011) Improving server utilization using fast virtual machine migration. IBM J. Res. Dev., 55, 4:1–4:12. [17] Bose, S., Brock, S., Skeoch, R. and Rao, S. (2011) Cloudspider: Combining Replication with Scheduling for Optimizing Live Migration of Virtual Machines Across Wide Area Networks. 2011 11th IEEE/ACM Int. Symposium on Cluster, Cloud and Grid Computing (CCGrid), CA, USA, May 23–26, pp. 13–22. IEEE, USA. [18] Liu, H., Jin, H., Liao, X., Yu, C. and Xu, C.-Z. (2011) Live virtual machine migration via asynchronous replication and state synchronization. IEEE Trans. Parallel Distrib. Syst., 22, 1986–1999.

The Computer Journal, 2013

Downloaded from http://comjnl.oxfordjournals.org/ at Global campus of Kyunghee University on August 7, 2013

[1] Armbrust, M., Fox, A., Griffith, R., Joseph, A.D., Katz, R.H., Konwinski, A., Lee, G., Patterson, D.A., Rabkin, A., Stoica, I. and Zaharia, M. (2009) Above the Clouds: A Berkeley View of Cloud Computing. Technical Report UCB/EECS-200928. EECS Department, University of California, Berkeley, USA. [2] Milo´jiˇci´c, D.S., Douglis, F., Paindaveine, Y., Wheeler, R. and Zhou, S. (2000) Process migration. ACM Comput. Surv., 32, 241–299. [3] Clark, C., Fraser, K., Hand, S., Hansen, J.G., Jul, E., Limpach, C., Pratt, I. and Warfield, A. (2005) Live Migration of Virtual Machines. Proc. 2nd Conf. on Symposium on Networked Systems Design & Implementation – Volume 2, Boston, MA, May 2–5, pp. 273–286. USENIX Association, Berkeley, CA, USA. [4] Shi, W. and Hong, B. (2011) Towards Profitable Virtual Machine Placement in the Data Center. 2011 4th IEEE Int. Conf. on Utility and Cloud Computing (UCC), Melbourne, Victoria, Australia, December 5–8, pp. 138–145. IEEE Computer Society, USA. [5] Voorsluys, W., Broberg, J., Venugopal, S. and Buyya, R. (2009) Cost ofVirtual Machine Live Migration in Clouds:A Performance Evaluation. Proc. 1st Int. Conf. on Cloud Computing, Beijing, China, December 1–4, pp. 254–265. Springer, Berlin. [6] Polze, A., Troger, P. and Salfner, F. (2011) Sla—Based Resource Allocation for Software as a Service Provider (saas) in Cloud Computing Environment. Proc. 2011 14th IEEE Int. Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops, Newport Beach, CA, USA, March 28–31, pp. 234–243. IEEE Computer Society, USA. [7] Ellens, W., Zivkovic, M., Akkerboom, J., Litjens, R. and van den Berg, H. (2012) Performance of Cloud Computing Centers with Multiple Priority Classes. 2012 IEEE 5th Int. Conference on Cloud Computing(CLOUD2012), Hawaii, USA, June 24–29, pp. 245–252. IEEE, USA. [8] CC-BY-SA (2008) Red Hat Enterprise Linux 5, Virtualization Guide, Virtualization Documentation Edition 5.9, Chapter 21. Red Hat, Inc., NC, USA.

11