|Yang Jin, email@example.com (A paper written under the guidance of Prof. Raj Jain)||Download|
With the advent of big data era, more and more developers or clients need access of powerful computing resources, memory or storage space. Clouds is the best option to address this problem. It offers high speed computing resources, memory and storage space for clients who pay for the services. Capacity planning for clouds is as important as for other applications because it determines the revenue of cloud provider. For cloud provider, the tradeoff between system availability and utilization is what capacity planning is focusing on. In this work, Cloud Prediction Cost (CPC) Model and Stochastic Model for Infrastructure-as-a-Service (IaaS) Cloud are introduced. First model is focusing on minimize penalty cost and idled cost. Second is focusing on minimize Physical Machines (PMs) running cost.
To address the capacity planning problem for cloud, [Jiang13] has developed a CPC model for cloud providers to predict the demands and prepare VMs in advance for clients.
For cloud provider companies, the utilization of all the system resources is the indication of revenues. And there are two types of cost that providers need to consider. When a application's capacity is being overestimated, the extra resources allocated will be wasted. Also, if it is being underestimated, a penalty violating Service Level Agreement(SLA) will be charged as well as the loss of potential revenue due to the shortage of resources. Future request will be postponed until resources are available. We need to find the best tradeoff between these costs to maximize revenues. To keep generality, we denote the resources needed at different time slot by the number of VMs being used. In this sense, let v(t) be the number of VMs being requested by clients at time t, and v'(t) be the numbers of VMs being provided for certain client. Our goal is to minimize the sum of prediction error in a period of service time, which can be written as:
In this equation, f() represents a cost function expressed by v(t) and v'(t).
As [Jiang13] described, a Cloud Prediction Cost (CPC) model is developed to quantify the prediction result quality. The total costs can be represented as:
Here β is used to tune the importance between two costs. P and R are functions representing the cost of SLA penalty and cost of idled resources. Take the capacity prediction scenario for example, if the workload of the cloud is low, the system operator can increase beta, and thus the cost measure focusing more on the SLA penalty.
To verify the effect of this model, a experiment is conducted in [Jiang13]. They partition the records into two parts: before May 2011 and after May 2011. Using the data before May 2011 for training, they can generate random β to predict capacity after May 2011 and verify with the original data. A significant drop off is shown from the result they have drawn using this model.
[Jiang13] combines data mining and a cost-sensitive CPC model together to address the problem we have at first. The experiment results shows that the approach is able to effectively improve the service quality and revenues.
According to last part, VMs is often used as a unit to measure the resources requested by clients. In an Infrastructure-as-a-Service (IaaS) Cloud, virtual machine (VM) instances share the physical machines (PMs) in the provider's data center [Ghosh13]. As the VM resources are request by clients, what the provider should be concerned is how to allocate certain VM resources into certain PMs to achieve a lower cost. Since the provider will be running numerous PMs, a optimal capacity planning will result in minimize cost of power consumption, cooling costs, etc.
Among all the PMs, we could divide them into three pools: hot (running), warm (turned on, but not ready), and cold (turned off). Generally PMs are maintaining at its own status. A request submitted to system can be assigned to a certain pool by Resource Provisioning Decision Engine (RPDE). A VM request can be brought to a running PM (hot PM) with minimum provisioning delay. If no hot PM is available, a PM from warm pool will respond to the request with medium provisioning delay. If all warm PMs are busy, a PM from cold pool will respond to the request with longest provisioning delay. If all PMs are busy at this time, the request will be rejected or queued (waiting to be served). When finishing a job, the capacity will be released and ready to response to new request. We can develop three separate sub-models to simulate their own behavior and the interacting behavior. More details can be found in [Ghosh13].
The system models are given separately for hot pool, warm pool and cold pool based on stochastic reward net (SRN) to describe the failure, repair and migration behaviors of the PM pools. These sub-models allows us to compute measures of interest.
For hot pool, we have the input parameters as listed [Ghosh13]:
1. Initial number of PMs in hot pool (nh);
2. Hot PM failure rate (λh);
3. Hot PM repair rate;
4. Number of repair facilities in the hot pool (nr);
5. Migration rates from warm and cold pool to hot pool;
6. Steady state probabilities to have at least one PM available in warm and cold pool;
We can see that the parameters for each sub-model also concern the interaction of each sub-model. Similar model can be devised for warm pool and cold pool. More details about the availability sub-models can be found in [Longo11].
[Ghosh13] presents a stochastic model driven approach for joint optimization of cost and capacity in an IaaS Cloud environment. It mainly address the problem of assigning certain VM request to a PM to achieve a high response speed while maintaining a low cost. Results show that this approach is faster compared to a naive search algorithm while optimizing the solution.
In this work, two capacity planning models are briefly introduced to minimize costs for cloud provider. Cloud Prediction Cost (CPC) Model is mainly used to find a equilibrium to minimize the total cost of penalty and idled cost. It addresses the problem of satisfying the resources need of clients while maintaining a lowest cost. Stochastic Model for Iaas Cloud is focused on minimizing the operating expenses of physical machines including power consumption, cooling costs, etc. It optimize the process of assigning VMs to PMs while maintaining a high response speed and low operating expenses.
CPC: Cloud Prediction Cost
PM: Physical machines
VM: Virtual machines
RPDE: Resource Provisioning Decision Engine