Академический Документы
Профессиональный Документы
Культура Документы
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].
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
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
AMBIENTE NATIVO
APLICAES
APLICAES
APLICAES
APLICAES
APLICAES
APLICAES
MQUINA VIRTUAL
MQUINA VIRTUAL
AMBIENTE VIRTUALIZADO
Desvantagens
Flexibilidade
Desempenho limitado
Emulao Incompleta
Backup
Disponibilidade
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
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.
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].
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 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.
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.
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.
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
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
Processador
Memria
HD
Fabricante
Modelo
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.
2,66
2,33
2,50
2,00
UbuntuX86FULL
UbuntuX86PARA
2,38
2,31
2,25
2,05
WIN7X86FULL
WIN7X86PARA
1,23
1,16
1,20
1,10
1,00
UbuntuX86FULL
UbuntuX86PARA
1,18
1,15
1,05
1,05
0,95
WIN7X86FULL
WIN7X86PARA
1,20
1,15
1,12
1,10
1,05
UbuntuX86FULL
UbuntuX86PARA
1,24
1,24
1,21
1,22
1,20
1,18
WIN7X86FULL
WIN7X86PARA
56,00
56,00
54,00
52,00
52,00
50,00
UbuntuX86FULL
UbuntuX86PARA
23
22,50
22
22,00
21,50
WIN7X86FULL
WIN7X86PARA
215.000
205.000
205.657
195.000
UbuntuX86FULL
UbuntuX86PARA
197.500
185.823
185.000
175.000
WIN7X86FULL
WIN7X86PARA
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.
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.
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
01/06/2010
01/06/2010
18:04
18:16
Time
CPU Usage - 0
01/06/2010
18:28
CPU Usage - 1
CPU Usage
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 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.