optimal placement

advertisement
OPTIMAL PLACEMENT OF
VIRTUAL MACHINES WITH
DIFFERENT PLACEMENT
CONSTRAINTS IN IAAS CLOUDS
LEI SHI, BERNARD BUTLER, RUNXIN WANG, DMITRI
BOTVICH AND BRENDAN JENNINGS
Adviser: Frank,Yeong-Sung Lin
Present by Chris Chang
AGENDA
Introduction
 Related Work
 Integer Linear Programming Formulation
 Performance Evaluation
 Conclusion and Future Work

AGENDA
Introduction
 Related Work
 Integer Linear Programming Formulation
 Performance Evaluation
 Conclusion and Future Work

INTRODUCTION
Cloud computing is becoming a general utility
(like electricity or piped water) that provides ondemand resource leases as transparent services
to the user.
 Cloud computing provides a variety of services
ranging from web search, online social
networking and online office applications, to IT
infrastructure outsourcing.

INTRODUCTION

These services are generally categorized as :
Infrastructure as a Service (IaaS)
 Platform as a Service (PaaS)
 Software as a Service (SaaS)
 Everything as a service (XaaS)

INTRODUCTION
In a data center a group of servers is provided
and multiple requests for VMs need to be placed
in these servers.
 Each request has a list of the number of different
VM types, along with a placement constraint.
 For example :

A request for services requiring high-level fault
tolerance has an anti-collocation placement
constraint.
 A request for data safety-sensitive services
requires hardware-based security.

INTRODUCTION
When there is a profit associated with each
allocated VM…
 The goal of this paper is to maximize the total
profit of the VMs assigned to the servers, while
ensuring that the placement is feasible in respect
of the server capacity and placement constraints.

INTRODUCTION
Most research focuses on selected aspects of
placement optimization including server
consolidation, migration costs or placement
restrictions.
 However, considerations such as revenue
maximization, multiple requests that each
contains a list of the number of different VM
types, and mixture of different placement
constraints associated with these requests are
rarely considered together.

INTRODUCTION
Our approaches address the problem of
predicting the optimized allocation of VM sets,
which enables the cloud provider to have a better
understanding of revenue and operational
considerations before negotiating SLAs with
groups of customers.
 Given a typical mix of customer demands for
virtualized computing resources, our approach
formulates this resource allocation problem as an
integer linear programming (ILP) problem.

INTRODUCTION
The ILP model produces an optimal placement
for VMs with different placement constraints.
 The performance of the algorithm is evaluated by
means of numerical experiments.

AGENDA
Introduction
 Related Work
 Integer Linear Programming Formulation
 Performance Evaluation
 Conclusion and Future Work

RELATED WORK

The problem outlined in this paper is closely
related to the vector bin packing problem.


the resources used by each item (e.g., CPU and
memory) are “additive in each dimension”
In [12], the authors claim that for the large
dimensional vector bin packing problem, no
practical algorithms better than variants of (firstfit decreasing) FFD have been found.
RELATED WORK
In Urgaonkar’s work [11], they consider
maximizing the number of placed applications,
where each application comprise a set of
application components that should be placed in
full on a cluster of servers.
 They also considered anti-collocation placement
constraints for failure tolerance purpose.

RELATED WORK
In Breitgand’s work [3],they also consider
maximizing the IaaS provider profit from service
provisioning obtained from the placed VMs, while
respecting placement constraints and resource
capacity constraints.
 A direct integer programming formulation is
proposed to obtain the exact solutions
 However, in [3] only full deployment and anticollocation constraints are considered not
hardware-based security placement constraint

AGENDA
Introduction
 Related Work
 Integer Linear Programming Formulation
 Performance Evaluation
 Conclusion and Future Work

INTEGER LINEAR PROGRAMMING
FORMULATION
We are given a set H of h physical hosts and n
VM provisioning requests.
 Each request
is associated with a placement
constraint k and contains
VMs, s ∈ [1 ..n ],
representing the demands of various customers.

INTEGER LINEAR PROGRAMMING
FORMULATION

Table 1 lists the four placement constraint types
(best-effort, security, anti-collocation and full
deployment) together with the feasible pairs of
constraint types that may be applied together in
any VM request set.
INTEGER LINEAR PROGRAMMING
FORMULATION
Each VM l of request
has size
and value
to the cloud provider when it is assigned to
physical host i.
 Each physical host i has a d-dimensional capacity
c ( i ) in terms of CPU, memory, network
bandwidth, etc.

INTEGER LINEAR PROGRAMMING
FORMULATION
For each VM l of request , there are two (0,1)valued decision variables :

:
= 1 indicates that VM l is assigned to
physical host i and
= 0 otherwise.

:
= 1 means request
is included into
the placement, 0 means that for all VMs l
belonging to this request
, all
are zero.

INTEGER LINEAR PROGRAMMING
FORMULATION

The purpose of the integer programming
formulation for the VM placement problem is to
maximize the objective which is the sum of values
(where each value is the revenue per hour per
allocated VM).
INTEGER LINEAR PROGRAMMING
FORMULATION
The full deployment (β) constraint ensures that
the total revenue of a given VM subset is the sum
of the revenues of all its constituent VMs if the
whole subset is placed; otherwise its value is zero.
 The anti-collocation (γ) constraint requires (for
fault tolerance purposes) that every VM of a
given subset should be assigned to a different
physical server.

INTEGER LINEAR PROGRAMMING
FORMULATION
The security (α) constraint requires that each
server can accommodate only those VMs from a
particular request in order to exclude VMs of
other requests.
 The best effort (τ) placement is effectively
unconstrained, apart from the usual constraints
such as the resource placement constraints in the
VM request set.

INTEGER LINEAR PROGRAMMING
FORMULATION
The anti-collocation and the security constraints
are effectively mutually exclusive.
 Full deployment is compatible with each of the
other constraints (constraints δ and κ)

INTEGER LINEAR PROGRAMMING
FORMULATION

Security α:

For security reasons, the VMs belonging to the same
request must be placed on the same physical server.
INTEGER LINEAR PROGRAMMING
FORMULATION

Full deployment β:
This placement constraint ensures that VM requests
should be either fully placed, or none of the VMs will
be allocated.
 Assigning the value of
to 0 means all
are
zero.

INTEGER LINEAR PROGRAMMING
FORMULATION

Anti-collocation (Fault tolerance) γ:

This ensures that the VMs of a given request with
placement constraint γ cannot be placed on the same
server.
INTEGER LINEAR PROGRAMMING
FORMULATION

Security and full-deployment δ:

To meet both requirements, given a server
accommodating VM(s) of a request with placement
constraint δ, no VMs from other requests could
coexist on the same physical host.
INTEGER LINEAR PROGRAMMING
FORMULATION

Security and full-deployment δ:
INTEGER LINEAR PROGRAMMING
FORMULATION

Anti-collocation and full-deployment κ:
For a given server and VM request
, only one VM
from
can be placed on this server, which satisfies
the requirement of anti-collocation.
 We also have the full-deployment constraint specified.

INTEGER LINEAR PROGRAMMING
FORMULATION

Anti-collocation and full-deployment κ:
INTEGER LINEAR PROGRAMMING
FORMULATION

Best effort τ:

For all VM requests associated with placement
constraint τ, as long as the capacity constraint is not
violated, as many VMs as possible of this request
could be placed into the physical hosts.
INTEGER LINEAR PROGRAMMING
FORMULATION

Best effort τ:
Let
designate the rth-dimension resource
requirement when VM l in request
is assigned to
physical host i.
 When VM l in request
is assigned to physical host
i. cr ( i ) is used to describe the rth-dimension of the
resource capacity of host i, and d indicates the
number of dimensions of resource capacities.

AGENDA
Introduction
 Related Work
 Integer Linear Programming Formulation
 Performance Evaluation
 Conclusion and Future Work

PERFORMANCE EVALUATION

Performance Evaluation
Test Setup
 Experimental Results

PERFORMANCE EVALUATION
(TEST SETUP)
For all experiments, the specification of the
servers is homogeneous: 24 processors (each
equivalent to 1 Amazon ECU) with each server
having 32GB of memory.
 We set up 4 different test cases for our
experiment and form 2 main groups.
 In experiments 1–3, the algorithm chooses how to
allocate server resources (notably, memory and
CPU) to VMs that can be drawn from Amazon
EC2 VM instance types, as indicated in Table 2.

PERFORMANCE EVALUATION
(TEST SETUP)
For each VM request in test 1-3, the VM
instances are generated by a combinatorial
auction algorithm.
 Test 2 has the least requested VMs and Test 3
has an intermediate number of request VMs.
 In test 4, we target the scalability issue of our
model and increase the number of VMs tested to
1276. The placement constraints, VM types and
VM ranges are randomly assigned to each
request.

PERFORMANCE EVALUATION
(TEST SETUP)

Table 3 summarizes the experiments we used to
investigate the usefulness of the model.
PERFORMANCE EVALUATION
(TEST SETUP)
Generally, in test 1-3, the experiment “sizes”
were chosen in such a way that experiment runtimes were considered acceptable.
 We limit the run time of each placement for test
1-3 to 10 minutes.
 For test 4, due to the increased complexity of the
VM placement program with the large scale
input, we limit the run time of each placement to
5 minutes.

PERFORMANCE EVALUATION
(EXPERIMENTAL RESULTS)
PERFORMANCE EVALUATION
(EXPERIMENTAL RESULTS)
PERFORMANCE EVALUATION
(EXPERIMENTAL RESULTS)
PERFORMANCE EVALUATION
(EXPERIMENTAL RESULTS)
PERFORMANCE EVALUATION
(EXPERIMENTAL RESULTS)
PERFORMANCE EVALUATION
(EXPERIMENTAL RESULTS)

The results show that given the VM requests
which have a variety of VM types and placement
constraints, placement can have a dramatic
change with the increase of physical servers.
PERFORMANCE EVALUATION
(EXPERIMENTAL RESULTS)

The best effort placement constraint (τ) :


It often change in each placement plan, mainly
because the VMs belonging to the same VM type are
essentially the same for maximizing revenue.
The requests with security placement constraint
(α and δ) :

If the number of VMs in this request is small, they
might be only placed when there are enough servers
because they generates relatively small profit
compared to the servers it consumes.
PERFORMANCE EVALUATION
(EXPERIMENTAL RESULTS)

The request with both full and anti-collocation
placement constraint (κ) :


It requires as many servers as the number of VMs in
this request, it can be allocated when there are
enough servers.
The requests with full or anti-collocation
placement constraints (β and γ)

They can co-exist with best effort requests and can be
selected even there are only few servers.
PERFORMANCE EVALUATION
(EXPERIMENTAL RESULTS)
AGENDA
Introduction
 Related Work
 Integer Linear Programming Formulation
 Performance Evaluation
 Conclusion and Future Work

CONCLUSION AND FUTURE WORK
We present a model of VM placement that
enables cloud service providers to perform
numerical simulations of different VM demand
scenarios.
 The main contributions are the followings :

A comprehensive ILP model dealing with a wide
variety of placement constraints and VM types.
 This model is such that it can be solved by standard
commercial software.

CONCLUSION AND FUTURE WORK
The results show that having a variety of VM
types and placement constraints can have a
dramatic effect on VM placements, but
interestingly, relatively little effect on
predicted revenue.
 That is, such complicated scenarios present
operational difficulties, but are not critical
when the cloud provider prepares a business
model.

CONCLUSION AND FUTURE WORK

Future research :
First, the linear programming method can be used in
combination with heuristic and other methods to
speed up the allocation decision.
 Secondly, not only considering just the VM allocation
problem with limited number of placement
constraints but also applying the method to more
general VM allocation scenarios that also model the
effect of reallocation costs.

Thanks for your listening
Download