optimal virtual machine placement across multiple cloud providers
TRANSCRIPT
Optimal Virtual Machine Placement across Multiple Cloud Providers
Sivadon Chaisiri , Bu-Sung Lee, and Dusit NiyatoSchool of Computer EngineeringNanyang 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
3
• 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
4
Cloud Computing
Cloudprovider
Cloudprovider
Cloudprovider
Cloudprovider
Cloudprovider
Physical compute resources
Pool of resources
Cloudconsumer
Cloudconsumer
Cloudconsumer
Cloudconsumer
Cloudconsumer
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)
5
• 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
6
OVMP: Assumption
7
• 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
8
• 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]First stage Second stage
Reservation phase Utilization phase
On-demandphase
OVMP: 3 Possible Cases
9
On-demand cost > 0 Oversubscribed cost > 0
Formulation: Stochastic Integer Programming
10
Objective Function
Cost in first stageCost in second stage
Constraints
Number of VMs of class allocatedto provider under realizationin utilization phase
Number of VMs of class allocatedto provider under realizationin on-demand phase
Number of VMs of class, reserved from provider
Cost for reserving VMs of class from provider
Utilization constraint
Demand constraint
Capacity constraint
Boundary constraint
Formulation: Deterministic Equivalence
11
cost in the first stagecost 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)
Parameter Setting• Resources required by 3 VM classes (VM1, VM2, VM3)
13
VM1 VM2 VM3
CPU-hours 12 18 24
Storage (GBs/day)
20 5 10
Network bandwidth (GBs/day)
33.33
66.67
266.67• Resources offered by 4 cloud providers (P1, P2, P3, P4)
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• Prices defined by each provider (not shown here)
Evaluation: Numerical Studies
• Optimal solution in a simple environment
14
Optimal number of reserved VMs = 31
Evaluation: Numerical Studies
• Virtual machine placement in different phases
15
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
16
Evaluation: Numerical Studies• Comparison between OVMP (based on SIP) and EVF
17
SIP = Our stochastic integer programming formulationEVF = Expected-value formulation
Conclusion
18
• 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
Deterministic Integer Programming
20
Different Variances
21
Fixed mean = 25.50
Evaluation: Simulation• Simulation result
22
• When on-demand prices are doubled
Parameter Setting
• Prices defined by each cloud provider
23