Optimal Virtual Machine Placement across Multiple Cloud Providers Sivadon Chaisiri  , Bu-Sung Lee, and Dusit Niyato School of Computer Engineering Nanyang Technological University, Singapore Tuesday, December 8, 2009 Presented in IEEE Asia-Pacific Services Computing Conference (APSCC), Singapore
Outline Introduction Optimal Virtual Machine Placement System Model Problem Formulation Performance Evaluation Conclusion
Introduction: This Paper Virtual machine placement  Allocate a virtual machine (VM) to a physical machine Cloud computing – (public) utility service Cloud providers e.g., Amazon, Google, Microsoft, Salesforce etc. Leveraging virtualization e.g., Infrastructure-as-a-Service (IaaS) IaaS Providers e.g., Amazon, GoGrid, FlexiScale, Redplaid, … Our Work – Optimal Virtual Machine Placement (OVMP) Optimally allocate VMs to cloud providers Optimally advance reserve resources Also consider uncertainty of demands and prices
Introduction: Cloud Computing Software Storage Hardware  infrastructure Network Cloud Computing Large distributed system Large pool of resources Multiple providers Virtualization Internet access Pay-per-use basis On-demand provisioning
Optimal Virtual Machine Placement  (OVMP) Based on Infrastructure-as-a-Service (IaaS) Two payment plans to provision resources Reservation plan:  cheaper but may not meet actual demand On-demand plan: dynamically provisioning resources e.g., Amazon EC2 and GoGrid Under price and demand uncertainty,  OVMP algorithm can minimize the cost spending in each plan Optimally reserve resources Optimally allocate VMs to cloud providers OVMP is achieved by stochastic integer programming with two stage recourse
OVMP: System Model Diagram
OVMP: Assumption Provided resources: computing power, storage, network bandwidth, and electric power Price in the reservation plan is cheaper than that in the on-demand plan VM class represents a distinct type of applications Each VM class has different resource requirement The number of VMs in each VM class depends on the demand from the user Reserved VMs = reserved resources to execute a certain number of VMs
OVMP: Three Provisioning Phases First stage Reservation phase  = reserve cheaper resources in advance Second stage Utilization phase  = utilize the reserved resources  On-demand phase  = pay for additional resources [optimal reservation] [optimal allocation]
OVMP: 3 Possible Cases On-demand cost > 0 Oversubscribed cost > 0
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
Formulation:  Deterministic Equivalence cost in the first stage cost in the second stage objective function constraints
Evaluations Numerical studies – solving in NEOS server Simulation – simulating by MATLAB Assumption 4 cloud providers and 3 VM classes Required number of VMs is the same for all VM classes Required number of VMs = {1,2, …, 50} Probability distributions = normal dist., uniform dist., and dist. from test data * Performance Evaluation *  Test data was obtained from Institute of High Performance Computing (IHPC)
Parameter Setting Resources required by 3 VM classes (VM1, VM2, VM3) Resources offered by 4 cloud providers (P1, P2, P3, P4) Prices defined by each provider (not shown here) VM1 VM2 VM3 CPU-hours 12 18 24 Storage (GBs/day) 20 5 10 Network bandwidth (GBs/day) 33.33 66.67 266.67 P1 P2 P3 P4 CPU-hours 480 480 1,200 1,200 Storage (GBs/day) 1,000 1,000 1,000 1,000 Network bandwidth (GBs/day) 6.67 6.67 6.67 6.67
Evaluation: Numerical Studies Optimal solution in a simple environment Optimal number of reserved VMs = 31
Evaluation: Numerical Studies Virtual machine placement in different phases Optimal number of reserved VMs = 29 *  Total cost = Reservation cost + Utilization cost + On-demand cost
Evaluation: Numerical Studies Total cost under different variances and prices
Evaluation: Numerical Studies Comparison between OVMP (based on SIP) and EVF SIP = Our stochastic integer programming formulation EVF = Expected-value formulation
Conclusion We propose OVMP to tackle complexity and uncertainty to provision resources in the cloud  With OVMP, the tradeoff between the advance reservation and the allocation of on-demand resources is adjusted to be optimal Future work: OVMP with multiple decision stages
Thank you Contact us –  [email_address]
Deterministic Integer Programming
Different Variances Fixed mean = 25.50
Evaluation: Simulation Simulation result When on-demand prices are doubled
Parameter Setting  Prices defined by each cloud provider

Optimal Virtual Machine Placement across Multiple Cloud Providers

  • 1.
    Optimal Virtual MachinePlacement across Multiple Cloud Providers Sivadon Chaisiri , Bu-Sung Lee, and Dusit Niyato School of Computer Engineering Nanyang Technological University, Singapore Tuesday, December 8, 2009 Presented in IEEE Asia-Pacific Services Computing Conference (APSCC), Singapore
  • 2.
    Outline Introduction OptimalVirtual Machine Placement System Model Problem Formulation Performance Evaluation Conclusion
  • 3.
    Introduction: This PaperVirtual machine placement Allocate a virtual machine (VM) to a physical machine Cloud computing – (public) utility service Cloud providers e.g., Amazon, Google, Microsoft, Salesforce etc. Leveraging virtualization e.g., Infrastructure-as-a-Service (IaaS) IaaS Providers e.g., Amazon, GoGrid, FlexiScale, Redplaid, … Our Work – Optimal Virtual Machine Placement (OVMP) Optimally allocate VMs to cloud providers Optimally advance reserve resources Also consider uncertainty of demands and prices
  • 4.
    Introduction: Cloud ComputingSoftware Storage Hardware infrastructure Network Cloud Computing Large distributed system Large pool of resources Multiple providers Virtualization Internet access Pay-per-use basis On-demand provisioning
  • 5.
    Optimal Virtual MachinePlacement (OVMP) Based on Infrastructure-as-a-Service (IaaS) Two payment plans to provision resources Reservation plan: cheaper but may not meet actual demand On-demand plan: dynamically provisioning resources e.g., Amazon EC2 and GoGrid Under price and demand uncertainty, OVMP algorithm can minimize the cost spending in each plan Optimally reserve resources Optimally allocate VMs to cloud providers OVMP is achieved by stochastic integer programming with two stage recourse
  • 6.
  • 7.
    OVMP: Assumption Providedresources: computing power, storage, network bandwidth, and electric power Price in the reservation plan is cheaper than that in the on-demand plan VM class represents a distinct type of applications Each VM class has different resource requirement The number of VMs in each VM class depends on the demand from the user Reserved VMs = reserved resources to execute a certain number of VMs
  • 8.
    OVMP: Three ProvisioningPhases First stage Reservation phase = reserve cheaper resources in advance Second stage Utilization phase = utilize the reserved resources On-demand phase = pay for additional resources [optimal reservation] [optimal allocation]
  • 9.
    OVMP: 3 PossibleCases On-demand cost > 0 Oversubscribed cost > 0
  • 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: DeterministicEquivalence cost in the first stage cost in the second stage objective function constraints
  • 12.
    Evaluations Numerical studies– solving in NEOS server Simulation – simulating by MATLAB Assumption 4 cloud providers and 3 VM classes Required number of VMs is the same for all VM classes Required number of VMs = {1,2, …, 50} Probability distributions = normal dist., uniform dist., and dist. from test data * Performance Evaluation * Test data was obtained from Institute of High Performance Computing (IHPC)
  • 13.
    Parameter Setting Resourcesrequired by 3 VM classes (VM1, VM2, VM3) Resources offered by 4 cloud providers (P1, P2, P3, P4) Prices defined by each provider (not shown here) VM1 VM2 VM3 CPU-hours 12 18 24 Storage (GBs/day) 20 5 10 Network bandwidth (GBs/day) 33.33 66.67 266.67 P1 P2 P3 P4 CPU-hours 480 480 1,200 1,200 Storage (GBs/day) 1,000 1,000 1,000 1,000 Network bandwidth (GBs/day) 6.67 6.67 6.67 6.67
  • 14.
    Evaluation: Numerical StudiesOptimal solution in a simple environment Optimal number of reserved VMs = 31
  • 15.
    Evaluation: Numerical StudiesVirtual machine placement in different phases Optimal number of reserved VMs = 29 * Total cost = Reservation cost + Utilization cost + On-demand cost
  • 16.
    Evaluation: Numerical StudiesTotal cost under different variances and prices
  • 17.
    Evaluation: Numerical StudiesComparison between OVMP (based on SIP) and EVF SIP = Our stochastic integer programming formulation EVF = Expected-value formulation
  • 18.
    Conclusion We proposeOVMP to tackle complexity and uncertainty to provision resources in the cloud With OVMP, the tradeoff between the advance reservation and the allocation of on-demand resources is adjusted to be optimal Future work: OVMP with multiple decision stages
  • 19.
    Thank you Contactus – [email_address]
  • 20.
  • 21.
  • 22.
    Evaluation: Simulation Simulationresult When on-demand prices are doubled
  • 23.
    Parameter Setting Prices defined by each cloud provider

Editor's Notes

  • #5 - 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.
  • #6 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.
  • #7 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.
  • #8 - 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.
  • #9 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.
  • #10 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.
  • #11 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)
  • #13 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.
  • #15 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.
  • #16 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.
  • #17 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.
  • #18 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.