You are on page 1of 23

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
PresentedinIEEEAsia-PacificServicesComputingConference(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

3
Introduction: Cloud Computing
Hardware
Software
Pool of resources
infrastructure Cloud Computing
• Large distributed system
Physical compute resources
• Large pool of resources
Storage Network
• Multiple providers
• Virtualization
Cloud
provider
Cloud
provider
Cloud
provider
Cloud
provider
Cloud
provider • Internet access
• Pay-per-use basis
Cloud Computing
• On-demand provisioning

Cloud Cloud Cloud Cloud Cloud
consumer consumer consumer consumer consumer

4
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

5
OVMP: System Model Diagram

6
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

7
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]
First stage Second stage

Utilization On-demand
Reservation phase
phase phase

8
OVMP: 3 Possible Cases

On-demand cost > 0 Oversubscribed cost > 0

9
Formulation: Stochastic Integer Programming

Objective Function

Utilization constraint
Cost
Cost
in first
in second
stage stage
Demand constraint
Number of VMs of class
, reserved from provider
Cost for reserving VMs of
Capacity
class constraint
from provider

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

10
Formulation: Deterministic Equivalence
cost in the second
first stage
stage
objective
function

constraints

11
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)

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

Network 33.33 66.67 266.67
bandwidth
• Resources offered
(GBs/day) 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 6.67 6.67 6.67 6.67
• Prices(GBs/day)
defined by each provider (not shown here)

13
Evaluation: Numerical Studies
• Optimal solution in a simple environment

Optimal number of reserved VMs = 31

14
Evaluation: Numerical Studies
• Virtual machine placement in different phases

Optimal number of reserved VMs = 29
* Total cost = Reservation cost + Utilization cost + On-demand cost

15
Evaluation: Numerical Studies
• Total cost under different variances and prices

16
Evaluation: Numerical Studies
• Comparison between OVMP (based on SIP) and EVF

SIP = Our stochastic integer programming formulation
EVF = Expected-value formulation

17
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

18
Thank you

Contact us – siva0020@ntu.edu.sg

19
Deterministic Integer Programming

20
Different Variances

Fixed mean = 25.50

21
Evaluation: Simulation
• Simulation result

• When on-demand prices are doubled

22
Parameter Setting
• Prices defined by each cloud provider

23