By leveraging cloud computing such as Infrastructure as a Service (IaaS), the outsourcing of computing resources used to support operations, including servers, storage, and networking components, is quite beneficial for various providers of Internet application. With this increasing trend, resource allocation that both assures QoS via Service Level Agreement (SLA) and avoids overprovisioning in order to reduce cost becomes a crucial priority and challenge in the design and operation of complex service-based platforms such as streaming service. On the other hand, providers of IaaS also concern their profit performance and energy consumption while offering these virtualized resources. In this paper, considering both service-oriented and infrastructure-oriented criteria, we regard this resource allocation problem as Multicriteria Decision Making problem and propose an effective trade-off approach based on goal programming model. To validate its effectiveness, a cloud architecture for streaming application is addressed and extensive analysis is performed for related criteria. The results of numerical simulations show that the proposed approach strikes a balance between these conflicting criteria commendably and achieves high cost efficiency.
As an emerging technology, cloud computing combines various computing paradigms and provides main service models which are known as SaaS (Software as a Service), PaaS (Platform as a Service), and IaaS (Infrastructure as a Service). Among these three service models, IaaS arouses the outsourcing trend of IT infrastructure by provisioning fundamental computing resources where the consumers are able to deploy and run the desired applications as specific services. Most of the IaaS consumers are providers of Internet application hosting complex service-based platforms. Those service platforms require efficient resource allocation to ensure their particular QoS (Quality of Service) which is usually specified in SLA (Service Level Agreement) and meanwhile prevents overprovisioning in order to reduce operating costs. On the other hand, providers of IaaS also concern their profit performance and energy consumption while providing these virtualized resources. Therefore in this paper, a cloud architecture for streaming service platform is addressed and an efficient resource brokering approach based on the analysis of both objectives is proposed.
Inheriting the essence of distributed and parallel characteristics in grid computing and with the growth of virtualization as well as developed web services technologies, cloud computing becomes the most promising computing and service paradigm. The National Institute of Standards and Technology (NIST) has released the definition of it [
Indubitably, the most significant core in cloud computing technologies is virtualization [
However, this outsourcing trend arises a key issue of resource allocation owing to pay-per-use business model of IaaS like Table
Amazon EC2 pricing table.
Linux/UNIX usage | Windows usage | |
---|---|---|
Standard on-demand instances | ||
Small (default) |
|
|
Large |
|
|
Extra large |
|
|
Micro on-demand instances | ||
Micro |
|
|
Hi-memory on-demand instances | ||
Extra large |
|
|
Double extra large |
|
|
Quadruple extra large |
|
|
Hi-CPU on-demand instances | ||
Medium |
|
|
Extra large |
|
|
Consumers pay for compute capacity by the hour with no long-term commitments. This frees consumers from the costs and complexities of planning, purchasing, and maintaining hardware and transforms what are commonly large fixed costs into much smaller variable costs. The pricing in Table
The concept is from Utility Computing and Services Computing. In fact, after water, electricity, gas, and telephony, there is an increasingly perceived vision that computing will be the 5th utility one day. Thus, a resource provisioning mechanism that both prevents underprovisioning in order to assure QoS via Service Level Agreement (SLA) and avoids overprovisioning so as to reduce cost becomes a crucial priority and challenge in the design and operation of complex service-based platforms such as streaming service. On the other hand, cloud infrastructure providers also concern their profit performance and energy consumption. Profit performance is the profitability. Sustaining profitability and growth is the main target for these companies and corporations. Energy consumption is a critical topic not only in environmental issues but also in reducing operating costs for electricity. Those criteria for both service-based platforms and cloud infrastructure providers are important and may be conflicting.
In this paper, contemplating both service-oriented and infrastructure-oriented criteria, we regard this resource allocation problem as Multicriteria Decision Making problem. Our intention is to design a trade-off based strategy and propose an effective resource provisioning algorithm for an autonomous resource broker in the cloud, as shown in Figure
Overview of resource brokering for streaming service in the cloud.
The rest of this paper is organized as follows. In Section
There are many research papers probing into resource allocation and provisioning in cloud computing. Here we can sum up the three main steps of resource allocation in cloud.
Evaluate and define a mapping between service level requirements and resource level requirements. Service level requirements are generally defined in SLA based on specific parameters such as availability, response time. Resource level requirements are often outlined as cores, memory, bandwidth, and so forth. This step also requires performance and capacity modeling.
This is the main step of the whole resource allocation in cloud since the determination of the number of cloud resources such as virtual machines reflects not only the efficiency about the utilization, QoS, and operating cost of cloud infrastructure consumers but also the performance and profit of cloud infrastructure providers.
Distributing the virtualized resources allocated in data center into the physical machines. In general, this step is defined as a Knapsack Problem or Bin Packing Problem. This step takes data center utilization, the migration overhead, and so forth, into account and needs further studies as well as analysis for virtualization.
Reference [
Based on [
SLA parameters are specified by metrics and usually included in a SLA parameters table. Metrics define how service parameters can be measured and are typically functions. There are at least two major types of metrics: (1) Resource metrics are retrieved directly from the provider resources and are used as is without further processing. (2) Composite metrics represent a combination of several resource metrics, calculated according to a special algorithm.
As shown in Figure
Cloud architecture for streaming service.
Note that those specific VM types are designed for VoD streaming services by the streaming service platform. Thus the mapping to VM instances of the IaaS providers as in Table
In our proposed cloud streaming service model, there is a resource pool,
Based on the analysis of operations for streaming service, we outline three VM types as described above and an ideal resource mapping between the host application and their requirement for these types of VMs. Each VM type possesses varied price, PRI, and different capacity, CAP. The former is the cost of the streaming service platform to run a single VM for the duration, for example, $0.075 per hour for
At any given time, there is a set of requests
All request arrival rates follow different distributions. And each type of request possesses diverse execution time based on their characteristics as follows: Characteristics of Characteristics of Characteristics of
Further numerical details about arrival rates and execution time distributions of requests will be discussed in Section
Although streaming is a well-developed application for the Internet, it can still be enhanced by leveraging the cloud technology such as parallel and distributed computing. Also, requests of a streaming service are quite varied in their resource requirements and execution time and this feature definitely fits in with the characteristics of on-demand and rapid elasticity in the cloud. These observations lead us to study streaming service as the service platform model. As illustrated in Figure
Figure
A composite web service.
Startup latency in streaming.
The so-called server striping [
Reduce startup latency by server striping.
As mentioned in Section
SLA parameters table.
SLA parameter | Constraint |
---|---|
Utilization | utilIVM ≧ constraint_utilIVM |
|
|
Availability | AvailIVM ≧ constraint_AvailIVM |
|
|
Response time | rt ≦ constraint_rt |
|
|
Startup latency | sl ≦ constraint_sl |
|
|
Transcoding efficiency | te ≦ constraint_te |
The
Our main intention here is to derive functions to evaluate only the energy consumption of running physical machines for IaaS providers based on (
For services of TVM, per-user energy consumption model for Processing as a Service is adopted on the following basis (
The above per-user energy consumption (watt hours)
The user’s PC is used on average 40 h/week for common office tasks (factor of 40 in first term). A factor of 1.5 is included in the second term to account for the energy consumed to cool the computation servers as well as other over heads. In the third term,
Here again the first term
Assume
Multicriteria Decision Making (MCDM) is a mathematical programming discipline under multiple objectives. It has emerged as a powerful tool to assist in the process of searching for decisions which best satisfy a multitude of conflicting objectives, and there are a number of distinct methodologies for multicriteria decision-making problems that exist. These methodologies can be categorized in a variety of ways, such as form of model (e.g., linear, nonlinear, and stochastic), characteristics of the decision space (e.g., finite or infinite), or solution process (e.g., prior specification of preferences or interactive). There are already many developed MCDM methods in use today and goal programming is one of the most popular and well-known techniques among them.
Goal programming (GP) is a multiobjective optimization technique which can cope with Multicriteria Decision Making problems. The essence of GP consists in the concept of satisfying of objectives. In fact, real-world problems invariably involve nondeterministic systems for which a variety of conflicting, noncommensurable objectives exist [
GP models can be classified into two major subsets [
In preemptive GP, the deviational variables are assigned into a number of priority levels and minimized in a preemptive way. The formulation of a preemptive GP is given as follows:
In this model,
The resource allocation/provisioning problem in our autonomous resource broker is to judge the quantity of IVMs, TVMs, and SVMs while deliberating upon those conflicting criteria. Let
The equations above from (
From the perspective of the streaming service platform,
In general, for each priority level, our goal programming approach identifies basic feasible solutions and refines them iteratively using Simplex algorithm to achieve the best possible compromise solution. The detailed procedure is illustrated in Figure
The goal programming procedure.
We seek to minimize the nonachievement of the goals or constraints by minimizing specific deviation variables. Before the simplex method can be used to solve, all the objective functions must be converted into an equivalent functions in which all constraints are equations and all variables are nonnegative. The way of adding the deviational variables and converting objective functions into standard form can be summarized in Table
Object function reform.
Goal or constraint | Objective function | Deviational variables to be minimized |
|
||
|
|
|
|
|
|
|
|
|
Reference [
Let Solve priority level Set The end of the loop and the solution vector, associated with the last single objective model solved, is the optimal vector for the original goal programming model.
The simplex method/algorithm is a well-known algorithm of solving linear programming problems. It is created by George Dantzig in 1947 and used for planning and decision-making in large-scale enterprises. Based on chapter 4 of [
Convert the linear programming problem to the standard form.
Obtain a BFS (basic feasible solution) from the standard form.
Determine whether the current BFS is optimal. If current BFS is not optimal, go to Step
If the current BFS is not optimal, then find a new BFS with a better objective function value. Then go to Step
The concept of this algorithm is derived from the name “simplex.” Simplex is a generalization of the notion of a triangle or tetrahedron to arbitrary dimension and the geometrical interpretation of the behavior of simplex algorithm is that its search procedure follows a simplex and essentially starts from some initial corner point and then follows a path along the edges of the feasible region towards an optimal corner point. Note that all the intermediate corner points visited are improving (more precisely, not worsening) the objective function.
In this section, six criteria are considered and evaluated, namely, Utilization of three types of VMs,
We use MATLAB R2010a as our simulation tool and the settings of parameters are shown in Table
Simulation parameters.
Parameter | Value |
|
|
Simulation time | 24 hours (mean of 300 days) |
|
|
|
100 requests |
|
|
|
|
|
|
|
0.8 ms |
|
|
|
600 frames |
|
|
|
1.7 |
|
|
|
10 kWh |
For
Based on the utility model of [
We use this utility-based pricing model in comparison with our proposed goal programming approach in the simulation.
The platform utilization of IVM, SVM, and TVM during the simulation hours is shown in Figure
(a) Resource utilization of streaming service platform for IVM. (b) Resource utilization of streaming service platform for SVM. (c) Resource utilization of streaming service platform for TVM.
For utility-based model, the slope of platform utilization of IVM, SVM, and TVM during the simulation hours is more gradual than GP. We can see that
Figure
Response time of IVM.
Utility-based model has a steep slope compared with GP. And the response time of utility-based model rises to almost 6 and 4.5 milliseconds during normal and off-peak period while the response time of GP is around 3.5 milliseconds (slightly higher during off-peak and normal but lower during peak period) most of the time. Obviously the response time of GP is always better than utility-based model and achieves the goal of constraint_rt mostly. Compared with Figure
Figure
Startup latency of SVM.
Similarly, utility-based model has a steep slope compared with GP. The startup latency of utility-based model rises to almost 2 and higher than 1 seconds during normal and off-peak period while the startup latency of GP is around 0.9 milliseconds (again slightly higher during off-peak and normal but lower during peak period) most of the time. We can conclude that the startup latency of GP is always better than utility-based model and achieves the goal of constraint_sl mostly. And compared with Figure
The
Transcoding efficiency of TVM. Energy consumption and profit performance.
Both utility-based model and GP have gradual slopes. The transcoding efficiency of utility-based model is at almost 2.5 while the transcoding efficiency of GP is above 4. Clearly the transcoding efficiency of GP is always better than utility-based model and can achieve the goal of constraint_te all the time.
Here we show the results of energy consumption and profit performance in Figures
Energy consumption.
Profit performance.
The energy consumption of utility-based model is always lower than GP which indicates that the amount of IVM, SVM, and TVM of utility-based model is less than GP and so is the number of the host physical machines. That is to say, GP always tends to allocate more resources in order to maintain
In this paper, we have addressed the problem of resource brokering between the streaming service platform and the cloud infrastructure provider considering both service-oriented and infrastructure-oriented criteria. An effective resource provisioning algorithm for an autonomous resource broker in the cloud is proposed and the core mechanism of this broker is obtained by formulating and solving a goal programming model. This resource broker manages the provisioning of cloud resources between the streaming service platform and the cloud infrastructure provider based on not only the number of incoming requests for the various services of the streaming platform but also both the service-oriented criteria which are in the form of SLA and infrastructure-oriented criteria. Also, a cloud architecture for the streaming service is proposed and extensive analysis is performed for related criteria. The simulation results show that the proposed approach makes an effective trade-off between these conflicting criteria commendably and achieves our goals of QoS.
For the future work, we hope that the approaches proposed in our work can further be practiced and applied to a real cloud environment, for example, being implemented as a decision making system used to make decision plans for efficiently provisioning resources considering multiple criteria for both cloud infrastructure providers and their customers. Also for resource brokering, there are still many performance issues that need further analysis in more complex deployment models like hybrid cloud.
Resource pool comprising a set of physical machines
The number of VMs that a single PM can host
Interaction virtual machine
Streaming virtual machine
Transcoding virtual machine
The amount of IVM
The amount of SVM
The amount of TVM
The cost to run a single IVM for a duration
The cost to run a single SVM for a duration
The cost to run a single TVM for a duration
Maximum capacity of a single IVM for a duration
Maximum capacity of a single SVM for a duration
Maximum capacity of a single TVM for a duration
A set of platform clients’ requests
The tasks which are ran by their specific VM hosts
A subset of
A subset of
A subset of
Average resource utilization of all IVMs
Average resource utilization of all SVMs
Average resource utilization of all TVMs
Average availability of IVM during a time period
Average availability of SVM during a time period
Average availability of TVM during a time period
Response time of IVM services
Startup latency of SVM services
Transcoding efficiency of TVM services
Energy consumption of all IVMs
Energy consumption of all SVMs
Energy consumption of all TVMs
Overall energy consumption of these VMs
Profit performance evaluated by the allocated VMs.
The authors declare that there is no conflict of interests regarding the publication of this paper.
This work was supported by the Ministry of Science and Technology under Grant MOST 103-2221-E-309-004.