Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Abstract—Cloud data centers promises flexible, scalable,
powerful and cost-effective executing environment to users. There
are still challenges of cloud systems while there are several
advantages of cloud computing infrastructures such as on-demand
resources scalability. The amount of resources needed in cloud data
centers is often dynamic due to its dynamic workload demand.
Resource provisioning with the right amount of dynamic resource
demand while meeting service level objectives (SLOs) becomes a
critical issue in cloud data centers. Elastic resource provisioning
mechanism for the Cloud Data Center is proposed by applying time-
shared policy for Virtual Machines (VMs) and tasks. It is focused to
maximize the utilization of resources and minimizing the cost
associated with the resources. The proposed system is simulated and
evaluated with real world workload traces. The evaluation results
show that the proposed provisioning system achieves high utilization
of resources for the cloud data center to allocate the resources.
Keywords—Data Center, Resource Provisioning, Service Level
Objective, Time-Shared Policy
I. INTRODUCTION
CLOUD is a type of parallel and distributed system
consisting of a collection of interconnected and
virtualized computers that are dynamically provisioned and
presented as one or more unified computing resources based
on service-level agreements established through negotiation
between the service provider and consumers. Cloud computing
is a model for enabling ubiquitous, convenient, on-demand
network access to a shared pool of configurable computing
resources (e.g., networks, servers, storage, applications and
services) that can be rapidly provisioned and released with
minimal management effort or service provider interaction.
Cloud provider offers services as Software as a Service (SaaS),
Platform as a Service (PaaS) and Infrastructure as a Service
(IaaS). When a cloud provider accepts a request from a
customer, it must create the appropriate number of virtual
machines (VMs) and allocate resources to support them [10].
Cloud service providers are facing many challenges of
resource demands as cloud computing grows in popularity and
usage. Data centers resource needs are often dynamic, varying
as a result of changes in overall workload. A key problem
when provisioning virtual infrastructures is how to deal with
Thant Zin Tun, University of Computer Studies, Yangon, Myanmar. (e-
mail: [email protected]).
Thandar Thein, University of Computer Studies, Yangon, Myanmar. (e-
mail: [email protected]).
situations where the demand for resources. Resource
Provisioning is the mapping and scheduling of VMs onto
physical Cloud servers within a cloud. Cloud providers must
ensure utilizing and allocating scare resources within the limit
of cloud environment so as to meet the needs of dynamic
resource demand. Cloud data center providers either do not
offer dynamic resource provisioning or support any
performance guarantee leads to inefficient utilization of
resources and occurs SLO violations.
The cloud provider’s task is, therefore, to make sure that
resource allocation requests are satisfied with specific
probability and timeliness. These requirements are formalized
in infrastructure SLAs between the service owner and cloud
provider, separate from the high-level SLAs between the
service owner and its end users. SLA-oriented capacity
planning guarantees that there is enough capacity to guarantee
service elasticity with minimal over-provisioning. Thus, the
IaaS providers make the Service Level Objectives to grantee
the SLA for the dynamic workload demand for different
resources. In order to avoid the under-provision, which leads
to compensation costs for the provider, the cloud providers
plan to predict the dynamic workload demand in advance by
different methods. In this paper, the SLO Granted Resource
Prediction (SGERP) is used to predict the CPU resource usage
[9]. At the same time, the IaaS cloud provider strives to
minimally over-provision capacity, thus minimizing the
operational costs.
In this paper, we propose resource provisioning system that
makes the resource provision for the IaaS cloud data center to
achieve high utilization of data center resources. The rest of
the paper is organized as follow. The proposed architecture is
presented in the next section. Then, the detail design of
provision strategies is discussed. The experimental results are
also conducted. And then we discuss related work, concluding
remarks and future work are provided.
II. SYSTEM ARCHITECTURE
An elastic resource provisioning system is proposed by
using time-shared allocation policy for both VMs and tasks. It
is tried to achieve the high utilization of data center resources
while preventing the over provisioning of resources. In the
proposed provision system, two different provisioning
strategies are used to make the decision to create the hosts and
VMs.
Elastic Resource Provisioning for
Cloud Data Center
Thant Zin Tun, and Thandar Thein
A
3rd International Conference on Computational Techniques and Artificial Intelligence (ICCTAI'2014) Feb. 11-12, 2014 Singapore
45
Resource Usage
PredictorElastic Resource
Provisioning System
Predicted Resource
Usage
IaaS Cloud Provider
VM1
VM2
VMn
Host 1
VM1
VM2
VMn
Host 2
VM1
VM2
VMn
Host n
Resource Allocator
Provisioning
Information
Workload
Traces
Resource
Usage Data
Fig. 1 The Architecture of Resource Provisioning System
The architecture of the proposed system is shown Figure 1.
In the resource provisioning system, SLO Granted Resource
Prediction (SGERP) results are used to predict the CPU
resource workload in order to avoid the under provisioning of
dynamic resource demand. The predicted resource usages are
used by the resource provisioning system. The provisioning
information is sent to resource allocator of the IaaS cloud
provider for the allocation of the resources requested by the
cloud customers. A cloud data center is composed by a set of
hosts, which are responsible for managing VMs during their
life cycles.
Host is a component that represents a physical computing
node in a cloud which is assigned a pre-configured processing
capability and a scheduling policy for allocating processing
cores to virtual machines. The Host component implements
interfaces that support modeling and simulation of both single-
core and multi-core nodes. In this paper, we focus on the CPU
resource usage to provision for the tasks. The predicted CPU
usage by SGERP is used in our provisioning system. The CPU
resource usage is predicted as the batch mode. Firstly, the real
world workload traces are clustered based on the deadline of
the requests to handle non uniform cases of execution time and
wait time of the data centers’ requests.
III. RESOURCE PROVISIONING MODEL
The resource provisioning system is developed for handling
dynamic workload nature resource provisioning ahead of the
needs in the cloud data centers. In this provision system we use
SGERP prediction model which integrate signal processing
approach and statistical learning approach to predict both
repeating pattern and non-repeating pattern workload [8]. To
overcome the under provisioning, SLO analysis is conducted
in the prediction system. By increasing 5% of the maximum
predicted value, it can almost eliminate under provisioning of
the predictor and can meet SLOs of the cloud provider.
SGERP and the time sharing resource allocation are used in
the provisioning system to achieve the right amount of
resource provisioning. In this paper, we focus on the resource
allocation strategies of the data centers.
A. RESOURCE PROVISIONING OF CLOUDS
One of the key advantages of a Cloud computing
infrastructure is the immense deployment of virtualization
technologies and tools. Hence, as compared to Grids, Clouds
have a virtualization layer that acts as an execution and hosting
environment for Cloud-based application services. The hosts
component in cloud data centers implements interfaces that
support modeling and simulation of both single-core and
multi-core nodes.
The data center entity manages a number of host entities.
The hosts are assigned to one or more VMs based on a VM
allocation policy that should be defined by the Cloud service
provider. The control policies of the operations related to VM
life cycle such as: VM creation, VM destruction, and VM
migration stands for provisioning of a host to a VM. Similarly,
one or more application services can be provisioned within a
single VM instance, referred to as application provisioning in
the context of Cloud computing.
Hence, the amount of hardware resources available to each
VM is constrained by the total processing power and system
bandwidth available within the host. The critical factor to be
considered during the VM provisioning process, to avoid
creation of a VM that demands more resource than is available
within the host, is referred to as the resource provisioning. In
order to allow simulation of different provisioning policies
under varying levels of performance isolation, we apply the
time sharing allocation policy as CloudSim supports. Two
different allocation policies are conducted in the resource
provisioning system. VM provisioning at two levels: first, at
the host level and second, at the VM level. At the host level, it
is possible to specify how much of the overall processing
power of each core will be assigned to each VM. At the VM
level, the VM assigns a fixed amount of the available
resources to the individual task units that are hosted within its
execution engine.
B. TIME-SHARED ALLOCATION POLICY
CloudSim supports the time-shared and space-shared
resource allocation policies for the VMs and tasks. The time-
shared allocation example for both VMs and task units is
shown in Fig. 2. In this figure, a host with two CPU cores
receives request for hosting two VMs, such that each one
requires two cores and plans to host four tasks units. More
specifically, tasks T1, T2, T3, and T4 to be hosted in VM1,
whereas T5, T6, T7, and T8 to be hosted in VM2. The CPU
resources of the host are concurrently shared by the VMs and
the shares of each VM are concurrently divided among the
task units assigned to each VM. In this case, there are no
queues either for virtual machines or for task units. We
proposed two provisioning scenarios based on allocation of the
tasks to each VM while using the time-shared provisioning
policy.
We assume each VM characteristic is homogeneous for both
scenarios. In provisioning strategy 1, the tasks are assigned to
their corresponding VMs that the tasks use the resources of the
VMs which are hosted. In the provisioning strategy 2, the
available resources of the VM are shared for the tasks.
3rd International Conference on Computational Techniques and Artificial Intelligence (ICCTAI'2014) Feb. 11-12, 2014 Singapore
46
T1
T2
T5
T6
T3
T4
T7
T8
VM1
VM1
VM2
VM2
1
2
Cores
Time
Fig. 2 Time-shared allocation for VMs and Tasks
C. PROVISIONING STRATEGY 1
A host with two CPU cores receives request for hosting two
VMs, such that each one requires two cores and plans to host
four tasks units. The tasks are assigned to their corresponding
VMs which are hosted. The resource requests for each task are
varied depending on the type of tasks. The resource
provisioning strategy 1 by using time-shared allocation policy
is shown in algorithm 1. Figure 3 presents the example of
provisioning strategy 2 with the sixteen tasks.
Algorithm 1: Elastic Resource Provisioning Strategy1
Input : x //Resource Usage data
Output : y //Number of Host
1. Classify Resource Usage data into clusters //K-means
2. for each cluster in k clusters
3. total CPU=Calculate the total number of CPU requests
4. y= Calculate_total_number_of_host(total CPU, total
task)
5. end for
Calculate_total_number_of_host(total CPU, total task)
Input : total CPU, total task
Output : Nhost
1. Nhost =(total task* Nhosts(each task))/ Ntasks(each
host)))+((total CPU-total task)* Nhosts(each task))/ Ntasks(each
VM)
2. if the number of host for the tasks is not the multiple of
four
3. Nhost=the upper adjacent multiple of four
4. end if
In this example, there are sixteen tasks which are assigned
to their corresponding VMs, where T7 (task 7) requests four
CPU cores and T15 requests two CPU cores and the other
tasks request one core. Each task gets the one fourth of a core
according to the policy such that task 1 requests one core and
it needs four VMs to complete the task.
Fig. 3 Example of Resource Provisioning Strategy 1
By allocating VMs and tasks as shown in Fig. 3, the host
need for these tasks is calculated as shown in (1), where the
result is needed to check the multiple of four. If the number of
host for the tasks is not the multiple of four, it is increased to
the upper adjacent multiple of four. The symbols and notations
of the equations are shown in Table I.
(1)
TABLE I
SYMBOLS AND NOTATIONS
Symbols Definition
Nhost Number of host for the tasks
Total task Total no of tasks
Total CPU Total no of CPU resource
Nhosts(each task) Number of hosts for each task
Ntasks(each host) Number of tasks in each host
Ntasks(each VM) Number of tasks in each VM
D Deadline
Rt Run time of each job
Wt Wait time of each job
wf Waiting factor for each job
The requests are processed in batch mode for both
prediction and provision. We do not consider for each request
to provision. Hence, (1) is used for all the requests in batch
mode and the number of host calculated by (1) is the maximum
possible hosts for any requests in batch.
D. PROVISIONING STRATEGY 2
The tasks are assigned to the available VMs in the hosts by
using the time-shared allocation policy for both VMs and
tasks. The resource provisioning strategy 2 by using time-
shared allocation policy is shown in algorithm 2. Example of
provisioning strategy 2 is shown in Fig 4.
3rd International Conference on Computational Techniques and Artificial Intelligence (ICCTAI'2014) Feb. 11-12, 2014 Singapore
47
Algorithm 2: Elastic Resource Provisioning Strategy2
Input : x //Resource Usage data
Output : y //Number of Host
1. Classify Resource Usage data into clusters //K-means
2. for each cluster in k clusters
3. totalCPU=Calculate the total number of CPU requests
4. y= Calculate_total_number_of_host(totalCPU, totaltask)
5. end for
Calculate_total_number_of_host(total CPU, totaltask)
Input : totalCPU, totaltask
Output : Nhost
1. Nhost = (totalCPU*Nhosts(each task))/Ntasks(each host)
2. if the number of host for the tasks is not the multiple of
four
3. Nhost=the upper adjacent multiple of four
4. end if
Fig. 4 Example of time-shared allocation for VMs and Tasks for
Strategy 2
The provisioning scenario in Fig. 3 changes to the Fig. 4 by
using the strategy 2. T7 requests four CPU cores and T15
requests two CPU cores and the other tasks request one core.
T7 and T15 are assigned at all the available VMs in a host.
The host needed for the tasks is calculated as shown in (2),
where the result is needed to check the multiple of four. If the
number of host for the tasks is not the multiple of four, it is
increased to the upper adjacent multiple of four.
(2)
IV. PERFORMANCE EVALUATION
A. SIMULATION SET UP
The simulated model is composed of one Cloud data center
containing hosts. Each host has two CPU cores receives
request for hosting two VMs, such that each one requires two
cores and plans to host four tasks units as discussed in the
above. The time-shared policy for resource provisioning is
conducted where new VMs are created because resource
provisioning decision is the main goal of this work.
TABLE II
SELECTED IMPORTANT FEATURES OF THREE WORKLOAD TRACES
HPC2N CEA -Curie Anon
Job Number Job Number JobId
Submit Time Submit Time Submit Time
Wait Time Wait Time Wait Time
Run Time Run Time Run time
Number of Allocated
Processors
Number of Allocated
Processors Nproc
Average CPU Time
Used Average CPU Time Used UsedMemory
Used Memory Used Memory ReqNProcs
Deadline Deadline Deadline
- Request Number of
Processor ReqTime
- - Status
Output metrics collected for each scenario is the average
resources utilization rate, which we define as the rate between
the actual resource usage and the maximum available resource
of hosts in data center. In this paper, we use three workload
traces from Parallel Workload Archives [1]. The important
selected features of three workload traces are shown in Table
II. Simulation of each scenario was repeated 10 times for three
workload traces, and we report the average for each output
metric.
B. SIMULATION SCENARIO
Depending on the nature of the workload we varied the total
capacity of the data centers because the workloads are with the
non uniform execution time and wait time of the requests. In
this case the workload can be decomposed according to their
associated deadline. The deadline D for each request is
calculated as in (3). In our experiment, the waiting factor is set
as five seconds. The capacity of the data centers is more
efficient by using the clustered workloads.
(3)
Clustering is the process of partitioning or grouping a given
set of patterns into disjoint clusters and view as an
unsupervised method for data analysis. K-means clustering is
a method commonly used to automatically partition a data set
into k groups. The process flow of k-means clustering is shown
in Fig 5.
TABLE III
CLUSTER SIZE AND DEADLINE RANGE OF CEA-CURIE WORKLOAD
Cluster Deadline Range No of Tasks
(Size of Cluster)
1 6-281 9246
2 284-1241 741
3 1264-3253 124
4 3282-8345 73
5 9033-21619 31
6 36006-132249 32
We use k-means clustering to classify the workloads into 10
groups based on the deadline of the requests. 100000 records
3rd International Conference on Computational Techniques and Artificial Intelligence (ICCTAI'2014) Feb. 11-12, 2014 Singapore
48
of each workload are set to group according to their deadlines.
The characteristics of each cluster of Anon workload traces are
described in Table III.
Start
Number of cluster K
Centroid
Distance objects to centroids
Grouping based on minimum distance
No objects move? End
Fig. 5 The Flow Diagram of K-means Clustering
C. EXPERIMENTAL RESULTS
We test the simulation of provisioning strategies with the
clusters that we mentioned in the previous section. The
utilization of resource for each strategy is calculated in (4).
The requests are processed in batch mode for both prediction
and provision. We do not consider for each request to
provision.
(3)
Figure 6 shows the comparison of the utilization in
percentage of both strategies of provisioning of Anon Grid
workload. According to Fig 6, we can see that provisioning
strategy 1 scores higher utilization rate than the strategy 2.
Fig. 6 The Utilization Rate of Anon Workload for both Strategies
The utilization in percentage of both policies CEA-Curie
workload trace is shown in Fig 7. The maximum utilization
rate is 52% for strategy 1 and approximately 99% of utilization
for strategy 2.
Fig. 7 The Utilization Rate of CEA-Curie Workload for both Policies
The maximum utilization rate of 73% is achieved for
strategy 1 and 98% is achieved for the strategy 2 on HPC2N
workload as shown in Fig 8.
Fig. 9 The Utilization Rate of HPC2N Workload for both Policies
The average resource utilization rate of three workload
traces, 100000 records for each workload with 6 clusters, is
described in Fig 9. We test ten times of 10000 records and
calculate average for all output metric. According to Fig 9, we
can see that the strategy 2 achieves high utilization rate of
resource provisioning with the batch prediction of the resource
usages.
Fig. 9 Average Resource Utilization of three Workload traces (6
clusters)
The average resource utilization rate of three workload
traces, 100000 records for each workload with 5 clusters, is
described in Fig 10. We test ten times of 10000 records and
calculate average for all output metric. According to Fig 10,
3rd International Conference on Computational Techniques and Artificial Intelligence (ICCTAI'2014) Feb. 11-12, 2014 Singapore
49
we can see that the strategy 2 achieves high utilization rate of
resource provisioning with the batch prediction of the resource
usages.
Fig. 10 Average Resource Utilization of three Workload traces (5
clusters)
V. RELATED WORK
B. Urgaonkar et. al. [3] have used virtual machines (VM) to
implement dynamic provisioning of multi-tiered applications
based on an underlying queuing model. For each physical host,
however, only a single VM can be run. T. Wood et. al. [7] use
a similar infrastructure as in [3]. They concentrate primarily on
dynamic migration of VMs to support dynamic provisioning.
They define a unique metric based on the consumption data of
the three resources: CPU, network and memory to make the
migration decision.
R. N. Calheiros et al. [5] presented a provisioning technique
that automatically adapts to workload changes related to
applications for facilitating the adaptive management of
system and offering end users guaranteed Quality of Services
(QoS) in large, autonomous, and highly dynamic
environments. They model the behavior and performance of
applications and Cloud-based IT resources to adaptively serve
end-user requests. To improve the efficiency of the system, we
use analytical performance (queuing network system model)
and workload information to supply intelligent input about
system requirements to an application provisioner with limited
information about the physical infrastructure.
S. K. Garg et al. [6] proposed admission control and
scheduling mechanism to maximize the resource utilization
and profit and ensures the SLA requirements of users [4]. They
use an artificial Neural Network based prediction model by
using standard Back Propagation (BP) algorithm for
prediction. The number of hidden layers is varied to tune the
performance of the network and through iterations it was found
to be optimum at the value of 5 hidden layers. In their
experimental study, the mechanism has shown to provide
substantial improvement over static server consolidation and
reduces SLA Violations.
R. Buyya et al. [4] presented vision, challenges, and
architectural elements for energy efficient management of
Cloud computing environments. They focus on the
development of dynamic resource provisioning and allocation
algorithms that consider the synergy between various data
center infrastructures (i.e., the hardware, power units, cooling
and software). Unlike our system their provisioning scheme
holistically works to boost data center energy efficiency and
performance.
X. Kong et al. [9] presented a fuzzy prediction method to
model the uncertain workload and the vague availability of
virtualized server nodes by using the type-I and type-II fuzzy
logic systems. They also proposed an efficient dynamic task
scheduling algorithm named SALAF for virtualized data
centers.
VI. CONCLUSION
A key problem when provisioning virtual infrastructures is
how to deal with situations where the demand for resources.
Resource Provisioning is the mapping and scheduling of VMs
onto physical Cloud servers within a cloud. In this paper, we
presented design and implementation of resource provision
system for cloud data centers by using two provisioning
strategies based on time-shared allocation policy for both VMs
and tasks. The provisioning system is simulated and evaluated
with real world workload traces. The evaluation results show
that the proposed provisioning system achieve high utilization
of resources of the cloud data center.
REFERENCES
[1] http://www.cs.huji.ac.il/labs/parallel/workload/
[2] B. Sotomayor, R. S. Montero, I. M. Llorente, and I. Foster, “Virtual
infrastructure management in private and hybrid clouds,” IEEE Internet
Computing, 13(5):14_22, September/October, 2009.
[3] B. Sotomayor, R. S. Montero, I. M. Llorente, and I. Foster, “Virtual
infrastructure management in private and hybrid clouds,” IEEE Internet
Computing, 13(5):14_22, September/October, 2009.
[4] R. Buyya, A. Beloglazov, J. Abawajy, “Energy-Efficient Management
of Data Center Resources for Cloud Computing: A Vision, Architectural
Elements, and Open Challenges,” Proceedings of the 7th High
Computing and Simulation (HPCS 2009) Conference, Leipzig,
Germany, June 21-24,2009 [5] R. N. Calheiros, R. Ranjany, and R. Buyya, “Virtual Machine
Provisioning Based on Analytical Performance and QoS in Cloud
Computing Environments,” in Parallel Processing (ICPP), International
Conference September, 2011, pp. 295-304
[6] S. K. Garg, S. K. Gopalaiyengar, R. Buyya, “SLA-Based Resource
Provisioning for Heterogeneous Workloads in a Virtualized Cloud
Datacenter,” in Proceedings of the 11th International Conference on
Algorithms and Architectures for Parallel Processing (ICA3PP 2011),
Melbourne, Australia, October, 2011.
[7] T. Wood, P. J. Shenoy, A. Venkataramani, and M. S. Yousif, “Black-
box and gray-box strategies for virtual machine migration,”in NSDI,
2007.
[8] T. Z. Tun, T. Thein, “SLO Granted Elastic Resource Prediction in Cloud
Data Center,” International Journal of Information Engineering, Jeju
Island, Korea, December 2013.
[9] X. Kong, C. Lin, Y. Jiang, W. Yan, X. Chu, “Efficient dynamic task
scheduling in virtualized data centers with fuzzy prediction,” in Journal
of Network and Computer Applications, 34(4), 2010, 1068-1077.
[10] Z. Gong, X. Gu, and J. Wilkes, "PRESS: PRedictive Elastic ReSource
Scaling for cloud systems," in Proceeding of CNSM’10, Niagara Falls,
Canada, 2010, pp. 9-16.
3rd International Conference on Computational Techniques and Artificial Intelligence (ICCTAI'2014) Feb. 11-12, 2014 Singapore
50