22
Teste de desempenho em Desktops Virtuais Vinícius Campos ¹, Átila B. Vasconcelos ¹ ¹ Centro Universitário 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 questões relativas à virtualização de desktops e visa avaliar a aplicabilidade dessa técnica. Para isso foram executados testes de desempenho (benchmark) sob uma infraestrutura de VDI (Virtual Desktop Infrastructure) utilizando a ferramenta VMwareEsxi 1. Introdução A capacidade de processamento dos computadores pessoais vem aumentando exponen- cialmente. Entretanto, essa capacidade não 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 virtualização surge como uma grande alternativa que visa à diminuição desses “desperdícios” [GOLDEN E SCHEFFY, 2008]. As máquinas virtuais abriram um novo leque de possibilidades, como, por exemplo: permitir que software legado pudesse executar nos caros mainframes 1 [CAR- MONA 2008]. Uma máquina virtual pode ser definida como uma camada de software que roda um ambiente completo muito similar a uma máquina física. Com isso, cada máquina virtual pode ter seu próprio sistema operacional e aplicativos rodando de forma isolada sobre um mesmo recurso físico, de forma paralela, ou simultânea, com outras máquinas virtuais [SMITH, J. E. e NAIR, R. 2005]. A virtualização oferece muitos benefícios, um dos mais relevantes para a com- putação atual que é a abstração. A abstração permite a utilização de um mesmo recurso computacional (físico) em diferentes sistemas e aplicações, de forma individualizada, contribuindo para a resolução de problemas como: flexibilidade, portabilidade e geren- ciamento de recursos computacionais. Os conceitos relacionados à virtualização já vêm sendo amplamente aplicados na área de servidores, oferecendo ganhos significativos em termos de consolidação e ge- renciamento [LAUREANO, 2006]. 1 mainframe é um computador de grande porte, dedicado normalmente ao processamento de um volume grande de informações

Virtualização TCCII_ViniciusCampos

  • Upload
    asdasd

  • View
    216

  • Download
    0

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