Você está na página 1de 22

Teste de desempenho em Desktops Virtuais

Vincius Campos , tila B. Vasconcelos


Centro Universitrio Ritter dos Reis - UniRitter
90.840-440 Porto Alegre RS Brasil
{vinicius_campos@uniritter.edu.br, atila_vasconcelos@uniritter.edu.br}

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 Infrastructure) 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 exponencialmente. Entretanto, essa capacidade no tem sido totalmente aproveitada. Atualmente, muitos data centers possuem servidores que utilizam apenas 10 ou 15% da capacidade 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[CARMONA 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 computao 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 gerenciamento de recursos computacionais.
Os conceitos relacionados virtualizao j vm sendo amplamente aplicados na
rea de servidores, oferecendo ganhos significativos em termos de consolidao e gerenciamento [LAUREANO, 2006].

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 melhorias nos processos: reduo de custos, aumento de desempenho, simplificao do gerenciamento, 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 capacidade 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 utilizao? Como minimizar o impacto para o usurio final? [LAUREANO, 2006].
O objetivo principal desta pesquisa apresentar resultados obtidos, com a aplicao 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 introduo e um breve referencial terico. A seo 4 apresenta as ferramentas que foram utilizadas 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 trabalhos 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 objetivo 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

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 compartilhado por eles. Ele o responsvel pelo gerenciamento da estrutura de hardware do
hospedeiro, por exemplo: dispositivos e E/S (Dispositivos de entrada e sada.), controladores DMA (Direct memory access), assim criando um ambiente completo e independente para cada mquina virtual. [LAUREANO, 2006].
A Figura 1 representa uma viso geral das camadas presentes no ambiente nativo.

APLICAES

APLICAES

APLICAES

SISTEMA OPERACIONAL: (WINDOWS, LINUX, SOLARIS, ETC)

HARDWARE FSICO: (CPU, MEMRIA, DISCO, REDE, ETC)

AMBIENTE NATIVO

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.

APLICAES

APLICAES

APLICAES

APLICAES

APLICAES

APLICAES

SISTEMA OPERACIONAL: (WINDOWS, LINUX, SOLARIS,


ETC)

SISTEMA OPERACIONAL: (WINDOWS, LINUX, SOLARIS,


ETC)

HARDWARE VIRTUAL: (CPU, MEMRIA, DISCO, REDE, ETC)

HARDWARE VIRTUAL: (CPU, MEMRIA, DISCO, REDE, ETC)

MQUINA VIRTUAL

MQUINA VIRTUAL

CAMADA DE VIRTUALIZAO: (HYPERVISOR , MONITOR DE MQUINAS VIRTUAIS)

HARDWARE FSICO: (CPU, MEMRIA, DISCO, REDE, ETC)

AMBIENTE VIRTUALIZADO

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).

A virtualizao apresenta vantagens e desvantagens abaixo algumas delas


[LAUREANO, 2006].
Vantagens

Desvantagens

Flexibilidade

Desempenho limitado

Reduo de Custos com HW

Emulao Incompleta

Backup

Disponibilidade

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 (Paravirtualizao). 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 executarem 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 paravirtualizao, 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 hospedeiros 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 convidados 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 paravirtualizao exige modificaes no sistema operacional convidado, o que diminui a
portabilidade da VM, mesmo assim ela obtm benefcios quando comparada com a virtualizao 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 determinados recursos de hardware do hospedeiro, o que propicia um ganho de desempenho, da paravirtualizao em comparao com a virtualizao total. Esse acesso monitorado 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 convidados (VMs) rodam na camada de software chamada monitor (Virtual Machine Monitor). Entre a camada do VMM e o hardware do hospedeiro, existe uma camada chamada anfitrio, cujo papel gerenciar o acesso direto ao hardware [LAUREANO, 2006].

Camada Anfitrio

Figura 4. Mquina virtual do tipo II segundo [LAUREANO, 2006]; os sistemas 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 virtualizao de servidores, que permitir mltiplos sistemas operacionais rodando ao
mesmo tempo sobre um mesmo computador base (hospedeiro) [VMWARE 2009].

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 utilizao dessa tcnica [GOLDBERG, 1973].
O VDI visa diminuio de problemas relacionados aos desktops principalmente em ambientes corporativos, tais como: migrao, backup, gerenciamento e manuteno [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 possibilidade 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 camadas 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 aplicados 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 conjunto definido de operaes de cargas de trabalho (Worklod), que visa produzir um resultado, 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 instrues tpicas, geralmente utilizadas, e reproduzidas em um programa. Os
exemplos mais conhecidos so o Whetstone3 e o Dhrystone4.

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 benchmarks interessantes, do ponto de vista de que so simples e pequenos, o que facilita a sua utilizao. Um exemplo o programa o Livermore Loops5.

Algoritmo: um conjunto de instrues com fins especficos, geralmente tratamse de mtodos conhecidos em computao numrica, como por exemplo, os mtodos de resoluo de equaes lineares, utilizado no benchmark Linpack [LINPACK 2009].

O Whetstone foi o primeiro benchmark sinttico na literatura.

O Dhrystone, assim como o Whetstone, um benchmark sinttico e foi publicado em 1984, por Reinhold P. Weicker.

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 SPEC6 (Standard Performance Evaluation 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 implementaes 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 conforme 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, proporcionar de forma centralizada o gerenciamento dos recursos de toda a infraestrutura virtual.
Exemplo: Monitoramento dos sistemas virtualizados, converso de sistemas fsicos 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 mquinas 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 subdividido, 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 processamento [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

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 componentes do sistema, principalmente o processador, arquitetura de memria e compilador.

sistema bare-metal, ou seja, ele roda diretamente sobre o hardware. Como caractersticas 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 recursos 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 esparsas), utilizando o pacote de sub-rotinas. Possui alta porcentagem de somas e multiplicaes 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 medida, MFLOPS (Millions of Floating Point Operations per Second), GFLOPS (Billions
of Floating Point Operations per Second) ou TFLOPS (Trillions of Floating Point Operations 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 Universidade PUC (Pontifcia Universidade Catlica) de Poos de Caldas Minas Gerais. O
algoritmo foi gentilmente disponibilizado pelos seus desenvolvedores no site da Universidade7.
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 para 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 arquivo em disco de tamanho 15 MB.

Leitura em Disco: ser verificado o tempo necessrio para leitura do arquivo


criado anteriormente.

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 tratase 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 apresentou 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 aplicao. 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 Diogo 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 pesquisa 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 Transcode), Anlise de desempenho geral (com o software LMBench, transferncia de arquivo com 4GB via NFS (cliente Linux) e SMB (cliente Windows), e inundao de requisies simultneas para o servidor web utilizando o software AB (Apache Benchmark).
Esse trabalho foi feito visando comparao de desempenho das ferramentas citadas 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 testadas [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 sistemas 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 Windows 7 e GNU/Linux com a distribuio Ubuntu 9.10. No est nos objetivos dessa pesquisa a comparao entre sistemas operacionais e sim a comparao entre as duas tcnicas 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 virtuais que utilizam Virtualizao Total com as mquinas virtuais que utilizam a Paravirtualizao.
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 ferramenta Vmware Esxi, uma utilizando a tcnica de virtualizao total e outra trabalhando com paravirtualizao. As estruturas dessas VDIs ficam exemplificadas nas figuraras 6 e 7.
App

App

Mquinas Virtuais
x86

x86

Vmware ESXI
(Virtualizao TOTAL)

HyperVisor

Hospedeiro

Figura 6. VDI 01: Utilizando Virtualizao Total apresenta a VDI criada utilizando virtualizao total; e as VMs que foram instaladas, para execuo dos testes.

App

App

Mquinas Virtuais
x86

x86

Vmware ESXI
(PARAVIRTUALIZAO)

HyperVisor

Hospedeiro

Figura 7. VDI 02: Utilizando Paravirtualizao apresenta a VDI criada utilizando paravirtualizao; e as VMs que foram instaladas, para execuo dos testes.
A tabela 2 apresenta as configuraes de hardware das mquinas virtuais que foram 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 (hospedeiro) 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 configuraes 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 prprio 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 contendo 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 utilizadas 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.

Cculo de Primos (s)


3,00

2,66
2,33

2,50
2,00
UbuntuX86FULL

UbuntuX86PARA

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.

Cculo de Primos (s)


2,45

2,38

2,31

2,25
2,05
WIN7X86FULL

WIN7X86PARA

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.

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.

Alocao de Memria (s)


1,30

1,23

1,16

1,20
1,10
1,00
UbuntuX86FULL

UbuntuX86PARA

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.

Alocao de Memria (s)


1,25

1,18

1,15
1,05
1,05
0,95
WIN7X86FULL

WIN7X86PARA

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.

Escrita de arquivo em disco(s)


1,18

1,20
1,15

1,12

1,10
1,05
UbuntuX86FULL

UbuntuX86PARA

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.

Escrita de arquivo em disco(s)


1,26

1,24

1,24
1,21

1,22
1,20
1,18
WIN7X86FULL

WIN7X86PARA

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.

Leitura de arquivo em disco(s)


58,00

56,00

56,00
54,00

52,00

52,00
50,00
UbuntuX86FULL

UbuntuX86PARA

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.

Leitura de arquivo em disco(s)


23,50
23,00

23

22,50
22

22,00
21,50
WIN7X86FULL

WIN7X86PARA

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 virtual 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.
Operaes de Ponto Flutuante (MFlops)
225.000
218.017

215.000
205.000

205.657

195.000
UbuntuX86FULL

UbuntuX86PARA

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.

Operaes de Ponto Flutuante (MFlops)


205.000
195.000

197.500
185.823

185.000
175.000
WIN7X86FULL

WIN7X86PARA

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 virtualizao total e a paravirtualizao. Conforme [SMITH, J. E. e NAIR, R. 2005] as mquinas 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 recorrente, 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 virtualizar 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 Compatibility 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 solues 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 futuros uma pesquisa a fim de verificar porque o Windows 7 teve desempenho superior ao
Ubuntu nos testes executados.

Referencias
ANDRADE, M. Tadeu, Um estudo comparativo sobre as principais ferramentas de virtualizao, In: Universidade Federal de Pernambuco. p. 9-21.
BERRY 1991 Berry M.; Cybenko G.; Larson, J. "Scientific benchmark characterizations". 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

BARROS

2007,

Joo

Lucas,

Renato.

Benchmark.

http://www.comp.pucpcaldas.br/~al550261610/benchmark/index.html Acesso novembro 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 approach". 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 devices 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 ferramenta; atravs do aplicativo: Vmware vSphere Client.

Figura 19. Teste de desempenho em andamento Ubuntu x86 apresenta o teste 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 Windows 7 x86.

3000

120

2500

100

2000

80

1500

60

1000

40

500

20

0
01/06/2010
17:40

Percent

MHz

CPU Performance

0
01/06/2010
17:52

CPU Usage in MHz

01/06/2010
01/06/2010
18:04
18:16
Time
CPU Usage - 0

01/06/2010
18:28

CPU Usage - 1

CPU Usage

Figura 21. Medio do CPU do hospedeiro durante os testes de desempenho


apresenta o grfico de consumo do processador do hospedeiro; produzido pela ferramenta Vmware Esxi durante o perodo de aplicao; nos desktops virtuais.

Memory Performance
3000000
2500000
2000000
KB

1500000
1000000
500000
0
01/06/2010
17:40

01/06/2010
17:52

01/06/2010
18:04

01/06/2010
18:16

Time

01/06/2010
18:28

Memory Swap Used

Memory Active

Memory Consumed

Memory Balloon

Figura 22. Medio da memria do hospedeiro durante os testes de desempenho apresenta o grfico de consumo de memria do hospedeiro; produzido pela
ferramenta Vmware Esxi durante o perodo de aplicao dos testes; nos desktops
virtuais.