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
P s n dinIE EAia a ificS rv e Cmu gCn re c (A S C S g p re re e te E s -P c e ic s o p tin o fe n e P C ), in a o

• • • • • • 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 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, … Optimally allocate VMs to cloud providers Optimally advance reserve resources Also consider uncertainty of demands and prices

• Cloud computing – (public) utility service

• Our Work – Optimal Virtual Machine Placement (OVMP)


Introduction: Cloud Computing
Pool of resources
Physical compute resources

Hardware infrastructure

Cloud Computing
• • • • • • • Large distributed system Large pool of resources Multiple providers Virtualization Internet access Pay-per-use basis On-demand provisioning



Cloud provider

Cloud provider

Cloud provider

Cloud provider

Cloud provider

Cloud Computing

Cloud consumer

Cloud consumer

Cloud consumer

Cloud consumer

Cloud consumer


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 Utilization phase = utilize the reserved resources On-demand phase = pay for additional resources [optimal reservation]
First stage

• Second stage

[optimal allocation]
Second stage Utilization On-demand phase phase

Reservation phase


OVMP: 3 Possible Cases

On-demand cost > 0

Oversubscribed cost > 0


Formulation: Stochastic Integer Programming
Objective Function Cost in firstDemandstage Cost in second constraint stage
Number of VMs of class , reserved from provider Cost for reserving VMs of class from provider Capacity constraint

Utilization constraint


Number of VMs of class allocated to provider under realization in utilization phase on-demand phase

Boundary constraint


Formulation: Deterministic Equivalence
cost in the second stage first stage

objective function



Performance Evaluation
• 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*

* Test data was obtained from Institute of High Performance Computing (IHPC)


• Resources required by 3 VM classes (VM1, VM2, VM3)
VM1 CPU-hours Storage (GBs/day) Network bandwidth Resources offered (GBs/day) CPU-hours Storage (GBs/day) 12 20 VM2 18 5 VM3 24 10

Parameter Setting

33.33 66.67 266.67

by 4 cloud providers (P1, P2, P3, P4)
P1 480 P2 P3 P4 480 1,200 1,200

1,000 1,000 1,000 1,000

Network bandwidth 6.67 6.67 6.67 6.67 Prices defined by each provider (not shown here) (GBs/day)


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

• 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 – siva0020@ntu.edu.sg


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