10. Formulation : Stochastic Integer Programming Cost in first stage Cost in second stage Constraints Utilization constraint Demand constraint Capacity constraint Boundary constraint Objective Function Number of VMs of class allocated to provider under realization in utilization phase Number of VMs of class allocated to provider under realization in on-demand phase Number of VMs of class , reserved from provider Cost for reserving VMs of class from provider
11. Formulation: Deterministic Equivalence cost in the first stage cost in the second stage objective function constraints
- Cloud computing is a large scalable distributed system which provides a large pool of compute resources A resource can be software, storage, infrastructure, and software platform. Cloud computing consists of several cloud providers. - Cloud providers leverage virtualization technology to deliver resources to their consumers. Cloud consumers can provision those resources on-demand. The consumers can build their owned virtual machines. They can specify storage capacity and number of CPU cores for their VMs. Moreover, they can install required software stack to VMs. Then they can upload such virtual machines to run in cloud providers’ resources. - they can be charged by pay-per-use basis or pay-per-consumption. - Provisioned resources are elastic. They can be scaled up and scaled down to meet consumers’ demands.
Why do we need to reserve resources from cloud providers in advance ? Providers can offer consumers two payment plans for provisioning resources, reservation plan and on-demand plan. Prices to reserve resources in reservation plan is generally cheaper than that in on-demand plan. But the reserved resources in resr plan may not meet actual demand. Because we reserve resources before the actual demand and price in the future will be realized. Fortunately we can provision additional resources in on-demand plan to meet the actual demand. But again, the price in on-demand plan is more expensive and this price can be varied in the future. I state here again that both price and demand are uncertainty parameters. So we cannot perfectly reserve resources to fit the actual demand under demand uncertainty. And under price uncertainty, how we can reduce the total cost to be minimum. Under price and demand uncertainty, OVMP algorithm can optimally reserve resources from appropriate cloud providers and it can optimally allocate appropriate providers to host VMs The optimal solution of OVMP is obtained by formulating and solving stochastic integer programming.
In this figure, the system model of OVMP is presented. The model consists of 4 main components: user, cloud broker, VM repository, and cloud providers. The user can create a set of VMs. Then the user stores VMs to the VM repository. Cloud broker has built-in OVMP process. So it can choose the appropriate cloud provider for hosting VMs. OVMP process follows the OVMP algorithm, that’s why it can minimize the cost to provision resources from cloud providers. But before the broker can allocate the cloud providers, the user must specify the number of VMs which demand in this model.
- Each provider offers 4 kinds of resources, that is, computing power, storage, network bandwidth for data transfer, and electric power. The price of resource is flat rate. - We have a special term called “virtual machine class” or VM class VM class represents a distinct type of applications. For example, in one information system, there’re 3 applications: database server, web server, and email server. So in this case, there’re 3 VM classes. Each VM class may have different requirement of resources. For example, the database server requires more capacity storage than that in web server. In each VM class, the number of VMs depends on the demand from the user. That means the number of VMs of a certain VM class increases as the demand for the VM class is increased.
In OVMP, there’re 3 phases of resource provisioning ,that is, Reservation phase is to reserve cheaper resources in reservation plan. Utilization phase is to utilize the resources reserved in reservation phase On-demand phase is to provision more resources in on-demand plan. When we consider the time period of decision, there are two decision periods or decision stages. The first stage is the decision when OVMP is making a decision right now. This decision will give the optimal number of reserved resources. The second stage is the decision in the future when the actual price and actual demand are realized. This figure summarizes the whole idea of provisioning. In the first stage, OVMP optimally reserves VMs. In the second stage, the reserved resources are utilized. But the reserved resources may not meet the actual demand. So additional resources can be provisioned. In this second stage, OVMP will optimally allocate cloud providers to host VMs.
This slide introduces us why we need to care of uncertainty. There’re 3 cases of resource provisioning that can be happened when we make a decision Best provisioning: the resources are reserved. And in the future these resources will be perfectly fit the actual demand. For example, we assume storage is our only resource. Suppose we reserve N GBs of storage. Then the actual demand is N GBs. This means we don’t need to pay for expensive resources in on-demand plan. But in the real world, we cannot precisely know the future. So some problems possibly happen under uncertainty. Underprovisioning: this case happens when the reserved resources are insufficient. For example, we reserve only N GBs. Then in the future, the actual demand is 3N. So we must pay for 2N GBs in on-demand plan. And on-demand cost must be taken into account. Overprovisioning: the case happens when some reserved resources are underutilized, resources are reserved too much. For example, we reserve N GBs. In the future, actual demand is 50% of N. So the other 50% is underutilized. In this problem, oversubscribed cost must be taken into account.
An optimal solution used by OVMP is obtained by formulating and solving stochastic integer programming. This is the stochastic integer programming formulation used in OVMP. The objective function is to minimize the total cost of resource provisioning in both first and second stages. The omega here is the random parameter referring to price and demand uncertainty. The big Q function here is the cost function spending in the second stage given the number of reserved VMs. And these inequations are the constraints. To solve this formulation in practical, we convert this formulation into deterministic equivalent formulation which is this one (next page)
Why do we need to reserve resources from cloud providers in advance ? Providers can offer consumers two payment plans for provisioning resources, reservation plan and on-demand plan. Prices to reserve resources in reservation plan is generally cheaper than that in on-demand plan. But the reserved resources in resr plan may not meet actual demand. Because we reserve resources before the actual demand and price in the future will be realized. Fortunately we can provision additional resources in on-demand plan to meet the actual demand. But again, the price in on-demand plan is more expensive and this price can be varied in the future. I state here again that both price and demand are uncertainty parameters. So we cannot perfectly reserve resources to fit the actual demand under demand uncertainty. And under price uncertainty, how we can reduce the total cost to be minimum. Under price and demand uncertainty, OVMP algorithm can optimally reserve resources from appropriate cloud providers and it can optimally allocate appropriate providers to host VMs The optimal solution of OVMP is obtained by formulating and solving stochastic integer programming.
First the cost structure in both first and second stages is studied in a simple cloud computing environment which consists of only one cloud provider and one VM class. And the constraints which actually required by OVMP is ignored here. Obviously, when we reserve more resources, cost in first stage increases. while costs in second stage decreases because we don’t need to provision more resources in on-demand plan. From the total cost here, the optimal solution is this point (which 31 VMs are reserved). Although this is the simple environment, it is not trivial to obtain the optimal solution.
This evaluation, we study costs spent in different phases in a complex cloud computing environment. The probability distribution of actual demand follows a normal distribution. The optimal number of reserved VMS here, that is, 29 VMs are reserved in the first stage. In this point, there’re no on-demand cost and also oversubscribed cost. Given this optimal number of reserved VMs (29), we have two worst cases. First on the left side, oversubscribed cost is highest. And on the right side, on-demand cost is highest. Although there’re worst cases, they happen with the smallest probability. Compare to the cases around here (or optimal solution), they have chance to happen. So the costs around here are more reduced.
Here the effect of randomness in demand is investigated. The variance of normal dist for the demand is varied from 2 to 10. The mean of dist is fixed to 25.50. With larger variance, the number of reserved VMs increases. Due to the nature of normal, when variance grows larger, the chance that the demand will be smaller or larger than the mean is higher. In this evaluation, we also consider the effect of changing in price in on-demand plan. 1x is normal price (price that we have known). With fixed variance, as the price in on-demand plan increases, the number of reserved VMs increases as well. The result is OVMP reserves more VMs to avoid higher cost in on-demand plan. So if the price is too high like the pink line, the number of resv VMs increases higher.
Next we compare our OVMP based on SIP and the other approach called EVF. This EVF applies average value of stochastic parameters that is price and demand. Then it is solved by deterministic integer programming. We also consider different probability distribution and change in price in on-demand phase. We observe that under the same probability distribution (for example only the pink lines), when prices become higher, the total cost of EVF is much higher than that of SIP. Moreover, EVF cannot adapt to the change in price. But when price increases total cost in SIP becomes more saturate. Because OVMP will reserve more VMs to avoid higher cost in on-demand plan.