A Study of Virtual Machine Placement Optimization in Data Centers
St
´
ephanie Challita, Fawaz Paraiso and Philippe Merle
Inria Lille - Nord Europe, Villeneuve d’Ascq, France
University of Lille, CRIStAL UMR CNRS 9189, Villeneuve d’Ascq, France
Keywords:
VM Placement, Data Center, Multi-objective Optimization, Energy-aware, Traffic-aware, Cloud computing.
Abstract:
In recent years, cloud computing has shown a valuable way for accommodating and providing services over
the Internet such that data centers rely increasingly on this platform to host a large amount of applications
(web hosting, e-commerce, social networking, etc.). Thus, the utilization of servers in most data centers can
be improved by adding virtualization and selecting the most suitable host for each Virtual Machine (VM).
The problem of VM placement is an optimization problem aiming for multiple goals. It can be covered
through various approaches. Each approach aims to simultaneously reduce power consumption, maximize
resource utilization and avoid traffic congestion. The main goal of this literature survey is to provide a better
understanding of existing approaches and algorithms that ensure better VM placement in the context of cloud
computing and to identify future directions.
1 INTRODUCTION
Cloud computing is a technology that enables com-
puting resources, software, or data to deliver on-
demand services over the Internet. These resources
have become cheaper, more powerful and more ubiq-
uitously available than ever before (Mell and Grance,
2011). The cloud computing stack consists of three
types of cloud service models: Infrastructure, Plat-
form and Software, which are built upon the Hard-
ware layer. Since provisioning Virtual Machines
(VMs) is fundamental to provide infrastructure ser-
vices, one can say that virtualization is the key con-
cept of cloud computing. According to Mike Adams,
director of product marketing at VMware
1
, Virtual-
ization software makes it possible to run multiple op-
erating systems and multiple applications on the same
server at the same time. It enables businesses to re-
duce IT costs while increasing the efficiency, utiliza-
tion and flexibility of their existing computer hard-
ware. ”(Angeles, 2014)
However, VMs need to be adequately placed
to fulfill performance goals, to optimize network
flows, and to reduce CPU, storage and energy
costs. VM placement optimization processes may be
traffic-aware, energy-aware, application-aware, net-
work topology-aware, data-aware, or a combination
1
VMware is an innovator in virtualization and cloud in-
frastructure, http://www.vmware.com/
of these.
In recent years, the problem of allocating VMs to
suitable Physical Machines (PMs) has been studied
for efficiency and quality purposes (Xu and Fortes,
2010), (Feller et al., 2011), (Fang et al., 2013), (Gao
et al., 2013), (Vu and Hwang, 2014). On the provider
side, these solutions map VMs to PMs to optimize
server efficiency, allowing some servers to hibernate
or shut down depending on load conditions. On the
consumer side, these solutions maximize Quality of
Service (QoS) and Quality of Experience (QoE). In
addition to this, such solutions lead to better utiliza-
tion of resources and less frequent overload situations,
leading to cost savings.
Although VMs have shown considerable opportu-
nities to the IT industry, their placement brings many
challenges that need to be carefully addressed. In
this paper, we present a survey of various approaches
studying VM placement, highlighting their key con-
cepts, as well as the state-of-the-art implementations.
The remainder of this paper is organized as follows.
In Section 2, we motivate the need of VM placement
optimization. Section 3 presents the state-of-the-art
that details the four approaches addressing energy,
cost and data flow issues in data centers. Section 4
discusses potential comparison metrics between pre-
sented solutions. In Section 5, we discuss related sur-
veys that allow us to situate our work. Finally, Section
6 concludes and outlines future work.
Challita, S., Paraiso, F. and Merle, P.
A Study of Virtual Machine Placement Optimization in Data Centers.
DOI: 10.5220/0006236503430350
In Proceedings of the 7th International Conference on Cloud Computing and Services Science (CLOSER 2017), pages 315-322
ISBN: 978-989-758-243-1
Copyright © 2017 by SCITEPRESS Science and Technology Publications, Lda. All r ights reserved
315
2 MOTIVATION
As stated before, the motivation behind VM place-
ment optimization can be traffic-aware, energy-aware,
application-aware, network topology-aware, data-
aware, and multi-objective. In our paper, we are in-
terested in investigating solutions that reduce energy
consumption (Ajiro and Tanaka, 2007), (Verma et al.,
2008), (Chaisiri et al., 2009), resource costs (Xu and
Fortes, 2010), (Fajjari et al., 2014), and properly man-
age data flow (Kanagavelu et al., 2014), (Aral and
Ovatman, 2016) in data center architectures. Each of
these objectives is detailed below.
2.1 Energy Management
Enhancing energy efficiency in data centers can be
resolved by applying a suitable VM placement algo-
rithm that minimizes the cost of powering at the hard-
ware level. Moreover, turning off unused machines,
on the basis of server consolidation
2
and energy-
aware job scheduling, can also constitute a solution
for the energy problem. In this context, “Green Data
Centers” (Basmadjian et al., 2015) are nowadays a
must to fight against huge power consumption and
bills caused by inappropriate virtualization.
2.2 Resource Usage Optimization
In order to maintain the application performance,
isolation and security, each VM requires a certain
amount of resources, such as CPU, memory and links
bandwidth, etc. In order to minimize their cost, these
resources should be made available to applications
only as needed and not allocated statically based on
the peak workload demand (Kusic et al., 2009). This
is known as the “elasticity of the cloud” (Herbst et al.,
2013).
2.3 Traffic Engineering
Measuring and optimizing data center traffic is impor-
tant to maintain the efficiency of applications. A data
center, which hosts thousands of devices like servers,
switches and routers, needs an accurate planning of
the network architecture. One can distinguish several
architectures (Wang et al., 2014) such as Fat-tree (Al-
Fares et al., 2008), VL2 (Greenberg et al., 2009) and
BCube (Guo et al., 2009).
2
Server consolidation is an approach to the efficient us-
age of physical resources in order to reduce the total number
of servers that an organization requires. It involves gather-
ing several VMs into a single physical server.
3 APPROACHES
In this section, we review existing methods related
to the optimization of VM placement, embedded in
the cloud computing domain. Placement algorithms,
that collect and study information from deployed ap-
plications, can be either static or dynamic. Static al-
gorithms, which mainly do offline calculations, take
as an input the information that is formerly collected.
After a primary placement, a relocation may not be
considered for several months. Static allocation nor-
mally indicates initial VM placements that will be
actively running in subsequent phases of the system
administration. As for dynamic VM placement, it is
implemented on shorter timescales, preferably shorter
than periods of significant variability of the resource
demand (Shankar and Bellur, 2010), (Abdelsamea
et al., 2014). It does online VM placement, including
VM migrations. One very important difference be-
tween static and dynamic VM placement algorithms
is the fact that dynamic solutions consider poten-
tial VM live migrations and therefore require larger
amount of resources than the static solutions, which
can badly affect the performance of the hosted appli-
cations. Since the static solutions are primitive and
outdated (Usmani and Singh, 2016), we are interested
to study the dynamic VM placement optimization so-
lutions. As shown in Figure 1, our classification is
based on four main approaches: 1) Constraint Pro-
gramming, 2) Bin Packing, 3) Stochastic Integer Pro-
gramming, and 4) Genetic Algorithm. We detail in
the following the algorthims that were implemented
through these approaches.
Figure 1: VM placement approaches.
CLOSER 2017 - 7th International Conference on Cloud Computing and Services Science
316
3.1 Constraint Programming
Foremost Constraint Programming is used where we
have already completely collected the input informa-
tion, so we start the cost function calculations after
we are aware of the VM requirements. Since this ap-
proach can always consider additional constraints, it
can always be expandable. However, in cases where
we have several constraints to take into consideration,
this approach may take too much time to find the most
suitable VM placement. Therefore, the main chal-
lenge consists in finding the optimal solution before
any modification in terms of the constraint parame-
ters. Although this approach formally expresses the
demands of VMs in terms of constraints, it has been
modestly adopted. In 2009, Hermenier et al. (Herme-
nier et al., 2009) introduce the Entropy resource man-
ager, which is a constraint programming-based solu-
tion allowing for a dynamic server consolidation. It
tackles both problems of finding the available servers,
and migrating the VMs to these servers. This solution
is only applied in homogeneous data centers. In 2010,
Van et al. (Van et al., 2010) propose an interactive re-
source management framework that ensures both dy-
namic VM provisioning and placement, by treating
them as two constraint satisfaction problems.
3.2 Bin Packing
Bin Packing is used for dynamic VM placement when
all servers have the same amount of resources (CPU,
memory, storage, etc.), but the requirements of VMs
are variable in time. In order to minimize the number
of PMs, this approach may host two dependent VMs
on one PM. The Bin Packing problem is an NP-hard
3
problem that can be solved using i) Greedy heuris-
tics like First Fit Decreasing (FFD) algorithm (Ajiro
and Tanaka, 2007), (Tang et al., 2014), (Verma et al.,
2008), Best Fit (BF) algorithm (Jiankang et al., 2015),
Least Loaded (LL) algorithm (Ajiro and Tanaka,
2007), etc., ii) Ant Colony Optimization (ACO)
heuristics (Dorigo and Gambardella, 1997), (Dorigo
et al., 1996), (St
¨
utzle and Hoos, 2000), iii) Subgraph
isomorphism algorithms (Ullmann, 1976).
3.2.1 Greedy Heuristics
FFD algorithm is a greedy heuristic. It places each
VM into “the first bin in which it will fit”. This ap-
proach is more efficient when first sorting the list of
3
A problem is NP-hard if the algorithm for solving it can
be translated into one for solving any NP-problem (nonde-
terministic polynomial time) problem. NP-hard therefore
means “at least as hard as any NP-problem,” but it can even-
tually be harder!
elements into a decreasing order. For example, Ajiro
et al. (Ajiro and Tanaka, 2007) present an Improved
FFD + LL heuristic. Both FFD and LL heuristics pack
VMs with certain resources into destination servers.
However, other resources may interfere and increase
the number of destination servers. The proposed algo-
rithm aims to address this issue and reduce the num-
ber of destination servers.
The pMapper system (Verma et al., 2008) packs
the VMs in a small number of physical servers in or-
der to minimize the migration costs, but always under
a fixed constraint of performance. The pMapper sys-
tem is a subset of the FFD heuristic and it aims for a
compromise between performance and cost.
In 2013, VMPlanner (Fang et al., 2013) is pro-
posed as another greedy Bin Packing algorithm for
reducing power costs of network elements in data
centers. VMPlanner takes advantage of the flexi-
bility provided by dynamic VM migration and pro-
grammable flow-based routing, available in modern
data centers, to optimize network power consumption
while satisfying network traffic demands. In order
to evaluate VMPlanner, the authors implement it in a
simulated environment running real data center traffic
workloads, with a VL2 architecture (Greenberg et al.,
2009).
Kanagavelu et al. (Kanagavelu et al., 2014) de-
velop a fast heuristic algorithm called Greedy Vir-
tual Machine Placement with Two Path Routing
(GVMTPR) that is based on some constraints. Its goal
is to reduce the maximum load on any link, by re-
ducing the network traffic load, followed by the num-
ber of used servers and the server resource utilization,
while guaranteeing the specified protection grade re-
quirements. It uses a greedy approach to assign the
hypervisor for each VM, in order to satisfy the com-
puting and memory resource requirements. This will
be done due to the VM management and routing de-
cisions. In addition, instead of a single-path routing,
it chooses a two-path routing to ensure load balanc-
ing on the two least-congested paths. Traffic split-
ting helps to reduce congestion, which is largely influ-
enced by the VM placement, and ensures traffic pro-
tection (minimum bandwidth) in the event of failures.
Likewise, in 2014, Tang et al. (Tang et al., 2014)
present VM-DFS, an algorithm based on a dynamic
forecast scheduling method and that is a sort of Bin
Packing problem which can also be solved by FFD.
VM-DFS analyzes the historical memory consump-
tion of each VM, to select the most appropriate PM
to place the running VM according to the future con-
sumption prediction. The purpose of this method is to
reduce the number of active servers, such that every
VM can conform to the required memory consump-
A Study of Virtual Machine Placement Optimization in Data Centers
317
tion SLA
4
.
In (Jiankang et al., 2015), the authors propose
BF-HC and VM-Mig, two algorithms based on the
BF heuristic. The difference from FFD heuristic
is that the VMs are placed in the bin that can hold
them with minimum empty space. The objective
of this two-stage heuristic algorithm is to minimize
the energy consumption and to optimize the traffic
management, by respectively reducing the number of
activated PMs and network elements and maximizing
the link utilization. The evalutaion is performed by
simulation experiments in Amazon EC2 data center
using Fat-tree topology (Al-Fares et al., 2008).
3.2.2 ACO Heuristics
Broadly speaking, ACO is a probabilistic technique
for solving computational problems, which can be re-
duced to finding good paths through graphs. The col-
lective behaviour of social insects is an inspiration
source for researchers. When searching for food, ants
tend to choose paths marked by strong pheromone
concentrations. As soon as an ant finds a food source,
it studies the quantity and the quality of the food and
takes some of it back to the nest. During the return
trip, the quantity of pheromones that an ant leaves on
the ground may depend on the quantity and quality of
the food. The pheromone trails will guide other ants
to the food source and enables them to find the short-
est paths between their nest and food sources (Blum,
2005). Briefly, ants mark the best solutions and take
into account the previous markings to optimize their
search (Yu et al., 2008). This behaviour, aiming for
the shortest paths, can be used for the VM migra-
tion optimization between PMs. Some extensions of
ACO algorithms are presented in the literature such
as Ant System (AS) (Dorigo et al., 1996), Ant Colony
System (ACS) (Dorigo and Gambardella, 1997) and
MAX-MIN Ant System (MMAS) (St
¨
utzle and Hoos,
2000). Let us note that AS is the progenitor of all
the research efforts with Ant algorithms. It is widely
used to solve the Traveling Salesman Problem (TSP
5
)
(Hoffman et al., 2013).
MMAS (St
¨
utzle and Hoos, 2000) is a variant of
ACO that aims to exploit the best solutions found
during the search in order to reach an optimal solu-
tion. MMAS updates the pheromone according to the
4
A Service-Level Agreement (SLA) is a contract be-
tween a network service provider and a customer that speci-
fies, in measurable terms, what services the network service
provider will furnish.
5
Given a list of cities and the distances between each
pair of cities, TSP looks for the shortest possible route that
visits each city exactly once and returns to the origin city.
best solution found from the beginning of the pro-
cess until the current iteration. Feller et al. (Feller
et al., 2011) propose Single-objective ACO (SACO),
a MMAS metaheuristic-based algorithm that is fo-
cused on reducing the number of physical servers,
which are needed to handle the workload. Moreover,
Fajjari et al. (Fajjari et al., 2014) propose a new, ef-
ficient and scalable, strategy named VNE-AC. It is
based on a MMAS metaheuristic too. Its main aim is
to reduce the amount of allocated resources for each
virtual network request. This will help to minimize
the reject rate and maximize the cloud provider
6
's rev-
enue. Based on extensive simulations, this proposal
makes the VM placement more effective and achieves
better resource utilization even when assuming a high
arrival rate of VM requests. Its fundamental stages
are: i) formation of solution components, ii) local-
ization of potential candidates, iii) stochastic selec-
tion of the candidate, iv) selection of the best solu-
tion, and v) updating the pheromone trail. Moreover,
VNE-AC goes beyond related strategies investigated
in existing literature, such as VNE-Greedy (Yu et al.,
2008), VNE-Cluster (Zhu and Ammar, 2006), VNE-
Subdividing (Zhu and Ammar, 2006), and VNE-Least
(Zhu and Ammar, 2006).
Most of the solutions that attempt to optimize
the placement of VMs are shifted towards process-
ing only one criterion. However, similar to any other
problem, it is usually useful to simultaneously con-
sider several criteria. For this, a new research direc-
tion aims to realize multi-objective optimized alloca-
tion of VMs. Therefore, Gao et al. (Gao et al., 2013)
propose a solution that tackles at a time the prob-
lem of resource waste and energy utilization. Know-
ing that ACS is built upon the previous AS, a mod-
ified version of ACS algorithm is proposed and de-
signed to properly deal with the potential large solu-
tion space for large-scale data centers. Its name is
VMPACS. A performance benchmark is carried out
between the proposed Ant algorithm and other algo-
rithms, such as Multi-objective Grouping Genetic Al-
gorithm (MGGA
7
) (Xu and Fortes, 2010), SACO
8
al-
gorithm (Feller et al., 2011) and the Improved FFD
+ LL algorithm (Ajiro and Tanaka, 2007). To sum-
marize the results, we provide in Table 1 the energy
utilization and resource consumption comparison be-
tween the algorithms under consideration.
As depicted in Table 1, it can be noticed that VM-
PACS goes beyond MGGA. Indeed, the choice of
6
Such as Google, Microsoft and Amazon.
7
Further information about MGGA are provided in Sec-
tion 3.4
8
SACO is a modified MMAS algorithm for VM place-
ment.
CLOSER 2017 - 7th International Conference on Cloud Computing and Services Science
318
Table 1: Comparison of VMPACS and other algorithms.
Energy Utilization Resource Consumption
MGGA (Xu and Fortes, 2010) X X
Improved FFD
+ LL (Ajiro and Tanaka, 2007)
XXXX XX
VMPACS (Gao et al., 2013) XXX XXX
SACO (Feller et al., 2011) XX XXXX
placement given by VMPACS consists of: i) the data
being collected at the moment and ii) the traces kept
by a non-optimal solution. VMPACS also updates,
in a continuous way, the pheromones, which allows
a much more relevant VM placement. Evenly, VM-
PACS goes beyond Improved FFD + LL heuristic and
SACO. These results are mainly related to the number
of servers employed and to the resource utilization of
each algorithm.
3.2.3 Subgraph Isomorphism Algorithms
The subgraph isomorphism problem is a NP-hard
computational task in which two graphs are given as
input, and one must determine whether the first graph
contains a subgraph that is isomorphic to the second
graph. Recently, several algorithms have used sub-
graph isomorphism to formulate the problem of VM
placement, i.e., to model data center topologies and
VM clusters. (Zong et al., 2014) proposes Gradin,
a new graph index framework that accelerates sub-
graph matching on dynamic graphs of numerical la-
bels. Gradin efficiently calculates frequent index up-
dates and eliminates unpromising matches to mini-
mize the cost. Gradin's performance is evaluated over
BCube topology (Guo et al., 2009), on query process-
ing, index update and scalability. Results show that
Gradin outperforms competitive approaches such as
VF2 (Cordella et al., 2004) up to 10 times.
(Aral and Ovatman, 2016) provides Topology
Based Mapping (TBM) algorithm that uses a sub-
graph search to locate federated clouds with a topol-
ogy isomorphic to the VM cluster. Addition-
ally, it presents RalloCloud framework for model-
ing and simulating distributed VM allocation. Us-
ing RalloCloud for TBM evaluation, results indicated
that TBM outperforms greedy heuristics in latency,
throughput, cost and acceptance rate.
3.3 Stochastic Integer Programming
Stochastic Integer Programming is introduced for sit-
uations where future demands and prices of resources
are unknown, but their expected distributions are ei-
ther known or can be computed. This is the best tech-
nique to be used in the case where we have two or
more uncertain parameters on which the cost depends.
It is helpful in estimating the variation in demands
and costs. Thereby, frequent recomputations are not
needed, but if there is an error in the estimation, users
might end up paying more. For example, the authors
in (Chaisiri et al., 2009) define Optimal Virtual Ma-
chine Placement (OVMP), an algorithm for optimally
placing the VMs on the suitable PMs. The goal is to
minimize the cost of deploying and running VMs in
a cloud provider environment, where future demands
and prices are not necessarly stable. This objective is
reached by reducing the number of used nodes. The
algorithm they define is particularly based on linear
and quadratic programming. In (Speitkamp and Bich-
ler, 2010), the authors translate the server consolida-
tion problem into a linear programming formulation.
Their approach, Branch & Bound (B & B), aims at
limiting the number of VMs in each PM. As a result,
it is certain that VMs are not hosted in a single phys-
ical server. Some design constraints were added in
order to achieve this approach, very useful to ensure
fault-tolerancy in case of outages.
3.4 Genetic Algorithm
Finally, Genetic Algorithm is particularly convenient
in cases where we need to operate on groups and
for problems where objective functions
9
dynamically
change. It considers additional constraints while op-
timizing the cost function, so it solves the VM in-
terference problem encountered in the Bin Packing
approach, but it requires more computing time and
higher computing resources as compared to Bin Pack-
ing. Mi et al. (Mi et al., 2010) propose a genetic
algorithm-based approach, namely GABA, to adap-
tively self-reconfigure the VMs in cloud data cen-
ters consisting of heterogeneous nodes. GABA can
efficiently decide the optimal physical placement of
VMs according to application requirements and dy-
namic environmental conditions, that may vary over
time. Moreover in the same year, the VM placement
problem is formulated in (Xu and Fortes, 2010) as
9
An objective function is a function to maximize or min-
imize.
A Study of Virtual Machine Placement Optimization in Data Centers
319
a multi-objective optimization problem of simultane-
ously minimizing total resource wastage, power con-
sumption and thermal dissipation costs. MGGA with
fuzzy multi-objective evaluation is investigated for ef-
ficiently searching the large solution space and conve-
niently combining possibly conflicting objectives.
4 DISCUSSION
A proper VM placement is essential for easier fail-
ure recovery, better geographical coverage and ven-
dor lock-in avoidance in the cloud computing. The
existing VM placement techniques consider various
approaches, system assumptions, features of data cen-
ters like the network topology, as well as different
evaluation approaches. Moreover, VM placement and
migration is a broad research area with various op-
timization and objectives. Some of the techniques
are only focused on a single objective, such as (Ajiro
and Tanaka, 2007), (Chaisiri et al., 2009) and (Feller
et al., 2011). Other techniques try to incorporate mul-
tiple objectives while making VM placement deci-
sions, such as (Xu and Fortes, 2010) and (Gao et al.,
2013). We can state that Bin Packing is the most em-
ployed approach. It always generates a good solution
in a correct amount of time.
It is crucial to choose a VM placement technique
that suits the needs of both the cloud user and cloud
provider. However, due to the presence of several
parameters, comparative analysis in a uniform fash-
ion of such techniques becomes quite tricky. In fact,
each of the VM placement algorithm works well un-
der certain specific conditions/objectives. Thereby, in
order to compare the efficiency of the previous algo-
rithms, we propose that future empirical studies will
be based on the three following metrics to measure
and evaluate the algorithms performance. Firstly, one
should take into account the energy amount consumed
by data center resources, due to the application work-
loads. The second metric to be considered is the SLA
violation percentage, which expresses the level by
which performance requirements defined between the
resource provider and consumers are violated. The
SLA violation can happen when VMs sharing the
same PM need a CPU performance that cannot be pro-
vided because of energy-aware resource management
and consolidation. The provider pays a penalty to the
client in case of SLA violation. The third metric is the
number of VM migrations during the adaptation of the
VM placement (Beloglazov et al., 2012). VM migra-
tions consume time, energy and network bandwidth.
Thus, it is important to minimize the number of VM
migrations.
5 RELATED SURVEYS
Three recent surveys also discuss the state-of-the-art
of VM placement techniques in data centers. (Pires
and Bar
´
an, 2015) covers several axes such as ob-
jective functions (i.e., energy consumption minimiza-
tion, network traffic minimization, economical costs
optimization, and performance maximization), solu-
tion techniques (i.e., algorithms and meta-heuristics),
cloud architectures (i.e., single cloud, multi-clouds,
and federated clouds), and experiment types (i.e. sim-
ulation and applications). However, (Pires and Bar
´
an,
2015) remains mainly statistics-oriented. Our work
provides though better details especially regarding the
solution techniques. It is also focused on energy-
aware and traffic-aware solutions.
Also, we consider (Jennings and Stadler, 2015)
as a decent and comprehensive survey. It details the
different kinds of cloud resources and discusses ap-
proaches based on eight subdomains: global schedul-
ing, local scheduling, demand profiling, utilization es-
timation, pricing, application scaling, workload man-
agement, cloud management, and measurement stud-
ies. Being focused on resource management for cloud
environments in a general way, (Jennings and Stadler,
2015) misses quite a number of approaches in VM
placement field. The authors refer to the latter as
“global scheduling” subdomain. In contrast, our tax-
onomy focuses on VM placement problem and covers
all the approaches that have been investigated in this
field.
Finally, while (Usmani and Singh, 2016) offers a
similar classification to ours, its motivation is mainly
focused on server consolidation. Our survey ad-
dresses the topic of VM placement with a broader mo-
tivation and takes into account the different types of
system architecture. Moreover, we explain the opti-
mal case for the use of each of the four discussed ap-
proaches. We certainly fill a void in the literature by
providing this up-to-date survey, which is useful for
the cloud computing domain.
6 CONCLUSION AND FUTURE
DIRECTIONS
In this paper, we survey the state-of-the-art of VM
placement optimization, covering its essential ap-
proaches and key existing solutions that reduce net-
work power cost and prevent congestion of data flow.
As the cost and the performance of cloud data cen-
ters become a practical concern and attract attention
of both service provider and consumer, our survey
provides a better comprehension of the existing VM
CLOSER 2017 - 7th International Conference on Cloud Computing and Services Science
320
placement algorithms that deal with power cost and
handle traffic in data centers.
However, many future directions and perspectives
have not been explored yet and can be contemplated
for the future. For example, data security remains
unresolved in cloud infrastructures. Since the migra-
tion of VMs require a secure connection between both
source and target servers, we pave the way for further
work to address this issue and we mark the urge of
defining reliable protocols for establishing and man-
aging a protected communication. Moreover, in or-
der to optimally benefit from the features of the four
approaches, designing an hybrid solution combining
several approaches represents a future challenge. Fi-
nally, nowadays there are several resource managers
that are mostly doing the placement of VMs, like
vMotion (Murphy, 2011), the commercial product of
VMware and OpenStack (Sefraoui et al., 2012), the
open-source cloud manager. Other resource man-
agers like Kubernetes (Brewer, 2015), Swarm (Tha-
patsuwan et al., 2009), and Mesos (Hindman et al.,
2011), to cite a few, are responsible for the placement
of containers. Therefore, it will be interesting to con-
duct an exhaustive study of the existing static and dy-
namic resource managers, and to map between them
and the placement algorithm(s) they use.
ACKNOWLEDGEMENTS
This work is supported by the OCCIware
10
research
and development project funded by French Pro-
gramme d’Investissements d’Avenir (PIA). Likewise,
this work is partially funded by Nord-Pas de Calais
Regional Council.
REFERENCES
Abdelsamea, A., Hemayed, E. E., Eldeeb, H., and Elazhary,
H. (2014). Virtual Machine Consolidation Challenges:
A Review. International Journal of Innovation and
Applied Studies, 8(4):1504.
Ajiro, Y. and Tanaka, A. (2007). Improving Packing Algo-
rithms for Server Consolidation. In Int. CMG Confer-
ence, pages 399–406.
Al-Fares, M., Loukissas, A., and Vahdat, A. (2008). A Scal-
able, Commodity Data Center Network Architecture.
ACM SIGCOMM Computer Communication Review,
38(4):63–74.
Angeles, S. (2014). Virtualization vs Cloud Computing:
What’s the Difference? BusinessNewsDaily, January
20.
10
http://www.occiware.org/
Aral, A. and Ovatman, T. (2016). Network-Aware Em-
bedding of Virtual Machine Clusters onto Federated
Cloud Infrastructure. Journal of Systems and Soft-
ware, 120:89–104.
Basmadjian, R., Bouvry, P., Da Costa, G., Gyarmati, L.,
Kliazovich, D., Lafond, S., Lefevre, L., De, H., Meer,
J.-M. P., Pries, R., et al. (2015). Green Data Cen-
ters. Large-scale Distributed Systems and Energy Ef-
ficiency: A Holistic View. John Wiley & Sons. P, pages
159–196.
Beloglazov, A., Abawajy, J., and Buyya, R. (2012). Energy-
Aware Resource Allocation Heuristics for Efficient
Management of Data Centers for Cloud Computing.
Future Generation Computer Systems, 28(5):755–
768.
Blum, C. (2005). Ant colony optimization: Introduction and
recent trends. Physics of Life reviews, 2(4):353–373.
Brewer, E. A. (2015). Kubernetes and the path to cloud
native. In Proceedings of the Sixth ACM Symposium
on Cloud Computing, pages 167–167. ACM.
Chaisiri, S., Lee, B.-S., and Niyato, D. (2009). Opti-
mal Virtual Machine Placement across Multiple Cloud
Providers. In IEEE Asia-Pacific Services Computing
Conference, APSCC 2009, pages 103–110. IEEE.
Cordella, L. P., Foggia, P., Sansone, C., and Vento, M.
(2004). A (sub) Graph Isomorphism Algorithm for
Matching Large Graphs. IEEE Transactions on Pat-
tern Analysis and Machine Intelligence, 26(10):1367–
1372.
Dorigo, M. and Gambardella, L. M. (1997). Ant Colony
System: A Cooperative Learning Approach to the
Traveling Salesman Problem. IEEE Transactions on
Evolutionary Computation, 1(1):53–66.
Dorigo, M., Maniezzo, V., and Colorni, A. (1996). Ant
System: Optimization by a Colony of Cooperating
Agents. IEEE Transactions on Systems, Man, and Cy-
bernetics, Part B: Cybernetics, 26(1):29–41.
Fajjari, I., Aitsaadi, N., Pi
´
oro, M., and Pujolle, G. (2014).
A New Virtual Network Static Embedding Strategy
within the Clouds Private Backbone Network. Com-
puter Networks, 62:69–88.
Fang, W., Liang, X., Li, S., Chiaraviglio, L., and Xiong,
N. (2013). VMPlanner: Optimizing Virtual Machine
Placement and Traffic Flow Routing to Reduce Net-
work Power Costs in Cloud Data Centers. Computer
Networks, 57(1):179–196.
Feller, E., Rilling, L., and Morin, C. (2011). Energy-Aware
Ant Colony Based Workload Placement in Clouds.
In Proceedings of the 2011 IEEE/ACM 12th Interna-
tional Conference on Grid Computing, pages 26–33.
IEEE Computer Society.
Gao, Y., Guan, H., Qi, Z., Hou, Y., and Liu, L. (2013).
A Multi-Objective Ant Colony System Algorithm
for Virtual Machine Placement in Cloud Comput-
ing. Journal of Computer and System Sciences,
79(8):1230–1242.
Greenberg, A., Hamilton, J. R., Jain, N., Kandula, S., Kim,
C., Lahiri, P., Maltz, D. A., Patel, P., and Sengupta,
S. (2009). Vl2: A Scalable and Flexible Data Center
A Study of Virtual Machine Placement Optimization in Data Centers
321
Network. In ACM SIGCOMM Computer Communi-
cation Review, volume 39, pages 51–62. ACM.
Guo, C., Lu, G., Li, D., Wu, H., Zhang, X., Shi, Y., Tian,
C., Zhang, Y., and Lu, S. (2009). BCube: A High
Performance, Server-centric Network Architecture for
Modular Data Centers. ACM SIGCOMM Computer
Communication Review, 39(4):63–74.
Herbst, N. R., Kounev, S., and Reussner, R. H. (2013). Elas-
ticity in Cloud Computing: What It Is, and What It Is
Not. In ICAC, pages 23–27.
Hermenier, F., Lorca, X., Menaud, J.-M., Muller, G., and
Lawall, J. (2009). Entropy: A Consolidation Man-
ager for Clusters. In Proceedings of the 2009 ACM
SIGPLAN/SIGOPS International Conference on Vir-
tual Execution Environments, pages 41–50. ACM.
Hindman, B., Konwinski, A., Zaharia, M., Ghodsi, A.,
Joseph, A. D., Katz, R. H., Shenker, S., and Sto-
ica, I. (2011). Mesos: A Platform for Fine-Grained
Resource Sharing in the Data Center. In NSDI, vol-
ume 11, pages 22–22.
Hoffman, K. L., Padberg, M., and Rinaldi, G. (2013). Trav-
eling Salesman Problem. In Encyclopedia of Op-
erations Research and Management Science, pages
1573–1578. Springer.
Jennings, B. and Stadler, R. (2015). Resource Management
in Clouds: Survey and Research Challenges. Journal
of Network and Systems Management, 23(3):567–619.
Jiankang, D., Hongbo, W., and Shiduan, C. (2015). Energy-
Performance Tradeoffs in IaaS Cloud with Vir-
tual Machine Scheduling. Communications, China,
12(2):155–166.
Kanagavelu, R., Lee, B.-S., Le, N. T. D., Mingjie, L. N., and
Aung, K. M. M. (2014). Virtual Machine Placement
with Two-path Traffic Routing for Reduced Conges-
tion in Data Center Networks. Computer Communi-
cations, 53:1–12.
Kusic, D., Kephart, J. O., Hanson, J. E., Kandasamy, N.,
and Jiang, G. (2009). Power and Performance Man-
agement of Virtualized Computing Environments via
Lookahead Control. Cluster computing, 12(1):1–15.
Mell, P. and Grance, T. (2011). The NIST Definition of
Cloud Computing.
Mi, H., Wang, H., Yin, G., Zhou, Y., Shi, D., and Yuan,
L. (2010). Online Self-Reconfiguration with Per-
formance Guarantee for Energy-Efficient Large-Scale
Cloud Computing Data Centers. In 2010 IEEE Inter-
national Conference on Services Computing (SCC),
pages 514–521. IEEE.
Murphy, A. (2011). Enabling Long Distance Live Migration
with F5 and VMware vMotion.
Pires, F. L. and Bar
´
an, B. (2015). A Virtual Machine Place-
ment Taxonomy. In 15th IEEE/ACM International
Symposium on Cluster, Cloud and Grid Computing,
CCGrid 2015, Shenzhen, China, May 4-7, 2015, pages
159–168.
Sefraoui, O., Aissaoui, M., and Eleuldj, M. (2012). Open-
Stack: Toward an Open-Source Solution for Cloud
Computing. International Journal of Computer Ap-
plications, 55(3).
Shankar, A. and Bellur, U. (2010). Virtual Machine
Placement in Computing Clouds. CoRR, vol.
abs/1011.5064.
Speitkamp, B. and Bichler, M. (2010). A Mathematical Pro-
gramming Approach for Server Consolidation Prob-
lems in Virtualized Data Centers. IEEE Transactions
on Services Computing, 3(4):266–278.
St
¨
utzle, T. and Hoos, H. H. (2000). Max-Min Ant System.
Future Generation Computer Systems, 16(8):889–
914.
Tang, Z., Mo, Y., Li, K., and Li, K. (2014). Dynamic Fore-
cast Scheduling Algorithm for Virtual Machine Place-
ment in Cloud Computing Environment. The Journal
of Supercomputing, 70(3):1279–1296.
Thapatsuwan, P., Sepsirisuk, J., Chainate, W., and
Pongcharoen, P. (2009). Modifying Particle Swarm
Optimisation and Genetic Algorithm for Solving Mul-
tiple Container Packing Problems. In ICCAE’09. In-
ternational Conference on Computer and Automation
Engineering, 2009., pages 137–141. IEEE.
Ullmann, J. R. (1976). An Algorithm for Subgraph Isomor-
phism. Journal of the ACM (JACM), 23(1):31–42.
Usmani, Z. and Singh, S. (2016). A Survey of Virtual Ma-
chine Placement Techniques in a Cloud Data Center.
Procedia Computer Science, 78:491–498.
Van, H. N., Tran, F. D., and Menaud, J.-M. (2010). Perfor-
mance and Power Management for Cloud Infrastruc-
tures. In 2010 IEEE 3rd International Conference on
Cloud Computing (CLOUD), pages 329–336. IEEE.
Verma, A., Ahuja, P., and Neogi, A. (2008). pMapper:
Power and Migration Cost Aware Application Place-
ment in Virtualized Systems. In Proceedings of the
9th ACM/IFIP/USENIX International Conference on
Middleware, pages 243–264. Springer.
Vu, H. T. and Hwang, S. (2014). A Traffic and Power-
Aware Algorithm for Virtual Machine Placement in
Cloud Data Center. International Journal of Grid &
Distributed Computing, 7(1):350–355.
Wang, T., Su, Z., Xia, Y., and Hamdi, M. (2014). Rethink-
ing the Data Center Networking: Architecture, Net-
work Protocols, and Resource Sharing. IEEE access,
2:1481–1496.
Xu, J. and Fortes, J. A. (2010). Multi-Objective Virtual
Machine Placement in Virtualized Data Center Envi-
ronments. In Green Computing and Communications
(GreenCom), 2010 IEEE/ACM Int’l Conference on &
Int’l Conference on Cyber, Physical and Social Com-
puting (CPSCom), pages 179–188. IEEE.
Yu, M., Yi, Y., Rexford, J., and Chiang, M. (2008). Rethink-
ing Virtual Network Embedding: Substrate Support
for Path Splitting and Migration. ACM SIGCOMM
Computer Communication Review, 38(2):17–29.
Zhu, Y. and Ammar, M. H. (2006). Algorithms for Assign-
ing Substrate Network Resources to Virtual Network
Components. INFOCOM, 1200(2006):1–12.
Zong, B., Raghavendra, R., Srivatsa, M., Yan, X., Singh,
A. K., and Lee, K.-W. (2014). Cloud Service Place-
ment via Subgraph Matching. In 2014 IEEE 30th In-
ternational Conference on Data Engineering, pages
832–843. IEEE.
CLOSER 2017 - 7th International Conference on Cloud Computing and Services Science
322