Conference PaperPDF Available

Workload Generation for Virtual Machine Placement in Cloud Computing Environments

Authors:

Abstract and Figures

Cloud computing datacenters provide millions of virtual machines (VMs) in actual cloud markets. Nowadays, efficient location of these VMs into available physical machines (PMs) represents a research challenge, considering the large number of existing formulations and optimization criteria. Several techniques have been studied for the Virtual Machine Placement (VMP) problem. However, each article performs experiments with different datasets, making difficult the comparison between different formulations and solution techniques. Considering the absence of a highly recognized and accepted benchmark to study the VMP problem, this work proposes and implements a Workload Generator to enable the generation of different instances of the VMP problem for cloud computing environments, based on different configurable parameters. Additionally, this work also provides a set of pre-generated instances of the VMP that facilitates the comparison of different solution techniques of the VMP problem for the most diverse dynamic environments identified in the state-of-the-art.
Content may be subject to copyright.
Workload Generation for Virtual Machine Placement
in Cloud Computing Environments
Jammily Ortigoza
Science and Technology School
Catholic University of Asunci´
on
jortigozaf@gmail.com
Paraguay
Fabio L´
opez-Pires
Itaipu Technological Park
National University of Asunci´
on
fabio.lopez@pti.org.py
Paraguay
Benjam´
ın Bar´
an
National University of Asunci´
on
Catholic University of Asunci´
on
bbaran@pol.una.py
Paraguay
Abstract—Cloud computing datacenters provide millions of vir-
tual machines (VMs) in actual cloud markets. Nowadays, efficient
location of these VMs into available physical machines (PMs) repre-
sents a research challenge, considering the large number of existing
formulations and optimization criteria. Several techniques have
been studied for the Virtual Machine Placement (VMP) problem.
However, each article performs experiments with different datasets,
making difficult the comparison between different formulations
and solution techniques. Considering the absence of a highly
recognized and accepted benchmark to study the VMP problem,
this work proposes and implements a Workload Generator to
enable the generation of different instances of the VMP problem
for cloud computing environments, based on different configurable
parameters. Additionally, this work also provides a set of pre-
generated instances of the VMP that facilitates the comparison of
different solution techniques of the VMP problem for the most
diverse dynamic environments identified in the state-of-the-art.
Index Terms—Workload Generation, Virtual Machine Place-
ment, Cloud Computing, Dynamic Environments.
I. INTRODUCCI ´
ON
La virtualizaci´
on en centro de datos (datacenters) modernos
introduce el manejo de decisiones complejas relacionadas a
la ubicaci´
on de m´
aquinas virtuales (VMs, del ingl´
es virtual
machines) en m´
aquinas f´
ısicas (PMs, del ingl´
es physical ma-
chines) disponibles. En este contexto, el problema de Ubicaci´
on
de M´
aquinas Virtuales (VMP, del ingl´
es Virtual Machine Pla-
cement), representa el proceso de seleccionar que VMs ser´
an
ubicadas en que PMs en uno o m´
as datacenters [1].
El problema VMP es mayormente formulado como un proble-
ma de optimizaci´
on combinatoria, considerando un gran n´
umero
de posibles criterios de optimizaci´
on y formulaciones diferentes
que pueden ser estudiados, en entornos est´
aticos o din´
amicos.
En la literatura especializada existen principalmente dos tipos
de formulaciones: offline o est´
atica y online o din´
amica. En
una formulaci´
on offline los recursos de las VMs no cambian
su configuraci´
on a lo largo del tiempo, mientras que en una
formulaci´
on online los recursos se ajustan conforme va variando
la necesidad en el tiempo de manera din´
amica, atendiendo a los
requerimientos que vayan surgiendo en la operaci´
on [2].
En datacenters virtualizados donde un n´
umero peque˜
no de
VMs son creadas y destruidas, una formulaci´
on semi-est´
atica
del problema VMP puede ser aceptable (e.g. consolidaci´
on de
VMs todos los d´
ıas a media noche). Por otro lado, considerando
el actual modelo bajo demanda de la computaci´
on en la nube,
una formulaci´
on semi-est´
atica del problema VMP puede resultar
en una soluci´
on sub-´
optima luego de un corto periodo de tiempo.
Claramente, el problema VMP para los entornos de computaci´
on
en la nube debe ser formulado como un problema de optimiza-
ci´
on din´
amica pura (online) para atender eficientemente cargas
de trabajo din´
amicas asociadas a aplicaciones modernas [2].
Se han presentando diversas t´
ecnicas para resolver el pro-
blema VMP [3], [4]; sin embargo, cada art´
ıculo presenta sus
resultados sobre diferentes conjuntos de datos, dificultando
comparar t´
ecnicas alternativas de soluci´
on. Claramente, esta ´
area
de investigaci´
on necesita de un conjunto de problemas de prueba
(benchmark) que facilite la comparaci´
on de t´
ecnicas alternativas
de soluci´
on en los m´
as variados contextos din´
amicos.
I-A. Motivaci´
on y Trabajos Previos
Considerando que no existe un benchmark ampliamente re-
conocido para resolver el problema VMP [2], es indispensable
disponer de un conjunto de instancias de pruebas que facilite
la comparaci´
on de distintas t´
ecnicas de soluci´
on en los m´
as
variados contextos din´
amicos identificados en el estado del arte
[5]. Con esto, se facilitar´
a comparar efectivamente el desempe˜
no
y la calidad de las soluciones obtenidas por los distintos algorit-
mos de ubicaci´
on de VMs en experimentos reproducibles. Otras
´
areas m´
as maduras ya cuentan con estos benchmarks, como el
TSPLIB para el problema del cajero viajante [6].
As´
ı mismo, un benchmark aceptado, tambi´
en permitir´
a contri-
buir con los proveedores de servicios de nube (CSPs, del ingl´
es
Cloud Service Providers) en la evaluaci´
on de sus sistemas de
gesti´
on de recursos con distintas cargas de trabajo que pueden
ser derivadas a partir de la solicitud de los usuarios.
Por este motivo, en [7], [5], Ortigoza et al. han presentado
una taxonom´
ıa para identificar y entender los posibles desaf´
ıos
para los CSPs en los entornos online, basados en los par´
ametros
din´
amicos m´
as estudiados hasta el momento en la literatura.
En [7] se identificaron 16 posibles entornos din´
amicos para
el problema VMP orientado desde la perspectiva del proveedor.
En consecuencia, este trabajo tiene como principal objetivo
proveer instancias del problema VMP para cada uno de estos
16 entornos din´
amicos. Cada instancia del problema VMP
podr´
a ser generada de acuerdo a par´
ametros bien definidos (ver
Secci´
on IV-A) que brindar´
an reproducibilidad a experimentos a
ser realizados en futuros trabajos de investigaci´
on.978-1-5090-1633-4/16/$31.00 c
2016 IEEE
II. CRITERIOS DE CL ASI FICACI ´
ON
Las propiedades de los distintos componentes de los servicios
de computaci´
on en la nube pueden modificarse a lo largo del
tiempo. Por ejemplo, dentro de un servicio de computaci´
on en
la nube se pueden variar la cantidad de recursos asignados a las
VMs (e.g. CPU, RAM, entre otros), la utilizaci´
on de los recursos
o incluso la cantidad de VMs asignadas a un determinado
servicio. A estas propiedades que var´
ıan a lo largo del tiempo
se las considera como par´
ametros din´
amicos [7].
En [7] se han identificado los par´
ametros din´
amicos m´
as
utilizados y pueden ser agrupados en las siguientes categor´
ıas:
Capacidades de recursos de las VMs (elasticidad vertical);
Cantidad de VMs de un servicio (elasticidad horizontal);
Utilizaci´
on de recursos de las VMs (sobre-reserva).
Consecuentemente, los entornos din´
amicos para las formula-
ciones online del problema VMP orientado al proveedor pueden
ser clasificados considerando uno o m´
as de los siguientes
criterios de clasificaci´
on: (1) elasticidad y (2) sobre-reserva.
II-A. Elasticidad
Considerando la carga de trabajo din´
amica de aplicaciones
modernas de computaci´
on en la nube, la elasticidad proacti-
va es un tema muy relevante para los CSPs, de manera a
lidiar con el sub-aprovisionamiento (saturaci´
on) y el sobre-
aprovisionamiento (sub-utilizaci´
on) de recursos de nube [8].
Por un lado, el sub-aprovisionamiento puede causar viola-
ciones de Niveles de Acuerdo de Servicio (SLA, del ingl´
es
Service Level Agreement), debido a que se aprovisiona menos
recursos de lo que el servicio necesita, causando as´
ı saturaci´
on
al utilizar los recursos al l´
ımite de su capacidad. Esto podr´
ıa
impactar directamente en los ingresos econ´
omicos del CSP. Por
otro lado, el sobre-aprovisionamiento puede causar ineficiencia
en la utilizaci´
on de los recursos al utilizarlos muy por debajo del
valor reservado, incluso dejando recursos ociosos la mayor parte
del tiempo. Esto podr´
ıa impactar directamente en la utilizaci´
on
de recursos y el consumo de energ´
ıa.
En la investigaci´
on realizada en [7], se pudo observar que
varios art´
ıculos que consideran la formulaci´
on online de la
literatura VMP orientada al proveedor ya han estudiado dos
tipos de elasticidad: vertical y horizontal (ver Figura 1).
La elasticidad vertical puede ser definida como la habilidad de
los servicios de computaci´
on en la nube para cambiar din´
ami-
camente las capacidades de los recursos virtuales (e.g. CPU,
RAM y/o interfaces de red) dentro de una VM, mientras que
la elasticidad horizontal puede ser definida como la habilidad
de ajustar din´
amicamente la cantidad de VMs asociadas a los
servicios de computaci´
on en la nube para su provisi´
on [9].
Es importante destacar que desde la perspectiva de los CSPs,
los servicios con elasticidad deben ser de mayor importancia
(e.g. mayor SLA) que otro servicio no-el´
astico. Una aplicaci´
on
el´
astica puede requerir ampliar los recursos y/o cantidad de
VMs, por lo que un CSP debe considerar m´
as importante la
solicitud mencionada que una solicitud de un simple servicio
no-el´
astico durante el proceso de admisi´
on de los servicios.
II-B. Sobre-reserva
La sobre-reserva (overbooking) de recursos puede hacer que
los servicios sean m´
as rentables para los CSPs, asignando los
Figura 1. Tipos de Elasticidad: Vertical y Horizontal.
Figura 2. Ejemplo de overbooking de recursos de memoria RAM.
recursos virtuales en recursos f´
ısicos a un ratio mayor que 1:1
[10]. Las formulaciones online del problema VMP orientado al
proveedor que consideran overbooking incluyen consideraciones
particulares para atender eficientemente los requerimientos de
los clientes, forzando a cumplir con los SLAs.
Considerando la carga de trabajo din´
amica de las aplicaciones
y servicios de computaci´
on en la nube, los recursos virtuales de
las VMs son tambi´
en din´
amicamente utilizados, dando espacio a
la re-utilizaci´
on de recursos ociosos reservados. El overbooking
puede ser considerado como la pr´
actica de proveer intencional-
mente m´
as reservaciones para un servicio que los recursos que
realmente hay en el datacenter. Los art´
ıculos analizados que
consideran la formulaci´
on online del VMP han estudiado dos
tipos de overbooking: (1) overbooking de recursos de servidor
(ver Figura 2) y (2) overbooking de recursos de red.
En la Figura 2 se puede observar que se tiene un servidor
f´
ısico con 6[GB] de memoria RAM disponible. Inicialmente,
se crean dos VMs con 3[GB] de memoria RAM para cada una,
aunque la utilizaci´
on efectiva de cada una es de solo 2[GB].
Por lo tanto, el servidor f´
ısico aplica el overbooking de recursos
y asigna los 2[GB] no utilizados (1 [GB] de cada VM) a una
tercera VM. En caso que la V M1o la V M2requiera utilizar su
porci´
on de memoria reservada que considera tener disponible,
el servidor f´
ısico ser´
a incapaz de proveer el recurso y el cliente
podr´
a sufrir alg´
un inconveniente o violaci´
on del SLA.
En este contexto, los CSPs deben medir la utilizaci´
on de
recursos de las VMs de manera a manejar correctamente el
overbooking con los recursos f´
ısicos disponibles, minimizando
las violaciones de SLA. Monitorear la utilizaci´
on de los recursos
virtuales y la carga de trabajo de las aplicaciones as´
ı como
los servicios de computaci´
on en la nube tambi´
en ayuda a los
CSPs a considerar la previsi´
on de t´
ecnicas para aproximarse de
antemano a las acciones de manejo requeridas (e.g. migraci´
on
de VMs) para el proceso de consolidaci´
on, de manera a reducir
situaciones de sub-aprovisionamiento [11], [12].
III. TAXONOM´
IA P ROPU ESTA
Basado en el universo de 64 art´
ıculos de investigaci´
on estu-
diados en [7], los entornos din´
amicos para las formulaciones
online del problema VMP orientado al proveedor pueden ser
considerados por uno o m´
as de los siguientes criterios de
clasificaci´
on: (1) elasticidad y (2) sobre-reserva.
La taxonom´
ıa propuesta en [7] fue introducida como un
eje de coordenadas bidimensionales (ver Figura 3) donde cada
dimensi´
on representa un criterio de clasificaci´
on.
Primero, los entornos din´
amicos pueden ser formulados con-
siderando uno de los siguientes valores de elasticidad:
elasticidad=0: sin elasticidad;
elasticidad=1: elasticidad horizontal;
elasticidad=2: elasticidad vertical;
elasticidad=3: elasticidad horizontal y vertical.
Adem´
as, los entornos din´
amicos identificados tambi´
en pue-
den considerar uno de los siguientes valores de sobre-reserva:
sobre-reserva=0: sin sobre-reserva;
sobre-reserva=1: sobre-reserva de recursos de servidor;
sobre-reserva=2: sobre-reserva de recursos de red;
sobre-reserva=3: sobre-reserva de recursos de servidor y
red.
Considerando las posibles combinaciones de los valores de
los criterios de clasificaci´
on (elasticidad,overbooking), la taxo-
nom´
ıa´
ıa propuesta identific´
o 16 posibles entornos diferentes.
Teniendo en cuenta esta representaci´
on, cada entorno din´
ami-
co identificado se denota por sus caracter´
ısticas de elasticidad
y sobre-reserva (coordenadas). Por ejemplo, el Entorno(0,0)
denota un entorno din´
amico que no considera ning´
un tipo de
de elasticidad y ning´
un tipo de sobre-reserva, mientras que
el Entorno(1,3) denota un entorno din´
amico que considera
horizontal elasticidad con ambos tipos de sobre-reserva [7].
Se debe mencionar que todos los entornos identificados
consideran la creaci´
on y destrucci´
on de VMs din´
amicamente.
De acuerdo con los entornos din´
amicos identificados, el entorno
m´
as simple es el Entorno(0,0), mientras que el entorno m´
as
complejo es el Entorno(3,3). Adem´
as, la taxonom´
ıa propuesta
muestra que el 50 % de los art´
ıculos estudia el Entorno(0,1)
mientras que el 39 % de los art´
ıculos considera el Entorno(0,0),
representando los ambientes m´
as estudiados en la literatura.
Varios entornos no explorados tambi´
en han sido identificados
como oportunidades de investigaci´
on (ver Figura 3).
Considerar ambos tipos de elasticidad con ambos tipos de
sobre-reserva representa el entorno din´
amico m´
as complejo
identificado en este trabajo. Cuando los CSPs puedan resol-
ver eficientemente diversas formulaciones del problema VMP
en este complejo entorno din´
amico representar´
a considerables
avances en esta l´
ınea de investigaci´
on. Se sugiere continuar
esta investigaci´
on explorando y solucionando los desaf´
ıos re-
lacionados con cada entorno no explorado antes de considerar
entornos din´
amicos avanzados. En este contexto, el presente
trabajo contribuir´
a directamente al avance del ´
area mediante
para generaci´
on de diversos posibles workloads traces para ex-
perimentos reproducibles con diferentes niveles de complejidad.
III-A. Notaci´
on de Servicios y Entornos
Los CSPs din´
amicamente reciben solicitudes para la ubica-
ci´
on de los servicios de computaci´
on en la nube con diferentes
caracter´
ısticas, de acuerdo al criterio de clasificaci´
on presentado
en la Secci´
on II, representando entornos del mundo real y
generalizando la implementaci´
on de los servicios en varias
posibles arquitecturas (e.g. single-cloud,distributed-cloud o
federated-cloud). Los servicios de computaci´
on en la nube pue-
den representar servicios simples como un sistema de resoluci´
on
de nombres de dominio (DNS, del ingl´
es Domain Name System)
o aplicaciones el´
asticas distribuidas como Spark oHadoop.
Un servicio est´
a compuesto por un conjunto de VMs, donde
cada VM puede ser ubicada para su ejecuci´
on en diferentes
centros de datos de computaci´
on en la nube, de acuerdo a
las preferencias y requerimientos de los usuarios (e.g. por
temas legales o de alta disponibilidad). La configuraci´
on de las
VMs en un servicio de computaci´
on en la nube es capaz de
cambiar din´
amicamente cuando la elasticidad es considerada.
Por otro lado, la utilizaci´
on de los recursos virtuales que cambia
din´
amicamente de acuerdo a la demanda es monitoreada cuando
la sobre-reserva es considerada. En este trabajo, cuando la sobre-
reserva no es considerada, la utilizaci´
on de cada recurso virtual
es considerada como si estuviera al 100 %. Una notaci´
on formal
de cada una de las variables para representar los servicios de
computaci´
on en la nube ser´
a presentada a continuaci´
on.
Formalmente, un servicio de computaci´
on en la nube Sb
puede ser distribuido en diferentes datacenters. Cada datacenter
DCcaloja VMs V0
cj asociadas a servicios diferentes. Una VM
V0
cj asociada a un servicio Sbes denotada como V00
bcj .
donde:
Sb: Servicio de computaci´
on en la nube b;
DCc: Centro de datos de computaci´
on en la nube c;
mDCc: Cantidad de VMs Vjen DCc;
mSb: Cantidad de VMs Vjdel Sb;
V0
cj :Vjen DCc;
V00
bcj :Vjdel servicio Sben centro de datos DCc.
La Figura 4 representa un ejemplo b´
asico de un servicio S1,
distribuido entre DC1yDC2y usando 4 VMs: V00
111,V00
112,V00
121
yV00
122. Estos centros de datos pueden representar centros de
datos distribuidos geogr´
aficamente, propiedad de un ´
unico CSP,
o una nube federada (federated cloud) con 2 diferentes CSPs.
Cada centro de datos aloja 2 VMs de S1: por ejemplo V0
11 y
V0
12 representan V1yV2en DC1respectivamente (an´
alogamente
DC2aloja las otras 2 VMs).
Complementando la notaci´
on anterior, cada centro de datos
de nube DCcpuede ser representado como:
Sobre-reserva
3Oportunidad de
Investigaci´
on
Oportunidad de
Investigaci´
on
Oportunidad de
Investigaci´
on
Oportunidad de
Investigaci´
on
2(5 %) [13], [14], [15] Oportunidad de
Investigaci´
on
Oportunidad de
Investigaci´
on
Oportunidad de
Investigaci´
on
1(50 %) [16], [12], [17], [18], [19] Oportunidad de
Investigaci´
on (1.5 %) [20] Oportunidad de
Investigaci´
on
0(39 %) [21], [22], [23], [24], [25] Oportunidad de
Investigaci´
on (1.5 %) [26] (3 %) [9], [27]
Elasticidad
0 1 2 3
Figura 3. Porcentaje de art´
ıculos de investigaci´
on estudiados mapeados a la taxonom´
ıa propuesta en [7] para el universo estudiado de 64 art´
ıculos. Se presentan
algunos trabajos relevantes como ejemplo de cada escenario. La lista completa con los 64 art´
ıculos estudiados est´
a disponible en [7].
Centro de Datos1
de Nube
Centro de Datos2
de Nube
V2
V2
V1 V1
Servicio1 de Nube
S1={V11,V12,V21,V'22}
={V’’111,V’’112,V’’121,V'122}
Figura 4. Ejemplo de un servicio considerado en este trabajo.
DCc={V0
cj }, j ∈ {1,2, . . . , mDCc}(1)
Por simplicidad y sin p´
erdida de generalidad, este trabajo con-
sidera solamente recursos como procesamiento (CPU), memoria
(RAM) y red para las VMs, aunque la notaci´
on propuesta es su-
ficientemente general como para considerar cualquier conjunto
de recursos virtuales (e.g. almacenemiento).
Formalmente, cada VM V00
bcj puede ser representada como:
V00
bcj ={V cpu00
bcj , V ram00
bcj , V net00
bcj , R00
bcj , SLA00
bcj , t0, tf}
(2)
donde:
V00
bcj :Vjdel servicio Sben DCc;
V cpu00
bcj : Requerimientos de procesamiento de V00
bcj en [ECU];
V ram00
bcj : Requerimientos de memoria de V00
bcj en [GB];
V net00
bcj : Requerimientos de red de V00
bcj en [Mbps];
R00
bcj : Ingreso econ ´
omico por la ubicaci´
on de V00
bcj en [$];
SLA00
bcj : SLA de V00
bcj .SLA00
bcj ∈ {1, .., s};
s: Nivel de SLA m´
as alto;
t0: Tiempo discreto inicial cuando V00
bcj es ejecutado;
tf: Tiempo discreto final cuando V00
bcj es ejecutado.
La utilizaci´
on de recursos para cada V00
bcj es representada por:
U00
bcj ={Ucpu00
bcj , U ram00
bcj , U net00
bcj }(3)
donde:
U00
bcj : Utilizaci´
on del requerimiento V00
bcj ;
Ucpu00
bcj : Utilizaci´
on de V cpu00
bcj en porcentaje [ %];
Uram00
bcj : Utilizaci´
on de V ram00
bcj en porcentaje [ %];
Unet00
bcj : Utilizaci´
on de V net00
bcj en porcentaje [ %].
Cada uno de los 16 entornos identificados (ver Figura 3)
considera par´
ametros diferentes que cambian din´
amicamente en
funci´
on del tiempo t, dando lugar a posibles notaciones dife-
rentes para cada entorno. La siguiente secci´
on detalla cada uno
de los entornos din´
amicos identificados, presentando notaciones
particulares para su caracterizaci´
on.
III-B. Clasificaci´
on de Entornos Din´
amicos
Los 16 entornos identificados (ver Figura 3) presentan consi-
deraciones particulares por lo que se definen diferentes variables
en funci´
on del tiempo para su correcta caracterizaci´
on. En la
Tabla I se presenta un resumen de las variables (en funci´
on del
tiempo) propuestas [7], haciendo uso de la notaci´
on presentada
en la secci´
on anterior. Una explicaci´
on detallada de cada entorno
din´
amico identificado puede ser encontrada en [7].
IV. GENERADOR DE CARGAS DE TRA BA JO
Basado en el universo de los 64 art´
ıculos estudiados (ver
Figura 3), esta secci´
on presenta la construcci´
on de un Generador
de Cargas de Trabajo que genera instancias de cargas de trabajo
para los 16 entornos din´
amicos identificados (ver Tabla I).
Esto permitir´
a facilitar la comparaci´
on de las distintas t´
ecni-
cas de soluci´
on del problema VMP en los m´
as variados con-
textos din´
amicos y contribuir en la evaluaci´
on de las distintas
cargas de trabajo que pueden ser derivadas a partir de la solicitud
de los usuarios. Adem´
as, esto posibilitar´
a que los CSPs puedan
evaluar la eficiencia de sus algoritmos para la resoluci´
on del
problema VMP ante las diferentes cargas de trabajo generadas
para los 16 entornos din´
amicos identificados, verificando de esta
manera las condiciones en que su infraestructura podr´
a soportar
cargas de trabajo de lo m´
as diversas.
Para la construcci´
on del generador se utiliz´
o:
Lenguaje de Programaci´
on Python 3.4;
Bootstrap Framework;Flask Web Framework;
servidor web Apache con m´
odulo wsgi.
Para la aplicaci´
on de diferentes funciones de distribuci´
on de
probabilidad fue utilizado el paquete NumPy, que maneja fun-
ciones matem´
aticas de alto nivel y es considerada fundamental
para la computaci´
on cient´
ıfica con Python [28].
Numpy utiliza arreglos multi-dimensionales y funciones so-
fisticadas que operan con los arreglos. Numpy forma parte del
proyecto Scipy [29], que es un ecosistema de herramientas
de c´
odigo abierto (open-source) para matem´
aticas, ciencias e
ingenier´
ıa basado en Python, patrocinado por Enthought [30].
El Generador de Cargas de Trabajo es una aplicaci´
on web
que cumple con las siguientes especificaciones:
permite la selecci´
on de uno de los 16 entornos din´
amicos
cuya carga de trabajo desea ser generada;
permite como entrada un archivo que contenga los datos de
entrada del generador definidos m´
as adelante. Este archivo
podr´
a estar en formato Comma-Separated Values (CSV);
permite el ingreso de los datos de entrada al generador a
trav´
es de un formulario web (ver Tabla II). Es importante
destacar que los valores que pueden tomar las diferentes
variables (e.g. tiempo de creaci´
on de VMs) son generados
mediante funciones de distribuci´
on de probabilidad que el
usuario puede escoger conforme a sus necesidades;
admite la descarga, en un archivo de texto, de los datos
ingresados a trav´
es del formulario de manera a utilizarlos
en repetidas ocasiones para la generaci´
on de distintos
escenarios con los mismos valores de entrada. Diferentes
escenarios pueden ser generados con los mismos valores,
ya que los valores de las variables son generados de forma
probabil´
ıstica (ver Tabla II);
exporta la salida de la simulaci´
on para el entorno din´
amico
seleccionado a un archivo de texto;
permite la descarga de cargas de trabajos de diferentes
entornos din´
amicos previamente generados. Esto se realiza
mediante el uso de un repositorio de archivos web a
partir del cual se podr´
an generar entornos similares en
caracter´
ısticas pero de diferentes duraciones.
En la Figura 5 se puede observar el diagrama de flujo de la
soluci´
on propuesta para el Generador de Cargas de Trabajo.
En ella se presentan los pasos que debe realizar un usuario para
generar cargas de trabajo para diferentes escenarios din´
amicos
o descargar cargas de trabajo pre-generadas.
El usuario debe seleccionar la opci´
on Benchmark si desea
descargar workload traces previamente generados.
Esta opci´
on le permitir´
a al usuario escoger entre los 16 entor-
nos din´
amicos descritos en la Secci´
on III-B y luego descargar
alguno de los workload traces que se encuentren disponibles en
la plataforma [http://wtg.cba.com.py].
El usuario tambi´
en podr´
a generar sus propios workload
traces seleccionando la opci´
on Generaci´
on. Al momento de
seleccionar esta opci´
on, el usuario tendr´
a dos alternativas para
cargar los datos. Una de las alternativas permite cargar los datos
a trav´
es de un formulario, esto se realiza en Ingreso de Datos.
Posteriormente, luego de ingresar los datos de manera correcta,
se seguir´
a con la generaci´
on del workload trace. Por practicidad,
una vez cargados los datos de entrada en el formulario, los
mismos podr´
an tambi´
en ser descargados en un archivo para
su posterior utilizaci´
on en caso que se desee generar varios
escenarios con los mismos valores de entrada. La otra alternativa
para la generaci´
on del workload trace es por medio de un
archivo, el cual debe ser subido a la plataforma y debe contener
el formato usado en la opci´
on de descarga.
Tabla I
RESUMEN DE LAS VARIABLES EN FUNCI ´
ON D EL T IE MP O PARA L O S 16
ENTORNOS DIN ´
AMICOS IDENTIFICADOS.
Ent. Elasticidad Sobre-Reserva
Variables en
Funci´
on del
Tiempo
(0,0) Ninguna Ninguna Ninguna
(0,1) Ninguna Servidor Ucpu00
bcj (t),
Uram00
bcj (t)
(0,2) Ninguna Red Unet00
bcj (t)
(0,3) Ninguna Servidor y Red
Ucpu00
bcj (t),
Uram00
bcj (t),
Unet00
bcj (t)
(1,0) Horizontal Ninguna mSb(t)
(1,1) Horizontal Servidor
mSb(t),
Ucpu00
bcj (t),
Uram00
bcj (t)
(1,2) Horizontal Red mSb(t),
Unet00
bcj (t)
(1,3) Horizontal Servidor y Red
mSb(t),
Ucpu00
bcj (t),
Uram00
bcj (t),
Unet00
bcj (t)
(2,0) Vertical Ninguna V cpu00
bcj (t),
V ram00
bcj (t)
(2,1) Vertical Servidor
V cpu00
bcj (t),
V ram00
bcj (t),
Ucpu00
bcj (t),
Uram00
bcj (t)
(2,2) Vertical Red
V cpu00
bcj (t),
V ram00
bcj (t),
Unet00
bcj (t)
(2,3) Vertical Servidor y Red
V cpu00
bcj (t),
V ram00
bcj (t),
Ucpu00
bcj (t),
Uram00
bcj (t),
Unet00
bcj (t)
(3,0) Horizontal y
Vertical Ninguna
mSb(t),
V cpu00
bcj (t),
V ram00
bcj (t)
(3,1) Horizontal y
Vertical Servidor
mSb(t),
V cpu00
bcj (t),
V ram00
bcj (t),
Ucpu00
bcj (t),
Uram00
bcj (t)
(3,2) Horizontal y
Vertical Red
mSb(t),
V cpu00
bcj (t),
V ram00
bcj (t),
Unet00
bcj (t)
(3,3) Horizontal y
Vertical Servidor y Red
mSb(t),
V cpu00
bcj (t),
V ram00
bcj (t),
Ucpu00
bcj (t),
Uram00
bcj (t),
Unet00
bcj (t)
IV-A. Datos de Entrada
El Generador de Cargas de Trabajo considera diversos datos
de entrada utilizados para la generaci´
on de workload traces
con diferentes caracter´
ısticas de cualquiera de los escenarios
din´
amicos identificados en [7]. Ejemplos de estos datos de
entrada se muestran la Tabla II:
Selecci´
on del escenario: como primer requisito se deber´
a
ingresar o seleccionar uno de los 16 entornos din´
amicos
que fueron explicados en la Secci´
on III-B.
Figura 5. Diagrama de flujo de la soluci´
on propuesta para el Generador de Cargas de Trabajo.
Duraci´
on total de la traza de carga de trabajo: es el
tiempo de duraci´
on total de la traza de carga de trabajo
(workload trace). Se debe proveer el tiempo final del
workload trace. Los valores ingresados deben ser n´
umeros
enteros y representan unidades de tiempo discreto. Estos
valores corresponden al intervalo de tiempo en el cual las
VMs ser´
an creadas y destruidas.
N´
umero de centros de datos (Min-Max): es la cantidad
de datacenters que formar´
an parte del workload trace. Se
debe ingresar un valor m´
ınimo y un valor m´
aximo entre
los cuales se elegir´
a un valor utilizando una funci´
on de dis-
tribuci´
on de probabilidad uniforme. Este valor representa
el n´
umero de datacenters a ser generados.
Cantidad de servicios (Min-Max): es la cantidad de
servicios que formar´
an parte del workload trace. Se debe
ingresar un valor m´
ınimo y un valor m´
aximo entre los
cuales se escoger´
an los valores a ser utilizados en la
simulaci´
on, y al igual que el n´
umero de centros de datos,
se elegir´
a un valor uniformemente. Este valor representa el
n´
umero de servicios a ser generados por cada datacenter y
se escoge una sola vez para todo el proceso de simulaci´
on.
Cantidad de VMs por servicio: es la cantidad de VMs
por servicio que formar´
an parte del workload trace. Se
debe ingresar un valor m´
ınimo y un valor m´
aximo, eli-
giendo un valor utilizando una funci´
on de distribuci´
on de
probabilidad uniforme.
Tiempo de creaci´
on de VMs: es el instante de tiempo
discreto en que cada VM ser´
a creada. Los valores a ser
ingresados dependen de qu´
e par´
ametros se requieran de
acuerdo a cada funci´
on de densidad de distribuci´
on de
probabilidad (fdp) escogida para este par´
ametro. Tres fdps
fueron implementadas para este trabajo: (1) uniforme, (2)
Poisson y (3) normal positiva. Dependiendo del compor-
tamiento de la fdp seleccionada, se elegir´
an los valores
correspondientes que indicar´
an el tiempo de inicio de cada
VM a ser creada dentro de un servicio. Es importante men-
cionar que el tiempo de creaci´
on de VMs debe estar dentro
del rango de duraci´
on del workload trace escogido. El
tiempo de finalizaci´
on de cada VM es escogido utilizando
una funci´
on de distribuci´
on de probabilidad uniforme con
un valor mayor al par´
ametro Tiempo de creaci´
on de VMs
pero menor o igual al tiempo de duraci´
on de la traza.
Recursos virtuales de las VMs (procesador y memoria):
es la capacidad de recursos de memoria (RAM) y pro-
cesador (CPU) que se asignar´
an a las VMs. Los valores
a ser ingresados dependen de los par´
ametros de la fdp
escogida para la asignaci´
on de recursos. Dependiendo del
comportamiento de la fdp, se elegir´
a un valor adecuado.
Recursos virtuales de las VMs (red): es la capacidad
de recurso de red que se asignar´
a a cada VM que formar´
a
parte del workload trace. Se debe ingresar un valor m´
ınimo
y un valor m´
aximo entre los cuales se elegir´
a un valor
utilizando una funci´
on de distribuci´
on de probabilidad
uniforme. Este valor representa la capacidad de red reser-
vada a cada VM generada por cada servicio. Los valores
ingresados deben ser n´
umeros enteros.
Utilizaci´
on de recursos virtuales de las VMs (proce-
sador, memoria y red): es la utilizaci´
on de recursos de
memoria (RAM), procesador (CPU) y red de las VMs. Los
valores a ser ingresados dependen de los par´
ametros de la
fdp escogida para la asignaci´
on de recursos.
Tabla II
DATOS DE EN TR ADA D E EJ EM PL O PAR A GE NE RA R UN A CA RG A DE T RA BA JO .
Datos de Entrada Ejemplos
1. Selecci´
on del escenario Entorno (3,3)
2. Duraci´
on de la traza de carga de trabajo (t)(0 - 100)
3. Cantidad de centros de datos (1 - 2)
4. Cantidad de servicios (100 - 100)
5. Cantidad de VMs por servicio (1 - 20)
6. Tiempo de creaci´
on de VMs Uniforme(0, 100)
7. Recursos de CPU [ECU] Poisson(8)
8. Utilizaci´
on de CPU [ %]Poisson(50)
9. Recursos de Memoria [GB] Normal(10.0, 2.0)
10. Utilizaci´
on de Memoria [ %]Normal(50.0, 20.0)
11. Recursos de Red [Mbps] (100 - 1000)
12. Utilizaci´
on de Red [ %]Uniforme(50, 90)
13. Rango de valores de ingresos por ejecutar
las VMs (0.1 - 1.5)
14. Rango de valores de SLA de las VMs (1 - 5)
Dependiendo del comportamiento de la fdp, se elegir´
a un
valor que ser´
a el porcentaje de utilizaci´
on del recurso
correspondiente a cada VM. Como se mencion´
o anterior-
mente, en los escenario en los que el overbooking no es
considerado, la utilizaci´
on considerada ser´
a del 100 %.
Rango de valores de ingresos econ´
omicos por VMs: es
el costo por la ejecuci´
on que se asignar´
a a cada VM que
formar´
a parte del workload trace utilizando una funci´
on
de distribuci´
on de probabilidad uniforme. Se debe ingresar
un valor m´
ınimo y un valor m´
aximo entre los cuales se
elegir´
a un valor. Este valor representa el costo econ´
omico
asignado a cada VM generada por cada servicio.
Rango de valores de SLA de las VMs: es el nivel de SLA
que se asignar´
a a cada VM que formar´
a parte del workload
trace. Se debe ingresar un valor m´
ınimo y un valor m´
aximo
(s) entre los cuales se elegir´
a un valor utilizando una
funci´
on de distribuci´
on de probabilidad uniforme. Los
valores ingresados deben ser enteros.
Cabe mencionar que si se desea una cantidad fija de data-
centers, servicios o VMs por servicio, el valor m´
ınimo debe ser
igual al valor m´
aximo al especificar cada uno de los rangos.
Como se mencion´
o anteriormente, los siguientes par´
ametros
utilizan diferentes posibles funciones de distribuci´
on de pro-
babilidad para la asignaci´
on de valores: (1) recursos virtuales
de las VMs (procesador, memoria y red) y (2) utilizaci´
on de
recursos virtuales de las VMs (procesador, memoria y red).
Particularmente, para este trabajo se consideraron tres fdps:
(1) uniforme, (2) Poisson y (3) normal positiva. Los dem´
as
par´
ametros se obtienen utilizando ´
unicamente en la funci´
on de
distribuci´
on de probabilidad uniforme, aunque cabe destacar que
este trabajo puede ser extendido para considerar cualquier otra
fdp adecuada para el contexto.
En la Tabla II se pueden observar los datos de entrada expli-
cados en esta secci´
on con valores de ejemplo correspondientes.
El entorno escogido es el Entorno (3,3) (ver Tabla I), el cual
tendr´
a una duraci´
on de 100 instantes de tiempo discreto. La
cantidad de centros de datos ser´
a determinada entre los valores
1 y 2, en los cuales se crear´
an 100 servicios que tendr´
an entre
1 y 20 VMs distribu´
ıdas uniformemente.
Como puede verse en la Figura 6, es posible definir los
tiempos de creaci´
on de las VMs seg´
un diferentes fdps. Para el
ejemplo de la Tabla II, las VMs ser´
an creadas uniformemente
desde t= 0 at= 100, atendiendo al valor ingresado:
Uniforme(0,100). Adicionalmente, la Figura 6 muestra otros
3 ejemplos de creaci´
on de VMs acorde con la funci´
on de
distribuci´
on de Poisson con valores de λ= 10,λ= 50 yλ= 70
respectivamente. Como puede verse en la Figura 6, las VMs son
mayormente creadas en los instantes de tiempo correspondientes
a los valores esperados de λpara cada workload trace.
Siguiendo el ejemplo, el workload trace a ser generado con
los datos de la Tabla II contendr´
a VMs cuyos recursos de
CPU ser´
an asignados utilizando una funci´
on de distribuci´
on de
Poisson con un valor esperado de 8 [ECU], mientras que su
utilizaci´
on ir´
a variando en cada instante de tiempo utilizando
la misma fdp mencionada anteriormente con un valor esperado
de 50 %. Para los recursos de RAM se seguir´
a un proceso
similar utilizando una funci´
on de distribuci´
on Normal con sus
respectivos valores de media (µ) y desviaci´
on est´
andar (σ),
mientras que los recursos y la utilizaci´
on de red ser´
an asignados
mediante la utilizaci´
on de una funci´
on de distribuci´
on uniforme.
Finalmente, las VMs generar´
an un ingreso econ´
omico para el
CSP de entre 0.1 y 1.5 [$] con niveles de SLA entre 1 y 5.
IV-B. Datos de Salida
La salida del Generador de Cargas de Trabajo representa
la carga de trabajo de un entorno din´
amico. En el software
esta salida se representa mediante valores separados por coma
(CSV). A continuaci´
on se explica brevemente la salida del
generador para el entorno m´
as sencillo presentado en este
trabajo: Entorno(0,0) (ver Figura 7). En la traza de carga de
trabajo se pueden observar 2 VMs, V000 (Sb= 0,DCc= 0 y
Vj= 0) y V001 (Sb= 0,DCc= 0 yVj= 1). Debido a que no
est´
a considerada la elasticidad horizontal, todas las VMs de un
mismo servicio (S0) son creadas (t= 1) y destruidas (t= 4)
en el mismo instante de tiempo.
Adem´
as, como la elasticidad vertical no es considerada en
este entorno sencillo, la asignaci´
on de recuros permanece igual
desde el inicio para ambas VMs.
En el Entorno(0,0) de ejemplo (ver Figura 7) tampoco est´
a
presente el overbooking de recursos de servidor (procesador
y memoria) ni el overbooking de recursos de red, por lo que
la utilizaci´
on de ambos es considerada al 100 %. En caso que
ambos tipos de overbooking sean considerados, los valores de
utilizaci´
on de los recursos cambiar´
ıan en funci´
on del tiempo.
V. CONCLUSIONES Y TR ABAJO S FUTU RO S
Una vez definidos cada uno de estos entornos a trav´
es de un
estudio previo de m´
as de 60 art´
ıculos de investigaci´
on que per-
mitieron proponer una taxonom´
ıa de entornos din´
amicos para la
ubicaci´
on de VMs orientadas al proveedor en [7], se implementa
un Generador de Cargas de Trabajo, aporte principal de este
trabajo. Este generador propone diversos workload traces para
cada uno de los entornos din´
amicos identificados de manera
a utilizarlos como instancias de prueba, es decir, benchmarks
que permitan comparar las diferentes t´
ecnicas de soluci´
on que
buscan resolver el problema VMP din´
amico.
Por medio del Generador de Cargas de Trabajo se podr´
a
dar inicio a: (1) la exploraci´
on de desaf´
ıos asociados a cada
0 10 20 30 40 50 60 70 80 90 100
0
3
6
9
12
15
Tiempo (t)
N´
umero de VMs creadas
VMs creadas en funci´
on del tiempo (t)
Poisson λ= 10
Poisson λ= 50
Poisson λ= 70
Uniforme
Figura 6. Ejemplo de cargas de trabajo con diferentes funciones de distribuci´
on de probabilidad para el tiempo de creaci´
on de VMs.
Figura 7. Ejemplo de traza de carga de trabajo para el problema VMP en el Entorno (0,0)
entorno, (2) la propuesta de nuevas formulaciones y pruebas de
algoritmos que resuelvan estos desaf´
ıos con diferentes tipos de
cargas de trabajo y (3) la oportunidad de comparar efectiva-
mente el desempe˜
no y calidad de los diferentes algoritmos con
experimentos reproducibles.
Este generador se encuentra actualmente publicado y dispo-
nible para su utilizaci´
on en http://wtg.cba.com.py. El mismo
puede ser extendido en diversos aspectos como por ejemplo:
(1) la extensi´
on de los tipos de recursos disponibles en una VM
(e.g.almacenamiento permanente (disco duro), GPU, entre otros)
y (2) utilizaci´
on de otras fdps adem´
as de las ya implementadas.
Como otro trabajo futuro se propone la extensi´
on del Gene-
rador de Cargas de Trabajo para proveer un m´
odulo estad´
ıstico
para el seguimiento del uso del Generador de Cargas de
Trabajo propuesto (benchmarks, entornos m´
as utilizados en la
generaci´
on, entre otros). De esta manera, se podr´
ıa obtener
importante informaci´
on relacionada con los entornos din´
amicos
m´
as relevantes para la comunidad cient´
ıfica, principalmente para
las aplicaciones de computaci´
on en la nube.
REFERENCIAS
[1] Fabio L´
opez-Pires and Benjam´
ın Bar´
an. A many-objective optimization
framework for virtualized datacenters. In Proceedings of the 2015 5th
International Conference on Cloud Computing and Service Science, pages
439–450, 2015.
[2] Fabio L´
opez-Pires and Benjam´
ın Bar´
an. A virtual machine placement
taxonomy. In Proceedings of the 2015 IEEE/ACM 15th International
Symposium on Cluster, Cloud and Grid Computing. IEEE Computer
Society, 2015.
[3] Diego Ihara, Fabio L´
opez-Pires, and Benjam´
ın Bar´
an. Many-objective
virtual machine placement for dynamic environments. In Proceedings of
the 2015 IEEE/ACM 8th International Conference on Utility and Cloud
Computing. IEEE Computer Society, 2015.
[4] Fabio L´
opez-Pires and Benjam´
ın Bar´
an. Multi-objective virtual machine
placement with service level agreement: A memetic algorithm approach.
In Proceedings of the 2013 IEEE/ACM 6th International Conference on
Utility and Cloud Computing, pages 203–210. IEEE Computer Society,
2013.
[5] Jammily Ortigoza, Fabio L´
opez Pires, and Benjam´
ın Bar´
an. A taxonomy
on dynamic environments for provider-oriented virtual machine placement.
In Accepted at 2016 IEEE 4th International Conference on Cloud Engi-
neering. IEEE Computer Society, 2016.
[6] Tsplib. URL http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/. ´
Ulti-
mo acceso 3/04/2016.
[7] Jammily Ortigoza, Fabio L´
opez-Pires, and Benjam´
ın Bar´
an. Workload
trace generation for dynamic environments in cloud computing. Technical
report, Polytechnic School, National University of Asunci´
on, 2015.
[8] Michael Armbrust, O Fox, Rean Griffith, Anthony D Joseph, Y Katz,
Andy Konwinski, Gunho Lee, David Patterson, Ariel Rabkin, Ion Stoica,
et al. Above the clouds: A berkeley view of cloud computing. University
of California, Berkeley, Tech. Rep, 2009.
[9] Wenting Wang, Haopeng Chen, and Xi Chen. An availability-aware virtual
machine placement approach for dynamic scaling of cloud applications.
In Ubiquitous Intelligence & Computing and 9th International Conference
on Autonomic & Trusted Computing (UIC/ATC), 2012 9th International
Conference on, pages 509–516. IEEE, 2012.
[10] David Hoeflin and Paul Reeser. Quantifying the performance impact of
overbooking virtualized resources. In Communications (ICC), 2012 IEEE
International Conference on, pages 5523–5527. IEEE, 2012.
[11] Weiwei Fang, Xiangmin Liang, Shengxin Li, Luca Chiaraviglio, and
Naixue Xiong. Vmplanner: Optimizing virtual machine placement and
traffic flow routing to reduce network power costs in cloud data centers.
Computer Networks, 57(1):179–196, 2013.
[12] Xiaoqing Zhang, Qiang Yue, and Zhongtang He. Dynamic energy-
efficient virtual machine placement optimization for virtualized clouds.
In Proceedings of the 2013 International Conference on Electrical and
Information Technologies for Rail Transportation (EITRT2013)-Volume II,
pages 439–448. Springer, 2014.
[13] Ofer Biran, Antonio Corradi, Mario Fanelli, Luca Foschini, Alexander
Nus, Danny Raz, and Ezra Silvera. A stable network-aware vm place-
ment for cloud systems. In Proceedings of the 2012 12th IEEE/ACM
International Symposium on Cluster, Cloud and Grid Computing (ccgrid
2012), pages 498–506. IEEE Computer Society, 2012.
[14] Burak Kantarci, Luca Foschini, Antonio Corradi, and Hussein T Mouftah.
Inter-and-intra data center vm-placement for energy-efficient large-scale
cloud systems. In Globecom Workshops (GC Wkshps), 2012 IEEE, pages
708–713. IEEE, 2012.
[15] Fei Song, Daochao Huang, Huachun Zhou, Hongke Zhang, and Ilsun You.
An optimization-based scheme for efficient virtual machine placement.
International Journal of Parallel Programming, 42(5):853–872, 2014.
[16] Zhibo Cao and Shoubin Dong. An energy-aware heuristic framework
for virtual machine consolidation in cloud computing. The Journal of
Supercomputing, pages 1–23, 2014.
[17] Hai Jin, Hanfeng Qin, Song Wu, and Xuerong Guo. Ccap: A cache
contention-aware virtual machine placement approach for hpc cloud.
International Journal of Parallel Programming, pages 1–18, 2013.
[18] Inkwon Hwang and Massoud Pedram. Hierarchical virtual machine con-
solidation in a cloud computing system. In Cloud Computing (CLOUD),
2013 IEEE Sixth International Conference on, pages 196–203. IEEE.
[19] Ismael Solis Moreno, Renyu Yang, Jie Xu, and Tianyu Wo. Improved
energy-efficiency in cloud datacenters with interference-aware virtual
machine placement. In Autonomous Decentralized Systems (ISADS), 2013
IEEE Eleventh International Symposium on, pages 1–8. IEEE, 2013.
[20] Tiago C Ferreto, Marco AS Netto, Rodrigo N Calheiros, and C´
esar AF
De Rose. Server consolidation with migration control for virtualized data
centers. Future Generation Computer Systems, 27(8):1027–1034, 2011.
[21] Shao-Heng Wang, Patrick P-W Huang, Charles H-P Wen, and Li-Chun
Wang. Eqvmp: Energy-efficient and qos-aware virtual machine placement
for software defined datacenter networks. In Information Networking
(ICOIN), 2014 International Conference on, pages 220–225. IEEE, 2014.
[22] Decheng Chang, Gaochao Xu, Liang Hu, and Kun Yang. A network-
aware virtual machine placement algorithm in mobile cloud computing
environment. In Wireless Communications and Networking Conference
Workshops (WCNCW), 2013 IEEE, pages 117–122. IEEE, 2013.
[23] Xiaodong Zhang, Ying Zhang, Xing Chen, Kai Liu, Gang Huang, and
Jianfeng Zhan. A relationship-based vm placement framework of cloud
environment. In Proceedings of the 2013 IEEE 37th Annual Computer
Software and Applications Conference, pages 124–133. IEEE Computer
Society, 2013.
[24] Wei Huang, Xin Li, and Zhuzhong Qian. An energy efficient virtual
machine placement algorithm with balanced resource utilization. In
Innovative Mobile and Internet Services in Ubiquitous Computing (IMIS),
2013 Seventh International Conference on, pages 313–319. IEEE, 2013.
[25] Negin Kord and Hassan Haghighi. An energy-efficient approach for
virtual machine placement in cloud based data centers. In Information
and Knowledge Technology (IKT), 2013 5th Conference on, pages 44–49.
IEEE, 2013.
[26] Kangkang Li, Jie Wu, and Adam Blaisse. Elasticity-aware virtual machine
placement for cloud datacenters. In Cloud Networking (CloudNet), 2013
IEEE 2nd International Conference on, pages 99–107. IEEE, 2013.
[27] Huynh Tu Dang and Fabien Hermenier. Higher sla satisfaction in
datacenters with continuous vm placement constraints. In Proceedings
of the 9th Workshop on Hot Topics in Dependable Systems, page 1. ACM.
[28] NumPy Sitio Oficial. http://www.numpy.org/. ´
Ultimo acceso 01/04/2016.
[29] SciPy Sitio Oficial. http://www.scipy.org/. ´
Ultimo acceso 01/04/2016.
[30] Enthought Sitio Oficial. http://www.enthought.org/. ´
Ultimo acceso
01/04/2016.
... In order to optimize the on-demand nature of IaaS environments, cloud service requests are vigorously accepted for placement based on diverse vigorous parameters [3] . A classification that acknowledged the most significant parameters was presented [7] which includes the ability for cloud services to be elastic and utilization of physical resources based on the dynamic parameters from the cloud service provider's viewpoint. Elastic services have the ability to add or reduce virtual resources [22], therefore, it is categorized as Vertical elasticity and Horizontal elasticity. ...
Conference Paper
Over the years, Cloud Computing has offered many benefits such as providing services to end-users on demand. However, infrastructure as service providers is faced with the challenge of handling many end-users’ requests for virtual resources. In this regard, one of the key challenges of resource allocation is Virtual Machine Placement (VMP) problem. However, the dynamicity and uncertainty of Cloud platform and the unpredictable nature of the end-users’ requests have rendered the VMP problem more interesting. Recently, a two-phase Virtual Machine Placement scheme, combining the benefits of both online (dynamic) and offline (static) formulations were presented. The proposed scheme is based on a prediction-based triggering method used to determine when to trigger the VMP reconfiguration phase. However, the existing method leads to a less accurate prediction outcome, therefore, results in less optimal solution from the reconfiguration phase. This work proposes an enhanced two- phase Virtual Machine Placement strategy based on novel triggering method. The proposed triggering method considers Damped trend exponential smoothing method. An experimental evaluation is performed against the previous approach, considering 160 scenarios. The experimental results show that the proposed work achieved a minimum cost function when compared with the benchmark approach.
... Additionally, 80 different workload traces of requested cloud services (V (t)) and their specifications were considered as input data as well as their utilization of resources U (t) at each discrete time t. Workload traces of cloud service requests were generated using a Cloud Workload Trace Generator (CWTG) 3 based on [9] for provideroriented VMP problems in cloud computing environments. The considered IaaS cloud infrastructure represents datacenters of different sizes. ...
... in [25]. ...
Thesis
Full-text available
Cloud computing datacenters provide thousands to millions of virtual machines (VMs) on-demand in highly dynamic environments, requiring quick placement of requested VMs into available physical machines (PMs). Due to the randomness of customer requests, the Virtual Machine Placement (VMP) should be formulated as an online optimization problem. The first part of this work analyzes alternatives to solve the formulated problem, an experimental comparison of five different online deterministic heuristics against an offline memetic algorithm with migration of VMs was performed, considering several experimental workloads. Simulations indicate that First-Fit Decreasing algorithm (A4) outperforms other evaluated heuristics on average. This work presents a two-phase schema formulation of a VMP problem considering the optimization of three objective functions in an IaaS environment with elasticity and overbooking capabilities. The two-phase schema formulation describes that the allocation of the VMs can be separated into two sub-problems, the incremental allocation (iVMP) and the reconfiguration of a placement (VMPr). To analyze alternatives to solve the formulated problem, an experimental comparison of three different objective function scalarization methods as part of the iVMP and VMPr was performed considering several experimental workloads. Simulations indicate that the Euclidean distance to origin outperforms other evaluated scalarization methods on average. In order to portray the dynamic nature of an IaaS environment a customizable workload trace generator was developed to simulate uncertainty in the scenarios with elasticity and overbooking of resources in VM requests. Experimental results proved that the Euclidean distance is preferable over the other scalarizatiom methods to improve the values of the power consumption objective function.
... Workload traces of cloud service requests were generated using a Cloud Workload Trace Generator (CWTG) for provider-oriented VMP problems [113], and are available online 2 for research purposes. Considering parameters described in Table 6.7, ...
... Uniform and Poisson). Workload traces of cloud service requests were generated using a Cloud Workload Trace Generator (CWTG) for provideroriented VMP problems [17], and are available online 2 . ...
Conference Paper
Full-text available
Cloud computing providers must support requests for resources in dynamic environments, considering service elasticity and overbooking of physical resources. Due to the randomness of requests, Virtual Machine Placement (VMP) problems should be formulated under uncertainty. In this context, a renewed formulation of the VMP problem is presented , considering the optimization of four objective functions: (i) power consumption, (ii) economical revenue, (iii) resource utilization and (iv) reconfiguration time. To solve the presented formulation, a two-phase optimization scheme is considered, composed by an online incremental VMP phase (iVMP) and an offline VMP reconfiguration (VMPr) phase. An experimental evaluation of five algorithms taking into account 400 different scenarios was performed, considering three VMPr Triggering and two VMPr Recovering methods as well as three VMPr resolution alternatives. Experimental results indicate which algorithm outperformed the other evaluated algorithms, improving the quality of solutions in a scenario-based uncertainty model considering the following evaluation criteria: (i) average, (ii) maximum and (iii) minimum objective function costs.
... Uniform and Poisson). Workload traces of cloud service requests were generated using a Cloud Workload Trace Generator (CWTG) for provider-oriented VMP problems [42], and are available online 2 for research purposes. ...
Article
Full-text available
Infrastructure as a Service (IaaS) providers must support requests for virtual resources in highly dynamic cloud computing environments. Due to the randomness of customer requests, Virtual Machine Placement (VMP) problems should be formulated under uncertainty. This work presents a novel two-phase optimization scheme for the resolution of VMP problems for cloud computing under uncertainty of several relevant parameters, combining advantages of online and offline formulations in dynamic environments considering service elasticity and overbooking of physical resources. In this context, a formulation of a VMP problem is presented, considering the optimization of the following four objective functions: (i) power consumption, (ii) economical revenue, (iii) resource utilization and (iv) reconfiguration time. The proposed two-phase optimization scheme includes novel methods to decide when to trigger a placement reconfiguration through migration of virtual machines (VMs) between physical machines (PMs) and what to do with VMs requested during the placement recalculation time. An experimental evaluation against state-of-the-art alternative approaches for VMP problems was performed considering 400 scenarios. Experimental results indicate that the proposed methods outperform other evaluated alternatives, improving the quality of solutions in a scenario-based uncertainty model considering the following evaluation criteria: (i) average, (ii) maximum and (iii) minimum objective function costs.
Chapter
Cloud computing is an era idea wherein customers use far-off servers to keep statistics and applications. Cloud computing sources are demand-pushed and are used inside the shape of digital machines (VMs) to facilitate complicated tasks. Deploying a digital system is the method of mapping a digital system to a bodily system. This is an energetic study subject matter, and numerous techniques have been followed to cope with this difficulty inside the literature. Virtual system migration takes a sure quantity of time, consumes plenty of sources, influences the conduct of different digital machines at the server, and degrades machine performance. If you've got got a massive variety of digital system migrations on your cloud computing machine, you may now no longer be capable of meet your provider stage contracts. Therefore, the maximum trustworthy manner to lessen statistics middle electricity intake is to optimize the preliminary placement of digital machines. In the deployment method, many researchers use ant colony optimization (ACO) to save you immoderate electricity intake discounts. This is because of its effective comments mechanism and allotted retrieval method. This article information the contemporary techniques for digital system positioning and integration that let you use ACOs to enhance the electrical performance of your cloud statistics centers. The assessment among the techniques supplied here exhibits the value, limitations, and guidelines for improving different techniques alongside the manner.KeywordsCloud computingVirtual machine placementACOEnergy efficiencyDistributed search method
Conference Paper
Full-text available
Cloud computing datacenters provide millions of virtual machines in actual cloud markets. In this context, Virtual Machine Placement (VMP) is one of the most challenging problems in cloud infrastructure management, considering the large number of possible optimization criteria and different formulations that could be studied. Considering the on-demand model of cloud computing, the VMP problem should be solved dynamically to efficiently attend typical workload of modern applications. This work proposes a taxonomy in order to understand possible challenges for Cloud Service Providers (CSPs) in dynamic environments, based on the most relevant dynamic parameters studied so far in the VMP literature. Based on the proposed taxonomy, several unexplored environments have been identified. To further study those research opportunities, sample workload traces for each particular environment are required; therefore, basic examples illustrate a preliminary work on dynamic workload trace generation.
Conference Paper
Full-text available
This paper presents for the first time a formulation of the Virtual Machine Placement as a Many-Objective problem (MaVMP), considering the simultaneous optimization of the following five objective functions for dynamic environments: (1) power consumption, (2) inter-VM network traffic, (3) economical revenue, (4) number of VM migrations and (5) network traffic overhead for VM migrations. To solve the formulated MaVMP problem, a novel Memetic Algorithm is proposed. As a potentially large number of feasible solutions at any time is one of the challenges of MaVMP, five selection strategies are evaluated in order to automatically select one solution at each time. The proposed algorithm with the considered selection strategies were evaluated in two different scenarios.
Technical Report
Full-text available
Cloud computing datacenters provide millions of virtual machines in actual cloud markets. In this context, Virtual Machine Placement (VMP) is one of the most challenging problems in cloud infrastructure management, considering the large number of possible optimization criteria and different formulations that could be studied. Considering the on-demand model of cloud computing, the VMP problem should be optimized dynamically to efficiently attend typical workload of modern applications. This work proposes several dynamic environments for solving the VMP from the providers' perspective based on the most relevant dynamic parameters studied so far in the VMP literature. A complete set of environments and workload traces examples are presented in this work.
Conference Paper
Full-text available
The process of selecting which virtual machines should be located (i.e. executed) at each physical machine of a datacenter is commonly known as Virtual Machine Placement (VMP). This work presents a general manyobjective optimization framework that is able to consider as many objective functions as needed when solving the VMP problem in a pure multi-objective context. As an example of utilization of the proposed framework, for the first time a formulation of the many-objective VMP problem (MaVMP) is proposed, considering the simultaneous optimization of the following five objective functions: (1) power consumption, (2) network traffic, (3) economical revenue, (4) quality of service and (5) network load balancing. To solve the formulated many-objective VMP problem, an interactive memetic algorithm is proposed. Simulations prove the correctness of the proposed algorithm and its effectiveness converging to a treatable number of solutions in different experimental scenarios.
Conference Paper
Full-text available
Cloud computing datacenters dynamically provide millions of virtual machines (VMs) in actual cloud markets. In this context, Virtual Machine Placement (VMP) is one of the most challenging problems in cloud infrastructure management, considering the large number of possible optimization criteria and different formulations that could be studied. VMP literature include relevant research topics such as energy efficiency, Service Level Agreement (SLA), Quality of Service (QoS), cloud service pricing schemes and carbon dioxide emissions; all of them with high economical and ecological impact. This work classifies an extensive up-to-date survey of the most relevant VMP literature proposing a novel taxonomy in order to identify research opportunities and define a general vision on this research area.
Conference Paper
Full-text available
Virtual machine (VM) consolidation in Cloud computing environments provides a great opportunity for energy saving. However, the obligation of providing suitable quality of service to end users leads to the necessity in dealing with energy-performance tradeoff. In this paper, we propose a redesigned energy-aware heuristic framework for VM consolidation to achieve a better energy-performance tradeoff. The main contribution of us is a Service Level Agreement (SLA) violation decision algorithm, which is used to decide a host is overload with SLA violation or not. Finally, we have evaluated our framework through simulation on large-scale experiments driven by workload traces from more than a thousand VMs, and the results show that our framework outperforms previous work, which has 11.8%~27% decrease in energy consumption, 57.9%~78.4% decrease in SLA violation, 63.2%~84.1% decrease in energy-performance metric which is a product metric of the energy consumption and SLA violation.
Article
A virtual machine placement strategy based on the trade-off between energy consumption and SLA is presented. Aiming at dynamical changes of workload requirements, a self-adaptive placement strategy RLWR based on robust local weight regression is presented, which could decide the overload time of hosts dynamically. After detecting overloaded hosts, one virtual machine migration selection algorithm MNM is proposed. The MNM's objective is to get minimal migration number. The migrated virtual machines are deployed using bin-packing algorithm PBFDH. The experimental results show that our algorithm has obvious advantages than other algorithms.
Article
personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. Acknowledgement The RAD Lab's existence is due to the generous support of the founding members Google, Microsoft, and Sun Microsystems and of the affiliate members Amazon Web Services, Cisco Systems, Facebook, Hewlett-
Conference Paper
To provide effective and reliable services, cloud datacenters need parallel computing and virtualization techniques. This work presents an improved virtual machine (VM) placement mechanism, called Energy efficiency and Quality of Service (QoS) aware VM Placement (EQVMP) to overcome the problem of unbalanced traffic load in switching on and off VMs for the purpose of energy saving. EQVMP combines three key techniques: (1) hop reduction, (2) energy saving and (3) load balancing. Hop reduction can regroup VMs to lower the traffic load among them. Energy saving techniques aim at choosing the appropriate servers. The proposed load balancing updates VM placement periodically. Our experimental results show that the proposed scheme can lower energy consumption and maintain QoS. We propose an evaluation score [1] to assess VM placement in terms of energy, delay and throughput. Comparing to other existing placement policies, our proposed mechanism can enhance system throughput by 25% and can have better evaluation score.
Article
According to the important methodology of convex optimization theory, the energy-efficient and scalability problems of modern data centers are studied. Then a novel virtual machine (VM) placement scheme is proposed for solving these problems in large scale. Firstly, by referring the definition of VM placement fairness and utility function, the basic algorithm of VM placement which fulfills server constraints of physical machines is discussed. Then, we abstract the VM placement as an optimization problem which considers the inherent dependencies and traffic between VMs. By given the structural differences of recently proposed data center architectures, we further investigate a comparative analysis on the impact of the network architectures, server constraints and application dependencies on the potential performance gain of optimization-based VM placement. Comparing with the existing schemes, the performance improvements are illustrated from multiple perspectives, such as reducing the number of physical machines deployment, decreasing communication cost between VMs, improving energy-efficient and scalability of data centers.