Upload
asdasd
View
216
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Virtualização TCC Vinicius Campos
Citation preview
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