-
Teste de desempenho em Desktops Virtuais
Vincius Campos , tila B. Vasconcelos
Centro Universitrio Ritter dos Reis - UniRitter
90.840-440 Porto Alegre RS Brasil
{[email protected],
[email protected]}
Abstract. This article discusses issues related to desktop
virtualization
and aims to evaluate the applicability of this technique. To
this performance
tests (benchmarks) was run in a infrastructure of VDI (Virtual
Desktop Infra-
structure) using the tool VMWareEsxi
Resumo. Este artigo aborda questes relativas virtualizao de
desktops e
visa avaliar a aplicabilidade dessa tcnica. Para isso foram
executados testes
de desempenho (benchmark) sob uma infraestrutura de VDI (Virtual
Desktop
Infrastructure) utilizando a ferramenta VMwareEsxi
1. Introduo
A capacidade de processamento dos computadores pessoais vem
aumentando exponen-
cialmente. Entretanto, essa capacidade no tem sido totalmente
aproveitada. Atualmen-
te, muitos data centers possuem servidores que utilizam apenas
10 ou 15% da capaci-dade total de processamento. Nesse contexto, a
virtualizao surge como uma grande
alternativa que visa diminuio desses desperdcios [GOLDEN E
SCHEFFY, 2008].
As mquinas virtuais abriram um novo leque de possibilidades,
como, por
exemplo: permitir que software legado pudesse executar nos caros
mainframes 1[CAR-
MONA 2008].
Uma mquina virtual pode ser definida como uma camada de software
que roda
um ambiente completo muito similar a uma mquina fsica. Com isso,
cada mquina
virtual pode ter seu prprio sistema operacional e aplicativos
rodando de forma isolada
sobre um mesmo recurso fsico, de forma paralela, ou simultnea,
com outras mquinas
virtuais [SMITH, J. E. e NAIR, R. 2005].
A virtualizao oferece muitos benefcios, um dos mais relevantes
para a com-
putao atual que a abstrao. A abstrao permite a utilizao de um
mesmo recurso
computacional (fsico) em diferentes sistemas e aplicaes, de
forma individualizada,
contribuindo para a resoluo de problemas como: flexibilidade,
portabilidade e geren-
ciamento de recursos computacionais.
Os conceitos relacionados virtualizao j vm sendo amplamente
aplicados na
rea de servidores, oferecendo ganhos significativos em termos de
consolidao e ge-
renciamento [LAUREANO, 2006].
1 mainframe um computador de grande porte, dedicado normalmente
ao processamento de um volume
grande de informaes
-
Os benefcios encontrados em servidores podem ser portados para
os desktops,
possvel usufruir das vantagens da virtualizao, pois administrar
desktops nunca foi
uma tarefa fcil, principalmente agora com o crescente aumento
dos usurios remotos e
mveis. Essa nova realidade fora os administradores a uma
constante busca em melho-
rias nos processos: reduo de custos, aumento de desempenho,
simplificao do geren-
ciamento, alm de ganhos de disponibilidade de recursos [CARMONA
2008].
O processo de gerenciamento de desktops passa por uma grande
transformao,
necessria rumo a virtualizao. A virtualizao de desktops (VDI -
Virtual Desktop
Infrastructure) torna-se uma soluo que proporciona um aumento
significativo na ca-
pacidade do gerenciamento e controle de desktops em nvel
corporativo, que visa o no
comprometimento da experincia do usurio. Porm, a tarefa de
trazer os desktops para
dentro do Data Center no uma tarefa to simples, muitas questes
surgem, por
exemplo: At onde possvel virtualizar? Quais as perdas e ganhos
com a sua utiliza-
o? Como minimizar o impacto para o usurio final? [LAUREANO,
2006].
O objetivo principal desta pesquisa apresentar resultados
obtidos, com a apli-
cao de benchmarks (testes de desempenho, aplicados em sistemas
computacionais)
em duas VDIs (infraestrutura de gerenciamento de desktops
virtuais); uma utilizando
virtualizao total e a outra utilizando paravirtualizao.
Esse artigo est subdivido em 8 sees, as sees 1,2 e 3 apresentam
a introdu-
o e um breve referencial terico. A seo 4 apresenta as
ferramentas que foram utili-
zadas nesse trabalho e a seo 5 traz o resumo de dois trabalhos
relacionados com o
tema. As sees 6 e 7 apresentam resultados obtidos nos testes e
consideraes finais; e
a ltima seo apresenta os anexos dessa pesquisa.
2. Virtualizao
A virtualizao um tema que vem sendo amplamente estudado e
discutido em traba-
lhos de pesquisa e em muitos seguimentos da computao. Porm, o
termo virtualizao
no se trata exatamente de um tema novo, pelo contrrio, suas
origens datam da dcada
de 70 [LAUREANO, 2006].
Na dcada de 70, era uma prtica comum que computadores tipo
mainframe2,
mesmo sendo de um nico fabricante, tivessem seu prprio sistema
operacional. Essa
prtica foi um dos principais impulsionadores para o advento das
mquinas virtuais
[LAUREANO, 2008].
Virtualizao pode ser definida como uma tcnica que tem como
principal ob-jetivo combinar ou dividir recursos computacionais
para prover um ou mais ambientes
operacionais de execuo [NANDA AND CHIUEH, 2005].
Os ambientes criados com a utilizao dessa tcnica so chamados de
mquinas
virtuais (VMs). Outro conceito importante quando se fala em
virtualizao o VMM
(Virtual Machine Monitor), tambm conhecido como hypervisor
[LAUREANO, 2006].
O VMM pode ser considerado como uma camada de software, inserida
entre o
sistema visitante (mquina virtual) e o hardware onde executado
(hospedeiro). Sua
2 Um mainframe um computador de grande porte, dedicado
normalmente ao processamento de um
grande volume de informaes.
-
funo fazer a interface entre os possveis sistemas visitantes, e
o hospedeiro compar-
tilhado por eles. Ele o responsvel pelo gerenciamento da
estrutura de hardware do
hospedeiro, por exemplo: dispositivos e E/S (Dispositivos de
entrada e sada.), contro-
ladores DMA (Direct memory access), assim criando um ambiente
completo e indepen-
dente para cada mquina virtual. [LAUREANO, 2006].
A Figura 1 representa uma viso geral das camadas presentes no
ambiente nati-
vo.
AMBIENTE NATIVO
APLICAES APLICAES APLICAES
SISTEMA OPERACIONAL: (WINDOWS, LINUX, SOLARIS, ETC)
HARDWARE FSICO: (CPU, MEMRIA, DISCO, REDE, ETC)
Figura 1. Diagrama de um ambiente Nativo apresenta um ambiente
nativo e
suas camadas; hardware, sistema operacional e aplicativos.
A figura 2 representa uma viso geral das camadas presentes no
ambiente
virtualizado. Com duas mquinas virtuais executando em
paralelo.
Figura 2. Diagrama de um ambiente Virtualizado apresenta um
ambiente
virtualizado e suas camadas: (hardware, VMM, VMs); em destaque
as camadas
presentes nas VMs (hardware, sistema operacional e
aplicativos).
AMBIENTE VIRTUALIZADO
MQUINA VIRTUAL
APLICAES APLICAES APLICAES
SISTEMA OPERACIONAL: (WINDOWS, LINUX, SOLARIS,
ETC)
HARDWARE VIRTUAL: (CPU, MEMRIA, DISCO, REDE, ETC)
MQUINA VIRTUAL
APLICAES APLICAES APLICAES
SISTEMA OPERACIONAL: (WINDOWS, LINUX, SOLARIS,
ETC)
HARDWARE VIRTUAL: (CPU, MEMRIA, DISCO, REDE, ETC)
CAMADA DE VIRTUALIZAO: (HYPERVISOR , MONITOR DE MQUINAS
VIRTUAIS)
HARDWARE FSICO: (CPU, MEMRIA, DISCO, REDE, ETC)
-
A virtualizao apresenta vantagens e desvantagens abaixo algumas
delas
[LAUREANO, 2006].
Vantagens
Flexibilidade
Reduo de Custos com HW
Backup
Disponibilidade
Desvantagens
Desempenho limitado
Emulao Incompleta
Necessidade de alterao Vms (nem sempre)
Segurana
Segundo [LAUREANO, 2006] as mquinas virtuais podem se
classificadas em
dois tipos: mquinas virtuais tipo I (virtualizao total) e
mquinas virtuais tipo II (Pa-
ravirtualizao). Que sero vistos com mais detalhes seguir.
2.1. Virtualizao total
Na Virtualizao total toda a infraestrutura de hardware do
hospedeiro virtualizada,
de modo que no necessria nenhuma espcie de modificao no sistema
operacional
a mquina virtual (convidado), para que o mesmo execute sobre o
VMM. Nessa tcnica
o hardware virtualizado e as instrues so interpretadas pelo VMM
antes de executa-
rem nas VMs, por esse motivo podem ocorrem perdas de desempenho,
[SMITH, J. E. e
NAIR, R. 2005].
A virtualizao total possui uma vantagem quando comparada com a
paravirtua-
lizao, a portabilidade total das VMs. A portabilidade se d pelo
fato de uma vez que o
VMM interpreta e virtualizada o hardware, as VMs pode ser
movidas para outros hos-
pedeiros sem a necessidade de adequao das mesmas [LAUREANO,
2006].
Essa tcnica utilizada por hypervisors conhecidos, como Vmware e
Virtual
Box. A figura 3 apresenta um diagrama da virtualizao total, nas
quais os sistemas
convidados (VMs) rodam na camada de software chamada monitor
(Virtual Machine
Monitor).
Figura 3. Mquina virtual do tipo I [LAUREANO, 2006]; os sistemas
con-
vidados rodando sobre a camada monitor; em destaque o hardware e
totalmente
virtualizado pelo VMM.
-
2.2. Paravirtualizao
Na paravirtualizao, segue os mesmos princpios da Virtualizao
Total, o sistema
convidado sofre modificaes, para que a interao com o VMM seja
eficiente. A para-
virtualizao exige modificaes no sistema operacional convidado, o
que diminui a
portabilidade da VM, mesmo assim ela obtm benefcios quando
comparada com a vir-
tualizao total.
O desempenho obtido com a paravirtualizao maior quando comparado
com a
virtualizao total, pelo fato de que as VMs paravirtualizadas
possuem acesso direto a
certos dispositivos de hardware, o que maximiza o seu desempenho
[LAUREANO,
2006].
Com a paravirtualizao permitido ao sistema convidado, acesso
direto em de-
terminados recursos de hardware do hospedeiro, o que propicia um
ganho de desempe-
nho, da paravirtualizao em comparao com a virtualizao total.
Esse acesso moni-
torado pelo VMM, garantido a individualidade de cada sistema
hospede, rodando de
forma concorrente sobre um nico sistema hospedeiro. Essa tcnica
utilizada pelo
VMM XenSource e Vmware [SMITH, J. E. e NAIR, R. 2005].
A figura 4 apresenta um diagrama da paravirtualizao, onde os
sistemas convi-
dados (VMs) rodam na camada de software chamada monitor (Virtual
Machine Moni-
tor). Entre a camada do VMM e o hardware do hospedeiro, existe
uma camada chama-
da anfitrio, cujo papel gerenciar o acesso direto ao hardware
[LAUREANO, 2006].
Figura 4. Mquina virtual do tipo II segundo [LAUREANO, 2006]; os
sis-
temas convidados esto na camada monitor; em destaque a camada
anfitrio que
gerencia o acesso direto ao hardware da mquina hospedeira.
2.3. Virtualizao de Desktops
A virtualizao de desktops segue basicamente os mesmos princpios
aplicados na vir-
tualizao de servidores, que permitir mltiplos sistemas
operacionais rodando ao
mesmo tempo sobre um mesmo computador base (hospedeiro) [VMWARE
2009].
Camada Anfitrio
-
A virtualizao de desktops visa disponibilizar para o usurio
final um sistema
operacional completo. Ela deve proporcionar para o usurio a
sensao mais prxima
possvel de um desktop convencional (nativo), esse um dos grandes
desafios da utili-
zao dessa tcnica [GOLDBERG, 1973].
O VDI visa diminuio de problemas relacionados aos desktops
principalmen-
te em ambientes corporativos, tais como: migrao, backup,
gerenciamento e manuten-
o [LAUREANO, 2006].
Anteriormente, o processo de trazer os desktops para dentro do
data center nada
mais era do que o compartilhamento de sees de um servidor, hoje
vemos a possibili-
dade de entregar para o usurio um ambiente virtual semelhante ao
tradicional (nativo).
Ainda com todos os benefcios de se estar dentro do data center,
dessa maneira
favorecendo questes como: compatibilidade de aplicaes e a
portabilidade dos
desktops [ SMITH, J. E. e NAIR, R. 2005].
A virtualizao propicia a abstrao de questes relacionadas a
hardware, o que
diminui o impacto negativo no caso da ocorrncia da uma falha
fsica [LAUREANO,
2006]. A figura 5 apresenta um modelo de uma VDI (Virtual
Desktop Infrastructure).
Figura 5. Virtualizao de Desktops [VMWARE 2009]; apresenta as
cama-
das necessrias para criao de uma VDI (armazenamento, rede, VMM,
VMs e
pontos de acesso remoto);
3. Benchmark
Benchmark o processo de submeter sistemas computacionais a
testes de carga, que so
executados atravs de programas, exercitando um conjunto adequado
de instrues que
geram cargas no sistema, usados como um mtodo de comparao de
desempenho entre
vrios subsistemas [SPEC 2009].
-
Com a evoluo das arquiteturas de computadores, ficou mais
complicada a
comparao de desempenho de diferentes sistemas computacionais
somente verificando
as especificaes fornecidas pelos fabricantes. Nesse sentido, os
testes de desempenho
(benchmark) tornam-se cada vez mais populares. So desenvolvidos
para serem aplica-
dos em diferentes sistemas, permitindo que esses resultados
possam ser comparados
entre diferentes sistemas e arquiteturas [JAIN, R. 1991].
Os benchmarks so considerados medidas de avaliao, que realizam
um con-
junto definido de operaes de cargas de trabalho (Worklod), que
visa produzir um re-
sultado, de acordo com as mtricas definidas pelo algoritmo ou
software de benchmark
[HENESSY, J.L.; PATTERSON 2007].
Os resultados obtidos com a utilizao de benchmarks, no refletem
100% do
desempenho geral de um sistema, todos os resultados
apresentados, sempre devem ser
considerados com uma margem de erro [SPEC 2009].
As mtricas para medio de desempenho necessitam ser baseadas em
alguma
medida, que apresente claramente os resultados dos testes
realizados. Dentre as medidas
existentes, as mais populares so o MIPS (Millions of
Instructions per Second - Milhes
de Instrues por Segundo) e o MFLOPS (Millions of Floating-Point
Operations per
Second - Milhes de Operaes de Ponto-Flutuante por Segundo)
[HENESSY, J.L.;
PATTERSON, 2007].
Conforme [BERRY, 1991] Benchmarks so divididos em tipos, e os
principais so:
Sinttico: suas principais funcionalidades so de exercitar alguns
componentes do computador. Geralmente, procuram determinar uma
frequncia mdia de ins-
trues tpicas, geralmente utilizadas, e reproduzidas em um
programa. Os
exemplos mais conhecidos so o Whetstone3 e o Dhrystone
4.
Kernel: se baseiam no fato de que a parte mais importante de um
programa o seu kernel (ncleo). Esses tipos de benchmark extraem o
kernel da aplicao e o
utiliza como benchmark. Porm, esse tipo de benchmark no serve
para avaliar
completamente o desempenho de um sistema computacional.
Tornam-se bench-
marks interessantes, do ponto de vista de que so simples e
pequenos, o que fa-
cilita a sua utilizao. Um exemplo o programa o Livermore
Loops5.
Algoritmo: um conjunto de instrues com fins especficos,
geralmente tratam-se de mtodos conhecidos em computao numrica, como
por exemplo, os m-
todos de resoluo de equaes lineares, utilizado no benchmark
Linpack [LIN-
PACK 2009].
3 O Whetstone foi o primeiro benchmark sinttico na
literatura.
4 O Dhrystone, assim como o Whetstone, um benchmark sinttico e
foi publicado em 1984, por Rei-
nhold P. Weicker.
5 O nome mais correto deste benchmark Livermore Fortran Kernels,
porm, ele mais conhecido como
"Livermore Loops". Ele se classifica como um benchmark do tipo
kernel.
-
Aplicao: so aplicaes completas, que resolvem problemas
cientficos, como por exemplo, os programas produzidos pelo SPEC
6 (Standard Performance Eva-
luation Corporation) [SPEC 2009].
4. Ferramentas Utilizadas
Para o desenvolvimento deste trabalho, foi escolhida a
ferramenta; VMware como
hypervisor. Esse gerenciador segundo [LAUREANO, 2006] uma das
melhores im-
plementaes de hypervisors utilizadas na atualidade, alm disso,
trabalha com as duas
tcnicas de virtualizao comparadas nesse artigo.
Para os testes de desempenho foram escolhidos o algoritmos:
Linpack (verso
java), por ser um algoritmo usado para formar a lista do
TOP500.org, e o algoritmo de
Benchmark desenvolvido pelos acadmicos: Joo Lucas Ferreira e
Renato Barros con-
forme as sees 4.2 e 4.3 respectivamente.
4.1. Monitor de Mquinas Virtuais
O Vmware um hypervisor que fornece uma infraestrutura completa
de solues para
virtualizao, possui produtos que abrangem desde desktops a data
centers organizados
em trs categorias [SUGERMAN,2001]:
Gesto e automatizao: esses aplicativos tm como principal
finalidade, pro-porcionar de forma centralizada o gerenciamento dos
recursos de toda a infraes-
trutura virtual.
Exemplo: Monitoramento dos sistemas virtualizados, converso de
sistemas fsi-
cos para virtuais (P2V - Phisical to Virtual) e recuperao de
desastres.
Infraestrutura Virtual: os aplicativos localizados nessa
categoria auxiliam nos processos de alocao e realocao de recursos
entre as mquinas virtuais.
Exemplo: Suporte a solues de alta disponibilidade, backup e
migrao de m-
quinas virtuais entre hospedeiros.
Virtualizao de Plataformas: esses aplicativos tm a funo de criar
e rodar as mquinas virtuais.
Exemplo: VMware ESX Server, VMware Virtual SMP, VMware VMFS,
VMware
Server, VMware Workstation, VMware Fusion e VMware Player.
Esse monitor de mquinas virtuais possui um sistema de
gerenciamento subdivi-
dido, em duas partes: uma o VMApp, que a mquina virtual que roda
no sistema no
hospedeiro e a outra parte o VMDriver a camada de software que
roda junto com o
sistema operacional do hospedeiro, que tem a funo de processar
as requisies feitas
pelo VMApp, por exemplo requisies relacionadas a rede, E/S,
memria e processa-
mento [VMWARE 2009].
O VMware Esxi, trata-se de uma verso robusta, usado em
servidores de grande
porte. um Sistema Operacional dedicado, possui Kernel
proprietrio, trata-se de um
6 Os benchmarks desenvolvidos por este consrcio de empresas so
programas reais (o que os classifica
como benchmarks de aplicao), que visam medir o desempenho da
maior parte possvel de compo-
nentes do sistema, principalmente o processador, arquitetura de
memria e compilador.
-
sistema bare-metal, ou seja, ele roda diretamente sobre o
hardware. Como caractersti-
cas principais ele possui: uma forte camada entre o hardware e o
sistema operacional, o
particionamento do servidor fsico em varias mquinas virtuais e
controle total dos re-
cursos do servidor [VMWARE 2009].
4.2. Linpack
Desenvolvido por Jack Dongarra em 1983, do Argonne National
Laboratory. Consiste
em programas criados para resolver sistemas de equaes lineares
densas (no espar-
sas), utilizando o pacote de sub-rotinas. Possui alta
porcentagem de somas e multiplica-
es em ponto flutuante [LINPACK 2009].
O Algoritmo Linpack um dos mais famosos benchmarks atualmente,
utilizado
inclusive nos testes das 500 mquinas mais rpidas do mundo, que a
lista do
top500.org, por ser o algoritmo que tem maior nmero de
resultados publicados
[TOP500].
O Linpack pode ser classificado como benchmark tipo algoritmo.
Ele possui dois
conjuntos de rotinas: um para decomposio de matrizes e outro
para resolver o sistema
de equaes lineares resultantes da decomposio [LINPACK 2009].
Os resultados dos testes podem ser apresentados nas seguintes
unidades de me-
dida, MFLOPS (Millions of Floating Point Operations per Second),
GFLOPS (Billions
of Floating Point Operations per Second) ou TFLOPS (Trillions of
Floating Point Op-
erations per Second) [LINPACK 2009].
Sua aplicao muito empregada em computadores, que utilizam
softwares para
clculos cientficos e de engenharia, visto que as operaes mais
utilizadas nestes tipos
de aplicaes so em ponto-flutuante [LINPACK 2009].
4.3. Benchmark Algoritmo
Nas VDIs criadas, sero aplicados testes de benchmark, conforme o
algoritmo
desenvolvido pelos acadmicos Joo Lucas Ferreira e Renato Barros,
ambos da Univer-
sidade PUC (Pontifcia Universidade Catlica) de Poos de Caldas
Minas Gerais. O algoritmo foi gentilmente disponibilizado pelos
seus desenvolvedores no site da Univer-
sidade7.
Abaixo a descrio dos testes propostos por esse algoritmo
[FERREIRA E
BARROS, 2007]:
Teste de Processador: ser avaliado o tempo que cada mquina
virtual, leva pa-ra executar uma funo, que gera os nmeros primos de
0 at 8000.
Teste de Memria: ser verificado o tempo que cada mquina virtual
leva, para alocar em memria, uma matriz 1000x5000, e depois
desalocar.
Escrita em Disco: ser verificado o tempo necessrio para escrita
de um arqui-vo em disco de tamanho 15 MB.
Leitura em Disco: ser verificado o tempo necessrio para leitura
do arquivo criado anteriormente.
7
http://www.comp.pucpcaldas.br/~al550261610/benchmark/index.html
-
5. Trabalhos relacionados
Essa seo apresenta dois trabalhos relacionados com a rea de
virtualizao e testes de
desempenho. Essas pesquisas apresentam comparativos de
desempenho, entre sistemas
virtualizados em comparao com sistemas em modo nativo. O
primeiro trabalho trata-
se de um estudo comparativo entre as principais ferramentas de
virtualizao.
Essa pesquisa trata-se de um TCC (Trabalho de Concluso de
Curso), produzido
pelo acadmico Marcos Tadeu de Andrade, juntamente com o seu
orientador, Andr
Santos, ambos oriundos da Universidade Federal do Pernambuco. A
pesquisa apresen-
tou um comparativo de desempenho, entre dois cenrios
computacionais, um usando
virtualizao e outro em modo nativo [ANDRADE 2006].
Para efetuar as medies, foram criados dois cenrios, um nativo
(cenrio 1) e
outro virtual (cenrio 2) com duas mquinas virtuais rodando em
paralelo.
Nas medies foram utilizadas as seguintes ferramentas: Openbench,
SysBench,
Netperf, Unixbench, Ubench, Httperf, Autobench, SciMark,
Bonnie++.
A pesquisa [ANDRADE 2006] apresentou resultados de teste de
desempenho,
visando comparao de desempenho de ambientes virtualizados e
nativos. Os testes
realizados foram executados somente com o sistema operacional
GNU/Linux com a
distribuio Debian e as medies foram feitas utilizando benchmarks
do tipo aplica-
o. A outra pesquisa foi o estudo da virtualizao como alternativa
para ambientes de
servidores.
O outro trabalho tambm se trata de um TCC, produzido pelos
acadmicos Dio-
go Ezdio da Silva, Gilberto Lima de Olivera, Leandro de Sousa
Rangel e Lucas Timm
Floro, juntamente com o seu orientador, Prof. Ms. Mauricio
Severich, todos oriundos
da FATESG - Faculdade de Tecnologia SENAI de Desenvolvimento
Gerencial. A pes-
quisa apresentou um comparativo de desempenho entre trs solues
para virtualizao
de servidores: Vmware Server, Xen e o Linux KVM [SILVA,
2008].
A proposta dessa pesquisa era de explorar a virtualizao de
servidores como
uma maneira de obter melhor aproveitamento de hardware. Para
isso foram executados
os seguintes testes de desempenho: codificao de vdeo (utilizando
o software Trans-
code), Anlise de desempenho geral (com o software LMBench,
transferncia de arqui-
vo com 4GB via NFS (cliente Linux) e SMB (cliente Windows), e
inundao de requisi-
es simultneas para o servidor web utilizando o software AB
(Apache Benchmark).
Esse trabalho foi feito visando comparao de desempenho das
ferramentas ci-
tadas anteriormente. Os testes de desempenho foram aplicados
para simulao de cargas
de trabalho em servidores virtuais. Os acadmicos concluram que a
ferramenta Xen
Source obteve o melhor custo beneficio em comparao com as outras
ferramentas tes-
tadas [SILVA, E.D, OLIVEIRA, G.L, RANGEL, L.S, FLORO, 2008].
-
6. Metodologia da Implementao
Nesse trabalho foram executados testes de desempenho em desktops
virtuais com siste-
mas operacionais Windows e Linux. Para efetuar as medies de
desempenho foram
executados benchmarks do tipo algoritmo apresentados nas sees
4.2 e 4.3.
Foram criados dois ambientes virtualizados, um com virtualizao
total e outro
com paravirtualizao, ambos utilizando a ferramenta Vmware Esxi
como hypervisor.
As medies de desempenho foram feitas com os sistemas
operacionais Win-
dows 7 e GNU/Linux com a distribuio Ubuntu 9.10. No est nos
objetivos dessa pes-
quisa a comparao entre sistemas operacionais e sim a comparao
entre as duas tcni-
cas de virtualizao apresentadas nas sees 2.1 e 2.2.
6.1. Mquinas Virtuais
A tabela 1 apresenta uma viso das comparaes de desempenho entre
as mquinas vir-
tuais que utilizam Virtualizao Total com as mquinas virtuais que
utilizam a Paravir-
tualizao.
Virtualizao Total Paravirtualizao
Sistema Operacional Arquitetura Sistema Operacional
Arquitetura
Windows 7 x86 Windows 7 x86
Ubuntu 9.10 x86 Ubuntu 9.10 x86
Tabela 1. VDI 01: utilizando Virtualizao Total apresenta as
comparaes
feitas entre as duas tcnicas de virtualizao.
Para aplicar os testes de desempenho, foram criadas duas VDIs,
utilizando a fer-
ramenta Vmware Esxi, uma utilizando a tcnica de virtualizao
total e outra trabalhan-
do com paravirtualizao. As estruturas dessas VDIs ficam
exemplificadas nas figura-
ras 6 e 7.
App
x86
App
x86
Mquinas Virtuais
HyperVisor
Hospedeiro
Vmware ESXI
(Virtualizao TOTAL)
Figura 6. VDI 01: Utilizando Virtualizao Total apresenta a VDI
criada uti-
lizando virtualizao total; e as VMs que foram instaladas, para
execuo dos tes-
tes.
-
App
x86
App
x86
Mquinas Virtuais
HyperVisor
Hospedeiro
Vmware ESXI
(PARAVIRTUALIZAO)
Figura 7. VDI 02: Utilizando Paravirtualizao apresenta a VDI
criada utili-
zando paravirtualizao; e as VMs que foram instaladas, para
execuo dos testes.
A tabela 2 apresenta as configuraes de hardware das mquinas
virtuais que fo-
ram testadas.
Sistema Operacional Arquitetura Memria HD
Windows 7 x86 1024 MB 20 GB
Ubuntu 9.10 x86 1024 MB 20 GB
Tabela 2. Especificao de Hardware das VMs apresenta as
configuraes
de hardware disponibilizadas para cada uma das VMs; tanto para
virtualizao
total quando para a paravirtualizao.
A tabela 3 apresenta as configuraes de hardware do servidor
fsico (hospedei-
ro) utilizado para a criao das VDIs e a verso do hypervisor
utilizado.
Sistema Operacional Processador Memria HD Fabricante Modelo
Vmware Esxi 4.0 Pentium (R) Dual-Core E5300
2.60 Ghz 4 GB 250 GB HP DX 7500
Tabela 3. Especificao de Hardware do Hospedeiro apresenta as
configu-
raes de hardware do servidor fsico utilizado.
6.2. Mtricas
Os testes de desempenho foram executados em cada um dos desktops
virtuais 100 (cem)
vezes repetidamente, sem interveno humana. Os resultados foram
gravados pelo pr-
prio algoritmo de repetio que executava os testes. Os resultados
foram gravados no
disco local de cada desktop virtual.
O Benchmark algoritmo em sua concepo original executa todos os 5
testes
apresentados na seo 4.3, em sequncia. Porm para medir
separadamente cada uma
das mtricas propostas pelo algoritmo, foi necessrio modifica-lo
para executar cada um
dos testes em separado. Cada um dos testes gravou em disco, um
arquivo diferente con-
tendo os resultados em tempo/s para execuo de cada interao, de
cada teste.
-
Foram aplicados todos os testes propostos pelo algoritmo: clculo
de primos,
teste de Memria, escrita em disco e leitura em Disco.
Os testes com o algoritmo Linpack foram executados nas mesmas
VDIs utiliza-
das nos testes com o algoritmo benchmark. O teste com o
algoritmo Linpack apresenta o
resultado para a seguinte mtrica: MFLOPS (Millions of Floating
Point Operations per
Second) que cada desktop virtual executou para o clculo de uma
matriz de 500 x 500.
Os testes realizados com esse algoritmo seguem a mesma
metodologia dos testes do
Benchmark Algoritmo. A gravao dos resultados em disco ocorreu em
sequncia aps
a execuo de cada teste, no afetando os resultados.
6.3. Resultados
Essa subseo apresenta os resultados obtidos com os algoritmos
apresentados
nas subsees 4.2 e 4.3 baseando-se nas mtricas propostas na
subseo 6.2.
6.3.1. Clculo de Primos
Esse teste apresenta a mdia de tempo gasto por cada uma das
mquinas virtuais
no teste, apresentado da seo 4.3 no item teste de
processador.
A figura 8 apresenta a diferena entre as mdias de tempo gasto
por cada um dos
desktops virtuais Linux.
Figura 8. Clculo de Primos nos Desktops Linux tempo necessrio
para
executar um programa de clculo de nmeros primos; mdia de tempo
para cada
execuo (repetida 100 vezes); Menor melhor.
A figura 9 apresenta a diferena entre as mdias de tempo gasto
por cada um dos
desktops virtuais Windows.
Figura 9. Clculo de Primos nos Desktops Linux tempo necessrio
para
executar um programa de clculo de nmeros primos; mdia de tempo
para cada
execuo (repetida 100 vezes); Menor melhor.
2,66
2,33
2,00
2,50
3,00
UbuntuX86FULL UbuntuX86PARA
Cculo de Primos (s)
2,38 2,31
2,05
2,25
2,45
WIN7X86FULL WIN7X86PARA
Cculo de Primos (s)
-
6.3.2. Alocao em memria
Esse teste apresenta a mdia de tempo gasto por cada uma das
mquinas virtuais no
teste, apresentado da seo 4.3 no item teste de memria.
A figura 10 apresenta a diferena entre as mdias de tempo gasto
por cada um
dos desktops virtuais Linux.
Figura 10. Alocao de Memria Desktops Linux tempo necessrio
para
alocar em memria uma matriz 1000 x 5000 e depois desalocar; mdia
de tempo
para cada execuo (repetida 100 vezes); Menor melhor.
A figura 11 apresenta a diferena entre as mdias de tempo gasto
por cada um
dos desktops virtuais Windows.
Figura 11. Alocao de Memria Desktops Linux tempo necessrio
para
alocar em memria uma matriz 1000 x 5000 e depois desalocar; mdia
de tempo
para cada execuo (repetida 100 vezes); Menor melhor.
6.3.3. Escrita em disco
Esse teste apresenta a mdia de tempo gasto por cada uma das
mquinas virtuais no
teste, apresentado da seo 4.3 no item escrita em disco.
A figura 12 apresenta a diferena entre as mdias de tempo gasto
por cada um
dos desktops virtuais Linux.
1,23 1,16
1,00
1,10
1,20
1,30
UbuntuX86FULL UbuntuX86PARA
Alocao de Memria (s)
1,18
1,05
0,95
1,05
1,15
1,25
WIN7X86FULL WIN7X86PARA
Alocao de Memria (s)
-
Figura 12. Escrita de arquivo em disco Desktops Linux tempo
necessrio
para escrever em disco um arquivo de tamanho 15 MB; mdia de
tempo para cada
execuo (repetida 100 vezes); Menor melhor.
A figura 13 apresenta a diferena entre as mdias de tempo gasto
por cada ma
dos desktops virtuais Windows.
Figura 13. Escrita de arquivo em disco Desktops Windows tempo
necessrio
para escrever em disco um arquivo de tamanho 15 MB; mdia de
tempo para cada
execuo (repetida 100 vezes); Menor melhor.
6.3.4. Leitura em disco
Esse teste apresenta a mdia de tempo gasto por cada uma das
mquinas virtuais no
teste, apresentado da seo 4.3 no item leitura em disco.
A figura 14 apresenta a diferena entre as mdias de tempo gasto
por cada um
dos desktops virtuais Linux.
1,18
1,12
1,05
1,10
1,15
1,20
UbuntuX86FULL UbuntuX86PARA
Escrita de arquivo em disco(s)
1,24
1,21
1,18
1,20
1,22
1,24
1,26
WIN7X86FULL WIN7X86PARA
Escrita de arquivo em disco(s)
56,00
52,00
50,00
52,00
54,00
56,00
58,00
UbuntuX86FULL UbuntuX86PARA
Leitura de arquivo em disco(s)
-
Figura 14. Leitura de arquivo em disco Desktops Linux tempo
necessrio
para leitura do disco um arquivo de tamanho 15 MB; mdia de tempo
para cada
execuo (repetida 100 vezes); Menor melhor.
A figura 15 apresenta a diferena entre as mdias de tempo gasto
por cada um
dos desktops virtuais Windows.
Figura 15. Leitura de arquivo em disco Desktops Linux tempo
necessrio
para leitura do disco um arquivo de tamanho 15 MB; mdia de tempo
para cada
execuo (repetida 100 vezes); Menor melhor.
6.3.5. Linpack
Esse teste apresenta a mdia de tempo gasto por cada uma das
mquinas virtuais para a
mtrica: MFLOPS (Millions of Floating Point Operations per
Second) que desktop vir-
tual executou no clculo de uma matriz de 500 x 500.
A figura 16 apresenta a diferena de MFLOPS processados por cada
um dos
desktops virtuais Linux.
Figura 16. MFLOPS Desktop Linux tempo necessrio para o calculo
de
uma matriz 500 x 500; mdia de tempo para cada execuo (repetida
100 vezes);
Maior melhor.
A figura 17 apresenta a diferena de MFLOPS processados por cada
um dos
desktops virtuais Windows.
21,50
22,00
22,50
23,00
23,50
WIN7X86FULL WIN7X86PARA
Leitura de arquivo em disco(s)
205.657
218.017
195.000
205.000
215.000
225.000
UbuntuX86FULL UbuntuX86PARA
Operaes de Ponto Flutuante (MFlops)
23
22
-
Figura 17. MFLOPS Desktop Windows tempo necessrio para o calculo
de
uma matriz 500 x 500; mdia de tempo para cada execuo (repetida
100 vezes);
Maior melhor.
6.3.6. Consideraes sobre os resultados
Os resultados anteriores mostram uma diferena esperada de
desempenho entre a virtua-
lizao total e a paravirtualizao. Conforme [SMITH, J. E. e NAIR,
R. 2005] as m-
quinas virtuais paravirtualizadas acessam diretamente o hardware
do hospedeiro. Esse
acesso direto maximiza o desempenho da paravirtualizao em relao
virtualizao
total. possvel ver isso pelos resultados apresentados.
7. Consideraes Finais
Esse trabalho mostra que a utilizao de desktops virtuais, alm de
ser um tema recor-
rente, apresenta-se com alternativa para os problemas existentes
no modelo tradicional
de Desktops.
Atravs dos resultados apresentados nas sees anteriores, foi
possvel constatar
que o no comprometimento da experincia do usurio no tarefa fcil.
Para virtuali-
zar necessrio um projeto, que leve em considerao situaes tpicas
como: tipo de
aplicaes utilizadas, necessidade de processamento e
armazenamento.
Para o desenvolvimento desse trabalho, foram encontradas algumas
dificuldades:
disponibilidade de um hospedeiro (fsico) compatvel com a HCL
(Hardware Compati-
bility List) do hpyervisor Vmware Esxi e o fato de que a
ferramenta Vmware Esxi no
trabalhar com paravirtualizao para arquitetura 64 bits. Essas
dificuldades impediram
as medies com sistemas operacionais 64 bits.
Como trabalhos futuros sugere-se testes de desempenho comparando
outras so-
lues de virtualizao de Desktops, a fim de verificar uma soluo
que atenda melhor
as necessidades e experincia de uso do usurio. Ainda sugere-se
como trabalhos futu-
ros uma pesquisa a fim de verificar porque o Windows 7 teve
desempenho superior ao
Ubuntu nos testes executados.
185.823
197.500
175.000
185.000
195.000
205.000
WIN7X86FULL WIN7X86PARA
Operaes de Ponto Flutuante (MFlops)
-
Referencias
ANDRADE, M. Tadeu, Um estudo comparativo sobre as principais
ferramentas de vir-
tualizao, In: Universidade Federal de Pernambuco. p. 9-21.
BERRY 1991 Berry M.; Cybenko G.; Larson, J. "Scientific
benchmark characteriza-
tions". Parallel Computing, Vol. 17, Number 10AND11, DecemBERRY
1991, p.
1173-1194
CARMONA 2008, Tadeu. Technical Review Virtualizao. 1.ed. So
Paulo: Editora
Linux New Media do Brasil Ltda, 2008. 32 p.
FERREIRA E BARROS 2007, Joo Lucas, Renato. Benchmark.
http://www.comp.pucpcaldas.br/~al550261610/benchmark/index.html
Acesso no-
vembro de 2009.
GOLDBERG, R. P 1973. Architecture of Virtual Machines. AFIPS
National Computer
Conference, 1973. New York NY USA.
GOLDEN 2008, Bernard; SCHEFFY, Clark. Virtualization for Dum
Special Edition.
Indianapolis: Wiley Publishing INC, 2008.
HENESSY, J.L.; PATTERSON, D.A. "Computer Architecture: A
quantitative ap-
proach". 4th edition. Morgan Kauffman Publishers, 2007.
JAIN, R. 1991, The Art of Computer Systems Performance Analysis,
John Wiley
AND Sons Inc, 1991, 685 p.
LAUREANO, 2006 Laureano, M. Mquinas Virtuais e emuladores.
Conceitos,Tcnicas
e Aplicaes. 2006. Novatec Editora, So Paulo
LINPACK 2009 http://www.netlib.org/linpack/ Acessado em de
novembro de 2009.
NANDA AND CHIUEH, 2005 Nanda, S. and Chiueh, T. A Survey on
Virtualization
Technologies. 2005. Technical Report. Department of Computer
Science.University
at Stony Brook, NY.
SILVA, E.D, OLIVEIRA, G.L, RANGEL, L.S, FLORO, 2008, L.T
,Virtualizao
como Alternativa para ambientes de servidores , In: Faculdade de
Tecnologia SENAI
de Desenvolvimento Gerencial.
-
SMITH, J. E. e NAIR, R. 2005. Virtual Machines: Versatile
Platforms for Systems and
Processes: 1.ed. New York:USA,2005. p.164-177.
SPEC 2009 http://www.specbench.org/ acesso em 25/08/2009
SUGERMAN,2001, J. Venkitachalam, G. and Lim, B.-H. (2001).
Virtualizing I/O de-
vices on VMware workstations hosted virtual machine monitor. In
Proc. General
Track: 2001 Usenix Annual Technical Conference, pages 114.
Usenix Assoc.
TOP500 http://www.top500.org/ Acessado em de novembro de
2009.
VMWARE 2009 (http://www.vmware.com) Acesso novembro 2009.
-
Anexos
Figura 18. Tela principal do Vmware Esxi apresenta tela de
acesso fer-
ramenta; atravs do aplicativo: Vmware vSphere Client.
Figura 19. Teste de desempenho em andamento Ubuntu x86 apresenta
o tes-
te do algoritmo Linkpack em andamento no Desktop Ubuntu 9.10
x86.
-
Figura 20. Teste de desempenho em andamento Windows7 x86
apresenta o
teste de processador do algoritmo benchmark; em andamento no
Desktop Win-
dows 7 x86.
Figura 21. Medio do CPU do hospedeiro durante os testes de
desempenho
apresenta o grfico de consumo do processador do hospedeiro;
produzido pela fer-
ramenta Vmware Esxi durante o perodo de aplicao; nos desktops
virtuais.
0
20
40
60
80
100
120
0
500
1000
1500
2000
2500
3000
01/06/201017:40
01/06/201017:52
01/06/201018:04
01/06/201018:16
01/06/201018:28
Perc
ent
MH
z
Time
CPU Performance
CPU Usage in MHz CPU Usage - 0 CPU Usage - 1 CPU Usage
-
Figura 22. Medio da memria do hospedeiro durante os testes de
desem-
penho apresenta o grfico de consumo de memria do hospedeiro;
produzido pela
ferramenta Vmware Esxi durante o perodo de aplicao dos testes;
nos desktops
virtuais.
0
500000
1000000
1500000
2000000
2500000
3000000
01/06/201017:40
01/06/201017:52
01/06/201018:04
01/06/201018:16
01/06/201018:28
KB
Time
Memory Performance
Memory Swap Used Memory Active
Memory Consumed Memory Balloon