A Dynamic SLA Aware Heuristic Solution For IaaS Cloud Placement Problem Without Migration

6
International Journal of Computer Science and Information Technologies Volume 6, Issue 11 – July 2014 Corresponding Author: Mahyar Amini, Department of Information System, Faculty of Computing, Universiti Teknologi Malaysia (UTM), Johor, Malaysia. Email: [email protected] , HP. +60142255030 A Dynamic SLA Aware Heuristic Solution For IaaS Cloud Placement Problem Without Migration Mahyar Amini Department of Information System Faculty of Computing Universiti Teknologi Malaysia (UTM) Skudai, Johor, Malaysia Nazli Sadat Safavi Department of Information System Faculty of Computing Universiti Teknologi Malaysia (UTM) Skudai, Johor, Malaysia Abstract: The Virtual Machine (VM) placement problem in IaaS cloud computing is well studied in the literature. However the majority of the existing works ignore the dynamic nature of the incoming stream of VM deployment requests from cloud customers that continuously arrive to the cloud provider infrastructure and use migration. In this paper, we provide an efficient method for placement management in an IaaS cloud which is under a stream of requests and present a novel technique called Adaptive Random that projects the past demand behaviour of a VM to a candidate target host without doing any migration. The result shows that the suggested method does an efficient placement with a low demand dissatisfaction which can be stated in SLA. Keywords- IaaS cloud; placement problem; SLA aware; migration I. INTRODUCTION Cloud computing is a cost-effective model for provisioning services, and it makes IT management easier and more responsive for the changing needs of the business. It delivers a wide range of services like Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). These services are made available on a subscription basis using pay-as-you-use model to customers [1]. In this paper, we focus on IaaS within which the customers configure VMs (e.g. size of ram) and then these VMs will become delivered to customers. The nature of the incoming stream of VM deployment requests from cloud customers is dynamic and for satisfying the SLA between cloud providers and customers the need for efficient schedulers is sensible. The role of the scheduler is to place the requested VMs in appropriate physical machines so that the SLA violation was low and desirable. However the majority of the existing works ignore the dynamic nature of the incoming stream of VM deployment requests from cloud customers that continuously arrive to the cloud provider infrastructure. On the other hand a large number of techniques recently presented use migration, which reduces the performance of the service, which is offered by the cloud infrastructure [2]. In this paper we focus on the virtual machine placement problem in a real-life dynamic cloud environment; the main contributions of this work can be summarized as: We introduce a novel technique called Adaptive Random for placement problem that projects the pasts demand behavior of a VM to a candidate target host without doing any migration. This is a simple and efficient method that captures the aspect of demand correlation between the VMs in the past and use it for future prediction One of our ideas to reach a high SLA satisfaction is to consider the capacity of host lower than actual its capacity and using the quotient of dividing this new low capacity to requested VM’s minimum resource required for placement decision. In section II we define the placement problem under study, while in Section III we present the proposed Adaptive Random strategy. Section IV shows the results obtained by our technique compared with a strategy of optimal placement at each time instant presented in [2]. Section V presents a literature review of works related to the VM placement problem, lastly Section VI concludes the paper. II. PROBLEM DESCRIPTION In IaaS cloud, we see a stream of VM deployment that a typical cloud infrastructure is subject to. We consider discrete time units and at each time instant two types of deploy events can occur: (i) a new set of VMs needs to be deployed (i.e., placement request), or (ii) an already deployed set of VMs is turned off, or being “undeployed”. We identify each placement request with the tuple q = <t,VMSET>, where t is the time instant in which the deploy request is received and VMSET is the set of VMs to be deployed. Notice that undeploy time of each VM can be at any time t’ > t. We consider a data center infrastructure composed by M distinct hosts. Each host is characterized by R resources (i.e, CPU, memory, IO bandwidth, etc).

Transcript of A Dynamic SLA Aware Heuristic Solution For IaaS Cloud Placement Problem Without Migration

International Journal of Computer Science and Information Technologies Volume 6, Issue 11 – July 2014

Corresponding Author: Mahyar Amini, Department of Information System, Faculty of Computing, Universiti Teknologi Malaysia (UTM), Johor, Malaysia. Email: [email protected] , HP. +60142255030

A Dynamic SLA Aware Heuristic Solution For IaaS Cloud Placement Problem Without Migration

Mahyar Amini Department of Information System

Faculty of Computing Universiti Teknologi Malaysia (UTM)

Skudai, Johor, Malaysia

Nazli Sadat Safavi Department of Information System

Faculty of Computing Universiti Teknologi Malaysia (UTM)

Skudai, Johor, Malaysia

Abstract: The Virtual Machine (VM) placement problem in IaaS cloud computing is well studied in the literature. However the majority of the existing works ignore the dynamic nature of the incoming stream of VM deployment requests from cloud customers that continuously arrive to the cloud provider infrastructure and use migration.

In this paper, we provide an efficient method for placement management in an IaaS cloud which is under a stream of requests and present a novel technique called Adaptive Random that projects the past demand behaviour of a VM to a candidate target host without doing any migration. The result shows that the suggested method does an efficient placement with a low demand dissatisfaction which can be stated in SLA.

Keywords- IaaS cloud; placement problem; SLA aware; migration

I. INTRODUCTION Cloud computing is a cost-effective model for provisioning services, and it makes IT management easier and more responsive for the changing needs of the business. It delivers a wide range of services like Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). These services are made available on a subscription basis using pay-as-you-use model to customers [1]. In this paper, we focus on IaaS within which the customers configure VMs (e.g. size of ram) and then these VMs will become delivered to customers. The nature of the incoming stream of VM deployment requests from cloud customers is dynamic and for satisfying the SLA between cloud providers and customers the need for efficient schedulers is sensible. The role of the scheduler is to place the requested VMs in appropriate physical machines so that the SLA violation was low and desirable. However the majority of the existing works ignore the dynamic nature of the incoming stream of VM deployment requests from cloud customers that continuously arrive to the cloud provider infrastructure. On the other hand a large number of techniques recently presented use migration, which reduces the performance of the service, which is offered by the cloud infrastructure [2].

In this paper we focus on the virtual machine placement problem in a real-life dynamic cloud environment; the main contributions of this work can be summarized as:

• We introduce a novel technique called Adaptive Random for placement problem that projects the pasts demand behavior of a VM to a candidate target host without doing any migration. This is a simple and efficient method that captures the aspect of demand correlation between the VMs in the past and use it for future prediction

• One of our ideas to reach a high SLA satisfaction is to consider the capacity of host lower than actual its capacity and using the quotient of dividing this new low capacity to requested VM’s minimum resource required for placement decision.

In section II we define the placement problem under study, while in Section III we present the proposed Adaptive Random strategy. Section IV shows the results obtained by our technique compared with a strategy of optimal placement at each time instant presented in [2]. Section V presents a literature review of works related to the VM placement problem, lastly Section VI concludes the paper.

II. PROBLEM DESCRIPTION In IaaS cloud, we see a stream of VM deployment that a typical cloud infrastructure is subject to. We consider discrete time units and at each time instant two types of deploy events can occur: (i) a new set of VMs needs to be deployed (i.e., placement request), or (ii) an already deployed set of VMs is turned off, or being “undeployed”. We identify each placement request with the tuple q = <t,VMSET>, where t is the time instant in which the deploy request is received and VMSET is the set of VMs to be deployed. Notice that undeploy time of each VM can be at any time t’ > t. We consider a data center infrastructure composed by M distinct hosts. Each host is characterized by R resources (i.e, CPU, memory, IO bandwidth, etc).

Mahyar Amini et al. (2014), International Journal of Computer Science and Information Technologies, 6 (11), pp. 25-30

Volume. 6 | Issue. 11 | July 2014

26

Each VM requires a minimum amount from each resource, which we call reservation. If a host has fewer amounts of resources than the minimum amount of resources required by the reservation, the VM cannot be deployed on that host. While the reservation value is statically defined, the demand represents the actual value of consumed resource and typically varies with time. Without loss of generality, but for the sake of simplicity, we focus only on CPU demand. In particular, we call 𝑑!(t) the CPU demand for VM i at time instant t. VM migrations can introduce a significant overhead in the network infrastructure .In order not to generate too many migrations, we didn’t allow any migration. Two variables are outputs of the placement solution: VM mapping and CPU resource allocation. The first variable expresses the mapping between the VM and the physical machine that is hosting it. The CPU allocation (i.e., the amount of CPU actually assigned to a VM) is the second variable we considered. The sum of reservations for VMs placed on a host should not be larger than the capacity of that host. The actual allocation may be higher than the reservation declared at deployment. To decrease the bad effects of spikes in demand which have a limited duration (for example due to periodic trends in demand) we use the “reservation risk” score as a new idea at the core of Adaptive Random. to reach this goal, we struggle to give low scores to placements that associate VMs to hosts in a way that increases the ratio between reservations and host capacities(this ratio will be annotated by gama). (1) States this feature for host h. in (1), V is the set of VMs which are already placed in the host h and the VM which want to be added to host h.

gama(h) = 𝒎𝒊𝒏𝒊𝒎𝒖𝒎  𝒓𝒆𝒒𝒖𝒊𝒓𝒆𝒅  𝑪𝑷𝑼  𝒐𝒇  𝑳𝒍∈𝑽

𝑪𝑷𝑼  𝒄𝒂𝒑𝒂𝒄𝒊𝒕𝒚  𝒐𝒇  𝒉 (1)

Before presenting the optimization algorithms, we introduce a scoring function.We call it the “demand risk” and its purpose is to measure the level of demand dissatisfaction of a host in the last TM time instants. Firstly we define the function U measuring the amount of unsatisfied demand for a given time instant, see (2). Specifically, the function DR(h, V, t) measures the amount of nonsatisfied demand for host h at time t when the set of VMs V is placed on it.

U(h,V,t) = 𝒅𝒍𝒍∈𝑽 (𝒕)𝑪𝑷𝑼  𝒄𝒂𝒑𝒂𝒄𝒊𝒕𝒚  𝒐𝒇  𝒉

(2)

We denote the “demand risk” with the term DR and its formulation is reported in (3)

DR(h,V,T) = 𝑼 𝒉,𝑽, 𝒕𝑻𝒕!𝑻!𝑻𝑴                                                                                      (𝟑)

III. PLACEMENT OPTIMIZATION GOALS The optimization goal (i.e., objective function) for the placement problem is presented in this section. It has several

components, each commonly-used optimization goal on its own. The first captures the CPU demand satisfaction aspect component (i.e., how much CPU is allocated to VMs with respect to the desired amount). For minimization of the number of VM migrations caused by the new placement, we included a second component quantifying the number of relocations with respect to the maximum allowed. The last component takes into account load balancing among hosts. More specifically, we consider the actual load, (i.e., CPU allocated for each host normalized by the host capacity). The optimization component is defined such that the difference between the most and the least loaded hosts is minimized. Since some of the hosts might be empty (i.e., powered-off or in stand-by) we only consider active hosts.

IV. ADAPTIVE RANDOM PLACEMENT Due to the NP-Hard nature of the previously described placement problem, it is not possible to devise an algorithm providing optimal solutions in reasonable time [2]. In this Section we describe Adaptive Random, a placement technique which is based on a simple and fast heuristic, producing high quality placements, with respect to the optimization goal described in the previous Section and without any migration. Notice that, due to the unpredictable nature of the deploy stream, the problem cannot be solved using majority of traditional scheduling techniques. Clouds infrastructures continuously receive an unpredictable stream of deploy requests over time. This kind of behavior demands for a (i) quick placement of newly arrived deploy requests, (ii) execution of limited number of time consuming operations (i.e., computation of new placement, relocations), and (iii) smart placement decision so that future state of the infrastructure remains stable and efficient. Each time new requests to deploy VMs are received; Algorithm 1 is executed to compute their placement.

For each VM in the deploy set we evaluate the “demand risk” for each available host considering VMs already deployed plus VM i.

for all i ∈ 𝑉𝑀𝑆𝐸𝑇  𝑑𝑜 accept = false

while(!accept) do candidatehost = getaproperhostfori();

if(DR(candidatehost,vmsInHost(candidatehost)∪ 𝑖),𝑇) > −5000) accept = true

deployVMInHost(i,candidatehost) end while

end for

Algorithm 1

Mahyar Amini et al. (2014), International Journal of Computer Science and Information Technologies, 6 (11), pp. 25-30

Volume. 6 | Issue. 11 | July 2014

27

According to Algorithm 1, firstly a proper host will be selected through getaproperhost function which will be introduced below (see Algorithm 2) and will be named candidatehost. Then if demand risk according to candidatehost isn’t lower than our threshold (i.e., 5000 in our experiments), candidatehost will be accepted, otherwise another host will be selected. The function getaproperhost is implemented using Algorithm 2. This algorithm starts with a thresholdgama equal to .1, and then the hosts will be selected one by one and For each host h which is selected the gama (h) (see (1)) will be calculated, and if the result is less than thresholdgama the host h will be selected as the output of the algorithm. If all hosts h selected have gama(h) less than thresholdgama then .1 will be added to the thresholdgama. The cycle presented above will be repeated till a proper host is selected.

thresholdgama = .1; accept = false while(!accept) do

while(!accept || ! allhostsrandomlyselected) do candidatehost = selectahostrandomly() if(gama(candidatehost) < thresholdgama) accept=true return candidatehost

end while if(!accept) thresholdgama = thresholdgama + .1 end while

Algorithm 2

V. EXPERIMENTAL SETTINGS We used Java language to implement our placement heuristic. Results obtained by our heuristic were compared with the ones produced by the approach presented in [5] which uses migration. In each experiment, configurations of hosts were chosen randomly from a set of predefined capacities according to the Table 1.

Table 1 Host configurations

Configuration CPU RAM Probability SMALL 100 100 .2

MEDIUM 180 180 .4 LARGE 450 450 .4

Three probabilistic distributions form the input stream of VMs with capturing three different aspects of deploy workload: (i) inter-arrival time of deploy requests, (ii) deploy size (i.e., number of VMs in the deploy request), and (iii) duration of each deploy request (i.e., lifetime). In particular, the inter-arrival time between two deploy requests is modeled with a Poisson process with average 𝜆 time units, the deploy size is modeled with a Poisson variable with average µ VMs. Similarly, the duration of each deploy request follows a

Poisson process with average ν. Values for these parameters are given below for each experiment. The choice of a poisson distribution is motivated by the fact that many real systems show this property in request workloads. Similar to hosts, VMs are probabilistically extracted from a predefined set of sizes as reported in Table 2.

Table 2 VM configurations

Configuration Min CPU

Max CPU

RAM Probability

SMALL 20 50 20 .3

MEDIUM 50 90 50 .25

LARGE 75 120 75 .25

HI-CPU 80 140 40 .2

Experiments were performed on Windows7 equipped with 4 Intel Xeon E5530 running at 2.40 Ghz and 8 GB of RAM. Experiments are performed using discrete time instants (i.e., deploy requests and optimizations only occur in these time instants). Demand traces are collected for TM = 10 previous time instants.

VI. WORKLOAD GENERATION Beside the incoming stream of VM requests, we also generate CPU demands according to the typical night-day variation found in data centers [8]. In particular, VMs alternate high and low demand periods having a duration extracted from two different uniform processes. Similarly to what done in [5], demand values are extracted from two Poisson distributions with variable getting the minimum and maximum values allowed value for CPU as reported in Table 2. Minimum and maximum values are also used as bounds for the demands such that variations are limited within a range. Moreover, VMs belonging to the same VMSET have the same night-day variation pattern (i.e., high and low periods are aligned). This assumption is motivated by the fact that these VMs are likely to implement the same service.

VII. EXPERIMENTAL RESULTS The objective of the experimental phase has been to evaluate both the quality and performance of Adaptive Random under different load conditions. In our first set of experiments we evaluate the quality of solutions produced by our technique. The evaluating scenario involves a data center of fixed dimension (150 hosts), for which is considered a stream of deploy requests. Experiments have been performed using two different level of load (i.e., required CPU): the first one with λ = 5, ν = 110 and µ = 15 producing a cloud utilization of 60%. In the second level we only increase the size of deploy request to µ= 20, bringing the cloud utilization to 80%. The results, which are shown below, are achieved using 20 experiments and 500 as the total number of time instants. Adaptive Random takes advantage of historical demand traces by co-locating complementary VMs into the same physical

Mahyar Amini et al. (2014), International Journal of Computer Science and Information Technologies, 6 (11), pp. 25-30

Volume. 6 | Issue. 11 | July 2014

28

machine. The effect of this approach is a sensible gain in demand satisfaction level. In Figure. 1, we report the fraction of amount of CPU, which is satisfied, and results shows above 98% demand satisfaction in both loads, and Adaptive Random has a better result than BSP in both loads. It should be mentioned that the minimum amount of dissatisfaction gained from Adaptive Random in whole of 20 experiments is better than the maximum amount of dissatisfaction gained from BSP. According to Figure. 2, in the case of low load (60%) the fraction of dissatisfied VMs is less than .5%, still remains superior to placements computed by BSP. in the case high load (80%), the fraction of dissatisfied VMs is lower than 3% in Adaptive Random, still remaining superior to placements computed by BSP. again it should be mentioned that separately in both loads, the maximum fraction of VMs dissatisfied in 20 experiments was lower than the minimum results of fraction of VMs dissatisfied. The differences in results stated above will become sensible in Figure. 3 where the total number of VMs which wasn’t satisfied is reported, and according to the results reported, the difference in demand dissatisfaction in 80% loads is around 2500 VMs, and in the case 60% load the difference is around 70 VMs. again it should be mentioned that separately in both loads the maximum number of dissatisfied demand in Adaptive Random method is lower than the minimum number of dissatisfied demand in BSP in 20 experiments. The result’s reported in dissatisfaction can be the effect of reservation risk used in Adaptive Random which tries not to allow Vms with large reservation to be placed in host with low capacity. The Figure. 4 show that the total number of migrations in both loads is 73 for the BSP method, and Adaptive Random uses no migration. The Figure. 5 is generated from the concept of load balancing that focuses on load balancing objective and in both loads the Adaptive Random is generated more balanced loads than BSP. As the results show the Adaptive Random method shows better efficiency in demand satisfaction, number of migrations and load balancing.

Figure. 1 percentages of total satisfied demand

Figure. 2 percentages of dissatisfied VMs

Figure. 3 total number of dissatisfied demand

98.4  

98.6  

98.8  

99  

99.2  

99.4  

99.6  

99.8  

100  

percen

t  of  total  sa

-sfie

d  de

man

d  

adap-ve  random  

BSP  

80%  load   60%  load  

0  

1  

2  

3  

4  

5  

2.92355  

0.10695  

4.119  

0.149  percen

t  of  d

issa-sfie

d  VM

s  

adap-ve  random  

BSP  

60%  load  80%  load  

0  2000  

4000  

6000  

8000  

10000  

1   2  

6420.95  

173  

8944  

247  

total  num

ber  o

f  dissa-sfie

d  de

man

d  

adap-ve  random  

BSP  

80%  load   60%  load  

Mahyar Amini et al. (2014), International Journal of Computer Science and Information Technologies, 6 (11), pp. 25-30

Volume. 6 | Issue. 11 | July 2014

29

Figure. 4 number of relocations

Figure. 5 load imbalance score

VIII. RELATED WORKS Both the industry and the open source community currently offer solid solutions, which are able to provide isolation, and migration features for VMs. Moreover, the growing diffusion enabled by the cloud computing paradigm, raised the need for tools able to manage the whole cloud infrastructure at higher levels of control; an example of these tools are IBM WebSphere CloudBurst [3], and others [2]. An important aspect of data center management is the cost involved in maintaining it up and running without violating the SLA stipulated with customers. VM consolidation together with dynamic placement techniques are the main approaches to reduce costs as they are able to find (sub)optimal placement and resource allocation of VMs[2]. The problem of VM placement is typically modeled as a multidimensional bin-packing problem which is NP-hard. Recently the problem of VM placement has been extended to include other important aspects of the data center infrastructure such as network traffic and storage facilities. In [4] a virtual machine placement and migration approach is proposed to minimize the data transfer time consumption and proposed approach is effective in optimizing the data transfer between the virtual machine and data, thus helping optimize the overall application performance. In [5] the focus is on satisfying the traffic demands of the VMs in addition to CPU

and memory requirements and a placement is given that not only satisfies the predicted communication demand but is also resilient to demand time-variations. In [6] the network issues in placement is considered too. In [7] an algorithm named DRAMDT is proposed to deploy VMs to servers without the use of migration, which groups VM instances by their deadline runtimes and pack VMs within the same group on the same servers. Similarly to our work, the authors of [8] consider a continuous stream of deploy requests directed to the cloud, however, they exploit the knowledge of the exact duration of each deploy set. We argue that this assumption is too simplistic in large cloud providers, where deploy requests come in an unpredictable manner and have unknown durations. Another similar research to our work is [2] which consider a continuous stream of deploy requests directed to the cloud, however, they use migration and don’t pay any attention to reservation risk concept presented in Adaptive Random approach. Adaptive Random has good better results in load balancing and demand satisfaction without doing any migrations.

IX. CONCLUSION In this paper we presented Adaptive Random a placement technique that optimizes the placement of Virtual Machines in an IaaS cloud environment under a continuous stream of deploy requests without any migration. By monitoring historical demand traces of deployed VMs, Adaptive Random projects the past demand behavior of a VM to a candidate target host, and capture the VMs correlation aspect in an efficient way. To decrease the bad effects of spikes in demand which have a limited duration (for example due to periodic trends in demand) we use the “reservation risk” score as a new idea at the core of Adaptive Random. To reach this goal we struggle to give low scores to placements that associate VMs to hosts in a way that increases the ratio between reservations and host capacities. Results show that our technique is able to place VMs such that a high level of demand satisfaction is obtained. Possible future works involve using met heuristic algorithms in solving dynamic placement problem in IaaS. Another idea can be studying the network relations among VMs belonging to the same deploy set. This knowledge may be useful for further infrastructure optimizations. Finally, another interesting study is the pattern/trend analysis of deploy requests belonging to the same user.

REFERENCES

[1] R. Jeyarani, N. Nagaveni, and R. Vasanth Ram, "Design and implementation of adaptive power-aware virtual machine provisioner (APA-VMP) using swarm intelligence." vol. 28: Elsevier, pp. 811-821.

[2] N. M. Calcavecchia, O. Biran, E. Hadad, and Y. Moatti, "VM Placement Strategies for Cloud Scenarios," in Cloud Computing (CLOUD), 2012 IEEE 5th International Conference on, pp. 852-859.

0  

20  

40  

60  

80  

0   0  

73   73  nu

mbe

r  of  total  re

loca-o

ns  

 

adap-ve  random  

BSP  

60%  load  80%  load  

0.700510  

0.724993  0.73265   0.72656  

0.68  

0.69  

0.7  

0.71  

0.72  

0.73  

0.74  

load

 imba

lanced

 score  

adap-ve  random  

BSP  

60%  load  80%  load  

Mahyar Amini et al. (2014), International Journal of Computer Science and Information Technologies, 6 (11), pp. 25-30

Volume. 6 | Issue. 11 | July 2014

30

[3] IBM Corporation.”IBM WebSphereCloudBurst”.Accessed May 23, 2014.

[4] J. T. Piao and J. Yan, "A network-aware virtual machine placement and migration approach in cloud computing," in Grid and Cooperative Computing (GCC), 2010 9th International Conference on, pp. 87-92.

[5] O. Biran, A. Corradi, M. Fanelli, L. Foschini, A. Nus, D. Raz, and E. Silvera, "A Stable Network-Aware VM Placement for Cloud Systems," in Proceedings of the 2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid 2012), pp. 498-506.

[6] M.Wang, X. Meng, and L. Zhang, "Consolidating virtual machines with dynamic bandwidth demand in data centers," in INFOCOM, 2011 Proceedings IEEE, pp. 71-75.

[7] L. Guan, Y. Wang, and Y. Li, "A Dynamic Resource Allocation Method in IaaS Based on Deadline Time," in Network

Operations and Management Symposium (APNOMS), September 25-27,2012

[8] J. T. Piao and J. Yan, "A network-aware virtual machine placement and migration approach in cloud computing," in Grid and Cooperative Computing (GCC), 2010 9th International Conference on, pp.87-92.

[9] and Cooperative Computing (GCC), 2010 9th International Conference on, pp. 87-92.

[10] Operations and Management Symposium (APNOMS), September 25-27,2012

[11] J. T. Piao and J. Yan, "A network-aware virtual machine placement and migration approach in cloud computing," in Grid and Cooperative Computing (GCC), 2010 9th International Conference on, pp. 87-92.