Você está na página 1de 86

FACULDADE DE TECNOLOGIA SENAI DE DESENVOLVIMENTO

GERENCIAL - FATESG
CURSO SUPERIOR EM TECNOLOGIA EM REDE DE
COMPUTADORES

Diogo Ezdio da Silva


Gilberto Lima de Oliveira
Leandro de Sousa Rangel
Lucas Timm Floro

VIRTUALIZAO COMO ALTERNATIVA PARA AMBIENTE DE


SERVIDORES

Goinia
2008

Diogo Ezdio da Silva


Gilberto Lima de Oliveira
Leandro de Sousa Rangel
Lucas Timm Floro

VIRTUALIZAO COMO ALTERNATIVA PARA AMBIENTE DE


SERVIDORES

Trabalho de Concluso de Curso TCC


apresentado Faculdade de Tecnologia
SENAI DE Desenvolvimento Gerencial
FATESG, para a obteno do ttulo de
Graduado em Tecnologia em Redes de
Computadores.
Orientador: Prof. Msc. Mauricio Severich

Goinia
2008

CURSO SUPERIOR EM TECNOLOGIA EM REDE DE COMPUTADORES

Diogo Ezdio da Silva


Gilberto Lima de Olivera
Leandro de Sousa Rangel
Lucas Timm Floro

Virtualizao como alternativa para ambiente de servidores

Trabalho de Concluso de Curso TCC apresentado Faculdade de Tecnologia


SENAI DE Desenvolvimento Gerencial FATESG, para a obteno do ttulo de
Graduado em Tecnologia em Redes de Computadores.

Aprovada em _______ de _____________________________ de 2008

Banca Examinadora

Professor Msc. Maurcio Severich

Professor Msc. Rafael Leal Martins

Professora Msc. Ana Flvia Marinho de Lima Garrati

Dedicamos este trabalho de concluso de curso a todos os


nossos familiares que nos apoiaram, FATESG por ter acreditado
no Curso Superior em Tecnologia em Rede de Computadores e
ao orientador, Professor que, com dedicao e conhecimento,
orientou-nos no decorrer deste trabalho.

Agradecemos, primeiramente a DEUS, que nos deu sade e


disposio nestes anos, aos colegas que contriburam e
incentivaram para realizao desse trabalho e tambm aos
professores que com sabedoria nos acompanharam nesses anos em
que decorreu o curso e, em especial ao nosso orientador que nos
acompanhou em todas as etapas desse trabalho. Tambm aos
amigos e a famlia pela compreenso de nossa ausncia para a
elaborao do mesmo.

Uma mente que se abre a uma nova idia


jamais volta ao seu tamanho original.
(Albert Einstein)

RESUMO

Este trabalho apresenta uma viso geral da virtualizao para uso em servidores. A
virtualizao perante a tecnologia da informao consiste em utilizar um nico host
fsico para a criao de dois ou mais sistemas operacionais que funcionam
simultaneamente. Neste documento, a virtualizao foi utilizada para criao de um
ambiente computacional de servidores comparando trs softwares utilizados para tal
finalidade: O Xen, Vmware Server e Linux KVM. Testes foram realizados visando
obter resultados prticos da virtualizao de servidores como forma de diminuir
custos em TI atravs do melhor aproveitamento de hardware, bem como o
detalhamento de informaes sobre esta tecnologia que se torna a cada dia mais
presente no cenrio de TI das grandes empresas.

PALAVRAS-CHAVE: Virtualizao, Xen, VMware, Linux

ABSTRACT

This paper shows a general visualization of virtualization for servers use. The
virtualization at the Information Technology scene is consisted in the use from a
single physichal host to install and creation of two or more operational systems that
runs simultaneously. In this document, the virtualization was used to simulate a
server data-center comparing three softwares commonly used to this end: Xen,
VMware Server and Linux KVM. Tests was ran to take practical results of server
virtualization, as a way to reduce IT coasts and to get a better hardware utilization,
also the technical information about this technology, which everyday becomes more
and more present on the IT scene of big employments.

KEY-WORDS: Virtualization, Xen, Vmware, Linux

LISTA DE ILUSTRAES

Figura 1: Emulao de Hardware..............................................................................22


Figura 2: Virtualizao Completa ..............................................................................23
Figura 3: Hypervisor ..................................................................................................24
Figura 4: Instruction Set Virtualization.......................................................................25
Figura 5: Linux KVM..................................................................................................31

LISTA DE GRFICOS

Grfico 1 - Comparativo de Processos......................................................................41


Grfico 2 - Operaes com Inteiros...........................................................................42
Grfico 3 - Operaes com Floats.............................................................................43
Grfico 4 - Operaes com Doubles .........................................................................44
Grfico 5 - Context Switching ....................................................................................45
Grfico 6 - Latncia de Comunicao Local..............................................................46
Grfico 7 - Latncia de Sistema de Arquivos ............................................................47
Grfico 8 - Largura de Banda para Comunicao Local ...........................................48
Grfico 9 - Comparativo de Latncia de memria .....................................................49
Grfico 10 - Mdia de Latncia de Memria..............................................................50
Grfico 11 - Transferncia de Arquivos em NFS.......................................................52
Grfico 12 - Codificao de vdeo .............................................................................53
Grfico 13 - Connection Times para 100 requisies por rajada...............................55
Grfico 14 - Porcentagem de Requisies por Tempo..............................................56
Grfico 15 - Connection Times para 200 requisies por rajada...............................58
Grfico 16 - Porcentagem de Requisies por Tempo..............................................59

LISTA DE ABREVIATURAS SIGLAS E SMBOLOS

AMD - Advanced Micro Devices


ARM Advanced Risc Machine
BARE METAL Software instalado diretamente em hardware
BSD Berkeley Software Distribution
CPU Central Processing Unit
CTSS - Compatible Time-Share System
DMA Direct Memmory Access
DOUBLE Nmero de tamanho duplo
FLOAT Nmero fracionado (com ponto flutuante)
HCL - Hardware Compatible List - Lista de Hardware Compatvel
I/O Input/Output
IDC International Data Corporation
INTEGER Nmero inteiro
Intel VT Intel Virtualization Technology
KVM Kernel-based Virtual Machine
MIPS Microprocessor without interlocked pipeline stages
MIT Massachusetts institute of Technology
MRTG Multi-Router Traffic Grapher
NFS Network File System
PAE Phisical Addressing Extentions
POWER Power Optimization Enhanced Risc
PowerPC - Power Optimization With Enhanced RISC - Performance Computing
Pseudo-Hardware Hardware visualizado pela mquina virtual.
QEMU-DM QEMU Device-Manager
SCSI - Small Computer Systems Interface - Interface para Sistemas de Pequenos
Computadores
SMB Service Message Blocks
SMP - Symmetric multiprocessing - Multi Processamento Simtrico.
SNMP Simpe Network Manage Ment Protocol
SPARC Scalable Processor Architecture
USB - Universal Serial Bus

VMM Virtual Machine Monitor


Vmotion Migrao viva
VT - Intel Virtualization Technology Tecnologia de Virtualizao Intel

SUMRIO

SUMRIO .................................................................................................................12
1 INTRODUO......................................................................................................15
1.1 OBJETIVO..........................................................................................................16
2 METODOLOGIA...................................................................................................17
2.1 DETALHAMENTO TERICO.............................................................................17
2.2 AMBIENTE DE TESTES REALIZADOS.............................................................17
3 VIRTUALIZAO.................................................................................................18
3.1 A ORIGEM DA VIRTUALIZAO ......................................................................18
3.1.1 Viso Histrica da Virtualizao ..................................................................18
3.1.2 A Virtualizao na Plataforma X86...............................................................19
3.2 A IMPORTNCIA DA VIRTUALIZAO ............................................................20
3.3 TIPOS DE VIRTUALIZAO .............................................................................21
3.3.1 A Emulao de Hardware .............................................................................21
3.3.2 A Virtualizao Completa .............................................................................22
3.3.3 A Paravirtualizao .......................................................................................24
3.3.4 Instruction Set Virtualization Virtualizao de Instrues .....................25
4 IMPLEMENTAES PARA VIRTUALIZAO ...................................................27
4.1 QEMU.................................................................................................................27
4.2 XEN ....................................................................................................................28
4.2.1 Sistemas Operacionais Suportados ............................................................29
4.2.2 Hardware requerido ......................................................................................30
4.3 LINUX KVM ........................................................................................................30
4.3.1 Componentes do KVM ..................................................................................32
4.3.2 Gerenciamento ..............................................................................................32
4.4 VMWARE SERVER............................................................................................33
4.4.1 Novos recursos no VMware Server 2 ..........................................................33
4.5 VMWARE ESX SERVER....................................................................................34
4.5.1 VMware ESXi .................................................................................................35
4.6 VMWARE WORKSTATION................................................................................35
4.7 SUN XVM, ..........................................................................................................35
4.7.1 Suporte a guests ...........................................................................................36

4.8 QUADRO COMPARATIVO DAS FERRAMENTAS ............................................36


5 EXPERIMENTOS E RESULTADOS.....................................................................38
5.1.1 Descrio do Ambiente ................................................................................38
5.1.2 Anlise de Desempenho...............................................................................38
5.2 LMBENCH ..........................................................................................................39
5.2.1 Manipulao de Processos ..........................................................................40
5.2.2 Operaes com Nmeros Inteiros ...............................................................41
5.2.3 Operaes com Nmeros fracionrios (Floats) .........................................42
5.2.4 Operaes com Nmeros Dobrados (Double)............................................44
5.2.5 Context Switching Troca de Contexto......................................................45
5.2.6 Latncia para Comunicao Local ..............................................................46
5.2.7 Latncia de sistema de arquivos .................................................................46
5.2.8 Largura de banda para comunicao local.................................................47
5.2.9 Latncia de Memria.....................................................................................48
5.2.10 Mdia de Latncia de Memria ....................................................................49
5.3 TRANSFERNCIA DE ARQUIVOS ...................................................................50
5.3.1 SMB ................................................................................................................51
5.3.2 NFS .................................................................................................................51
5.4 CODIFICAO DE VDEO.................................................................................52
5.5 BENCHMARK DE SERVIDOR WEB..................................................................53
5.5.1 100 requisies por rajada ...........................................................................54
5.5.2 200 requisies por rajada ...........................................................................57
6 CONSIDERAES FINAIS..................................................................................60
6.1 DIFICULDADES ENCONTRADAS.....................................................................61
6.2 LIMITAES......................................................................................................62
6.3 EXPERIMENTOS FUTUROS.............................................................................62
6.4 CONCLUSES ..................................................................................................63
REFERNCIAS BIBLIOGRFICAS.........................................................................64
ANEXO A: ARQUIVO DE CONFIGURAO PARA INSTALAO COM XEN .....66
ANEXO B: ARQUIVO DE CONFIGURAO APS A INSTALAO COM XEN..67
ANEXO C: CRIAO DE MQUINA VIRTUAL COM KVM ....................................68
ANEXO D: REDE BRIDGE DO QEMU-KVM............................................................69
ANEXO E: SADA DE EXECUO DO LBENCH NO KVM ....................................70
ANEXO F: SADA DE EXECUO DO LBENCH NO XEN.....................................72

ANEXO G: SADA DE EXECUO DO LBENCH NO VMWARE SERVER............74


ANEXO H: SADA DE EXECUO DA CODIFICAO DE VIDEO NO KVM........76
ANEXO I: SADA DE EXECUO DA CODIFICAO DE VIDEO NO XEN..........77
ANEXO J: SADA DE EXECUO DA CODIFICAO DE VIDEO NO VMWARE 78
ANEXO K: SADA DE EXECUO DO AB NO KVM..............................................79
ANEXO L: SADA DE EXECUO DO AB NO XEN...............................................81
ANEXO M: SADA DE EXECUO DO AB NO VMWARE SERVER .....................83
ANEXO N: SADA DE EXECUO DAS CPIAS DE ARQUIVO POR NFS..........85

15

INTRODUO

Atravs de uma definio livre, virtualizao o processo de executar


vrios sistemas operacionais em um nico equipamento. Uma mquina virtual um
ambiente operacional completo que se comporta como se fosse um computador
independente. Com a virtualizao, um servidor pode manter vrios sistemas
operacionais em uso.

Segundo GOLDEN & SCHEFFY (2008), a criao de um ambiente data


center demanda recursos, que devem ser bem direcionados. A cada servidor
adquirido necessria a adequao do espao fsico, verificao do circuito eltrico
de alimentao e recabeamento nos ativos de rede, assim como a avaliao do
custo do equipamento com gasto de energia e manuteno por toda a sua vida til.
Porm, uma vez estabelecido um ambiente de servidores, as circunstncias podem
levar a necessidade de ampliao do mesmo, o que pode gerar transtornos caso
no sejam analisados os itens acima.

Atravs da virtualizao, esta ampliao pode ser obtida sem a


necessidade real da aquisio de novo equipamento em hardware. Como
conseqncia, haveria a possibilidade de colocar vrios servidores virtuais em
operao na mesma mquina fsica, usando os recursos de hardware de forma
otimizada e equilibrada. Assim, pode-se economizar gastos com energia,
refrigerao e espao fsico.
Atualmente, muitos data centers possuem servidores que utilizam apenas
10 ou 15% da capacidade total de processamento. Em outras palavras, 85
ou mais de 90% de toda a capacidade de cada servidor est em desuso.
Entretanto, ainda que um servidor esteja com baixa utilizao de recursos,
ele continua ocupando espao fsico e desperdiando energia eltrica,
gerando os mesmos custos operacionais que os de uma mquina com
100% de utilizao em tempo total. (GOLDEN & SCHEFFY, 2008, p. 3)
A primeira e mais bvia vantagem da virtualizao a reduo de custos.
Com apenas uma mquina que possua os recursos suficientes possvel
montar uma estrutura com vrios servidores virtuais, dispensando a
aquisio de vrias mquinas. Operacionalmente tambm h vantagens,
pois a administrao se torna centralizada e o tempo total de manuteno
inevitavelmente reduzido. (SIQUEIRA, 2007, p. 4)

16

O pensamento de GOLDEN & SCHEFFY (2008) assinala tambm estar de


acordo com a proposio de SIQUEIRA (2007), quando cita que alm de uma
grande conquista na reduo de custos em data centers, a virtualizao oferece a
oportunidade de reduzir largamente o custo com a administrao dos sistemas, pois
reduzir a quantidade de equipamentos fsicos que necessitam de administrao.
Vrias tarefas associadas a administrao dos servidores (como a instalao de
sistemas operacionais, aplicao de patches e a realizao de backups) continuaro
existindo em ambientes virtualizados, mas podero desaparecer nos servidores
fsicos.

A virtualizao proporciona novos recursos no convencionais, como a


migrao em tempo real, que permite que um sistema virtualizado mude seu host
hospedeiro sem comprometer a produo, recurso imprescindvel para ambientes
crticos com requerimento de alta disponibilidade.

1.1

OBJETIVO

A realizao deste trabalho tem como objetivo principal explorar a


virtualizao de servidores como forma de obter melhor aproveitamento de
hardware, comparando trs softwares para tal finalidade: VMware Server, Xen
Hypervisor e Linux KVM.

17

METODOLOGIA

A construo do trabalho ocorreu atravs do levantamento bibliogrfico a


respeito da origem, histrico e tipos existentes de virtualizao, e de vrios
softwares utilizados com essa finalidade.

Destes softwares, foram escolhidos trs para experimentao e avaliao


de desempenho. Eles foram testados individualmente em cada modalidade.

Assim, a construo do trabalho foi feita em duas etapas principais,


descritas abaixo:

2.1

DETALHAMENTO TERICO

Foram identificados conceitos tericos sobre o assunto, bem como o


histrico

da

virtualizao

desde

sua primeira

utilizao.

Promoveu-se

os

levantamentos de informaes tcnicas sobre alguns tipos de virtualizao, alguns


softwares utilizados atualmente para virtualizar e o comparativo de suas vantagens e
desvantagens.

2.2

AMBIENTE DE TESTES REALIZADOS

Os experimentos foram realizados em um ambiente de produo, para o


qual foram criadas mquinas virtuais utilizando os softwares VMware Server, Xen
Hypervisor e Linux KVM, nas quais sero executados testes com diferentes tipos de
cargas

simulando o uso prtico das mesmas. Mais detalhes sobre o ambiente,

consulte o item 5.1.1 Descrio do Ambiente.

18

3.1

VIRTUALIZAO

A ORIGEM DA VIRTUALIZAO

O grande foco da virtualizao, atualmente, a chamada virtualizao de


servidores, ou a hospedagem de mltiplos e independentes sistemas operacionais
em um nico computador fsico. Esta seo discorre sobre as razes deste
procedimento.

3.1.1 Viso Histrica da Virtualizao

O conceito de virtualizao antigo: Data os anos 60, com o uso mais


precoce realizado no antigo IBM 7044 CTSS (Compatible Time-Share System
Sistema Compatvel com Compartilhamento de Tempo); Segundo JONES (2006)
este equipamento foi denominado "Projeto Atlas", oriundo de um estudo realizado
em conjunto com o MIT (Massachusetts Institute of Technology Instituto de
Tecnologia do Massachusetts), a Ferranti Ltd. e a University of Manchester
(universidade de Manchester), no qual foi utilizado um mainframe IBM 704 M44/44X
com implementao de chamadas supervisoras.

O sistema operacional deste mainframe (na poca chamado "Supervisor")


executava duas mquinas virtuais, uma para o sistema e uma para execuo de
programas, servindo de base para outros computadores que viriam aps ele.

Assim, com base nesta tecnologia, em 1966 foi lanado o mainframe IBM
System/360 modelo 67, onde o hardware do equipamento era inteiramente
acessado atravs de uma interface chamada VMM (Virtual Machine Monitor). O
VMM funcionava diretamente no hardware bsico do equipamento, permitindo ento
a execuo de mquinas virtuais. Cada mquina virtual poderia ser uma nova
instncia do mesmo sistema operacional base em prvia execuo.

19

Com essa funcionalidade, o antigo termo "Supervisor" foi ento


denominado "Hypervisor". Ou seja, um software que prov ambiente de virtualizao
para o sistema operacional rodando acima dele.

No incio da dcada de 70, a IBM anunciou a srie de mainframes


System/370, e em 1972 anunciou o sistema operacional VM/370, que permitia a
criao de mltiplas mquinas virtuais para os mainframes desta srie. O VM/370 foi
atualizado em conjunto com toda a linha de mainframes da IBM, e hoje conhecido
como IBM z/VM, um dos sistemas operacionais para os mainframes da srie
System/Z, e mantm compatibilidade total com os aplicativos desenvolvidos ainda
para o System/370.

3.1.2 A Virtualizao na Plataforma X86

Segundo a VMware Inc. (2008), a virtualizao perdeu foras nas dcadas de


80/90 devido a criao de novas aplicaes cliente/servidor e do declnio da
plataforma mainframe. Devido ao alto custo inicial de um mainframe, empresas
passaram a adquirir servidores de plataforma x86 de acordo com a demanda que
precisavam.
A larga ascenso da plataforma Linux nos servidores, assim como a adoo
do sistema operacional Windows em desktops e posteriormente em alguns
servidores nos anos 90, acabaram por consolidar a plataforma x86 como
1
alternativa vivel para uso na virtualizao. (VMware Inc. 2008)

Os mainframes tinham grande capacidade de processamento, o que no


existia no incio da ascenso da plataforma x86. Os servidores x86 tambm no
eram projetados com foco em virtualizao, como os mainframes foram nas dcadas
passadas (e so at os dias atuais). Assim, de acordo com a IDC (International Data
Corporation, [1999?] apud VMware Inc, 2008) em cada implementao de algum
servidor x86 tpico, o teto de uso das CPUs acaba entre 10 a 15% da capacidade
total deste servidor. Isso acontecia porque, para cada servidor x86, geralmente

Contedo disponvel no endereo http://www.vmware.com/overview/history.html

20

utilizava-se uma nica determinada aplicao, visando garantir boa margem de risco
contra problemas que possam comprometer a produo.

Segundo GOLDEN & SCHEFFY (2008), a virtualizao quebra o molde


uma aplicao, um servidor, pois veio para suportar vrias aplicaes em um s
sistema fsico. Ento, em 1999, a VMware Inc. introduziu a virtualizao na
plataforma x86 como uma maneira mais eficiente para utilizar o equipamento desta
plataforma, aproveitando servidores x86 de propsito geral para prover uma
estrutura compartilhada de hardware oferecendo isolamento completo, mobilidade e
liberdade de escolha para sistemas operacionais em ambientes de servidores.

3.2

A IMPORTNCIA DA VIRTUALIZAO

De uma perspectiva empresarial, existem muitas razes para utilizar a


virtualizao, principalmente na chamada Consolidao de Servidores. Ao
virtualizar determinado nmero de sistemas sub-utilizados em um nico servidor
fsico, voc economizar espao em estrutura fsica, espao em disco, refrigerao,
energia e centralizar o gerenciamento.

Para determinar quais servidores podem ou no ser virtualizados, deve-se


fazer uma avaliao de recursos utilizando-se de ferramentas como MRTG2 ou
Cacti3 (ambos utilizam SNMP4) para monitorar a performance e o uso de recursos
em cada servidor. Uma vez virtualizado, deve ser feito um acompanhamento,
verificando se o novo servidor fsico tambm ficar sobrecarregado, possvel
migrar determinado servidor virtual para outro servidor fsico com o mesmo em
produo sem necessidade de reboot. Assim, pode ser feito o balanceamento de
carga entre vrios servidores fsicos hospedeiros sem afetar o funcionamento das
mquinas virtuais.
2

MRTG: Multi-Router Traffic Grapher. Software utilizado para gerar grficos de determinados
equipamentos.
3
CACTI: Software utilizado para gerao de grfico e monitoramento de equipametnos.
4
SNMP: Simple Network Management Protocol, Protocolo Simples para Gerenciamento de Redes.
Protocolo utilizado para obter informaes de dispositivos que o suportem para utilizao por outras
aplicaes.

21

A virtualizao tambm importante ao analisarmos a redundncia em


data centers, item importantssimo em ambientes 24 x 7 (24 horas por dia, sete dias
da semana). Com a migrao em tempo real, uma vez identificada a possibilidade
de falha de determinada mquina fsica hospedeira (quebra de espelhamento, fonte
queimando, memria despejando etc), bastaria migrar as mquinas virtuais para
outros servidores fsicos. Porm, se acontecer alguma falha no esperada em algum
servidor hospedeiro, todas as mquinas virtuais daquele equipamento podem ser
afetadas. Exemplo, se todas as fontes de um servidor queimarem ao mesmo tempo,
todas as mquinas virtuais dele desligaro. Ou, se acontecer alguma falha nos
discos do servidor ou na storage de armazenamento -, todas mquinas virtuais
podero ser corrompidas.

3.3

TIPOS DE VIRTUALIZAO

A virtualizao um conceito amplo e existem vrios usos e categorias


para efetu-la. As principais maneiras sero abordadas nesta seo.

3.3.1 A Emulao de Hardware

Segundo JONES (2006), a emulao de hardware atualmente a forma


mais complexa de virtualizao. Devido a sua complexidade, gera grandes
overheads5, prejudicando o desempenho do sistema operacional guest6. Nesse
mtodo, todo o hardware de uma mquina virtual criado via software no sistema
hospedeiro para emular o hardware proposto, conforme exibido na Figura 1. Ou
seja, at o processador da mquina virtual precisa ser criado via software, o que
feito geralmente feito em assembly.

5
6

Overhead: Diferena de performance gerando latncia no sistema operacional guest


Guest: Sistema operacional convidado.

22

Figura 1: Emulao de Hardware

Segundo GOLDEN & SCHEFFY (2008), a complexidade da tcnica fere o


desempenho do guest. E, segundo JONES (2006), para emulaes de altafidelidade, incluindo transies de informao entre registradores para memria
cache e criao de pipelines na CPU, a performance pode ser, facilmente, 1000
vezes menor.

Mas, a emulao de hardware tambm tem vantagens, Por exemplo,


usando emulao de hardware, possvel rodar um sistema operacional guest sem
qualquer modificao ou adaptao.

3.3.2 A Virtualizao Completa

A virtualizao completa, tambm conhecida como "virtualizao nativa",


outro mtodo utilizado para virtualizao. JONES (2006) cita que esse modelo usa
uma mquina virtual atravs da mediao entre o sistema operacional hospedeiro
(host) e o guest conforme mostrado na Figura 2. A palavra "mediao" utilizada,
pois o VMM faz a troca entre o sistema operacional virtualizado e o hardware do
equipamento.

23

Figura 2: Virtualizao Completa

Segundo JONES (2006), a virtualizao completa mais rpida que a


emulao de hardware, mas a performance tambm menor do que a do mesmo
sistema operacional rodando nativamente. A grande vantagem da virtualizao
completa que o sistema operacional pode rodar sem modificaes. A desvantagem
que a mquina guest no pode rodar em host de arquitetura diferente.

Segundo VMware Inc. (2008), um grande obstculo para a virtualizao


completa foi o fato de que, 17 instrues especficas dos processadores da
plataforma x86 geravam erros quando essa camada de interpretao era criada, o
que fazia o sistema operacional guest gerar erros crticos durante sua execuo.
Esses erros variavam desde informaes no sistema operacional at a finalizao
inesperada da aplicao.

Assim, essas 17 instrues foram apontados pela mesma empresa como


um importante marco para a criao do primeiro ambiente de virtualizao completa
da plataforma x86, o VMware Workstation em sua primeira verso, lanado em
1999.

24

3.3.3 A Paravirtualizao

A paravirtualizao uma tcnica que tem poucas semelhanas com a


virtualizao completa. Esse mtodo usa o hypervisor para acesso compartilhado ao
hardware do equipamento, e tambm integra cdigos de virtualizao dentro do
sistema operacional nativo, agregando nele as funes de gerenciamento do
hypervisor, como exibido na Figura 3.

GOLDEN & SCHEFFY (2008) cita que atravs da paravirtualizao, o


hypervisor criado como uma camada abaixo do sistema operacional, que por sua
vez, multiplexa o acesso dos guests ao hardware do equipamento. Assim, o prprio
sistema operacional nativo (e, neste caso, de gerenciamento) transformado em
mquina virtual.

Figura 3: Hypervisor

Segundo SIQUEIRA (2007), este modelo como hypervisor obtm


preferncia para os ambientes virtualizados, pois, os hspedes sabem perfeitamente

25

que rodam em um ambiente virtual. Para isso, os guests precisam ser corrigidos, o
que s possvel de conseguir em sistemas de cdigo aberto7.

Uma vez que os sistemas operacionais sejam adaptados, a interao


entre as mquinas virtuais e a mquina fsica otimizada, o que aumenta o
desempenho. Porm, a grande desvantagem deste modelo continua sendo a
dependncia da alterao do sistema operacional de gerenciamento e dos guests,
para que possam interagir com o hypervisor ao invs do hardware fsico.

3.3.4 Instruction Set Virtualization Virtualizao de Instrues

Outro aspecto mais recente da virtualizao chamado Instruction Set


Virtualization (Virtualizao de Instrues). Neste modelo, segundo JONES (2006),
um conjunto de instrues virtuais traduzido para uma instruo fsica destinada
camada de hardware do equipamento. Assim, com o cdigo original sendo
executado dentro de uma mquina virtual, a traduo ocorre do primeiro (set de
instrues) para um segundo seguimento de cdigo, efetuando a mediao entre a
aplicao e o sistema operacional conforme exibido na Figura 4.

Figura 4: Instruction Set Virtualization

Um exemplo recente deste modelo utilizado no processador Crusoe, da


Transmeta. A arquitetura implementa traduo de binrios com o nome Code
7

Cdigo Aberto: Programas que possuem o cdigo de fonte disponvel para verificao e/ou estudo.

26

Morphing. O mesmo processo tambm utilizado para execuo de binrios de


diferentes arquiteturas em um sistema operacional de outra plataforma, como por
exemplo, para rodar binrios de um sistema Linux plataforma PowerPC em um Linux
plataforma x86 com o software nspluginwrapper.

27

IMPLEMENTAES PARA VIRTUALIZAO

Foram analisados os aspectos relevantes de vrios softwares utilizados


para virtualizao.

Os softwares descritos a seguir, foram escolhidos por serem largamente


utilizados na virtualizao para desktop (com usurios que desejam testar outros
sistemas operacionais e simularem ambientes) e tambm para virtualizao de
servidores. Eles pertencem a distintas categorias, conforme est descrito a seguir:

4.1

QEMU

O QEmu dos virtualizadores mais complexos hoje existentes, mas que


suporta vrias maneiras de execuo. Por padro, um emulador de hardware (e
sofre com a baixa performance), mas tambm suporta emulao de processadores
de outras arquiteturas, como ARM, MIPS, Sparc e PowerPC. Em modo de emulao
de um computador x86, o QEMU disponibiliza os seguintes componentes de
hardware:

- Chipset Intel i440FX/PIIX3


- Placa de vdeo Cirrus 446 PCI
- Teclado e mouse PS/2
- 2 PCI IDEs com suporte a CD-Rom
- Disquete 3 polegadas
- Porta serial
- Placa de som Creative SoundBlaster 16, ENSONIQ AudioPCI ES1370
Yamaha YM3812.
- Suporte a USB.

Ele tambm pode ser apenas um emulador de binrios, e nesse modelo


chamado User Mode Emulation. Dessa forma, ele pode permitir que um binrio

28

compilado para Linux em plataforma x86 rode em plataforma PowerPC, por


exemplo. Outras funcionalidades so agregadas a ele com o mdulo KQEMU, que
garante maior acelerao ao host em execuo quando este um x86.

4.2

XEN

O Xen um hypervisor que trabalha tanto em modo de paravirtualizao


como em modo de virtualizao completa. Est localizado abaixo do sistema
operacional. Ele permite que os recursos de hardware de uma mquina sejam
dinamicamente distribudos entre as mquinas virtuais. E nele, as mquinas virtuais
so denominadas Domains.8 O prprio sistema operacional nativo (que utilizado
para gerenciamento) referenciado como um Domain.

Ao

contrrio

do

VMware

Workstation/Server,

em

modo

de

paravirtualizao, ele no tenta virtualizar completamente as chamadas do sistema


operacional guest para a camada de hardware. Assim, partes do sistema
operacional guest so modificadas para trabalharem em interao direta com ele, ao
invs do hardware nativo do equipamento, conforme descrito em Xen Interfaces
Manual.

Por isso, o Xen em modo paravirtualizado no disponibiliza pseudo9

hardware para a mquina virtual. Nada exibido nos comandos lspci e lsusb; No
comando dmesg, os dispositivos xenblk, xen_mem e xenfb apenas indicam que o
kernel foi preparado para integrao direta com o hypervisor.

Quando utilizada a virtualizao completa no Xen, o hardware encontrado


na mquina virtual criado atravs da modificao do software QEMU, e o hardware
disponibilizado para o sistema operacional guest o mesmo exibido por este, exceto
o processador.

8
9

Domains: Nomenclatura adotada no Xen para denominar suas mquinas virtuais.


Pseudo-Hardware: Hardware visualizado pela mquina virtual.

29

Em ambos os casos, o pseudo-hardware exportado para as mquinas


virtuais (CPU, memria, rede e dispositivos de bloco) gerado atravs de uma
interface de controle utilizada para gerenciamento no Xen. Assim, para a abstrao
de hardware das mquinas virtuais (nos dois modos), fica em constante execuo o
daemon xend na mquina de gerenciamento.

O acesso a essa interface de controle restrito: Ela pode ser acessada


por uma nica mquina virtual privilegiada, conhecida como Domain 0 (Domnio 0).
As operaes como a criao de um novo domnio, desligamento e at migrao de
um domnio em execuo para outro host fsico, so disparadas diretamente pelo
Domain 0 (mquina de gerenciamento) para o hypervisor atravs do comando xm,
que executa a solicitao.
O Domain 0 criado automaticamente quando o sistema executa o boot10.
Durante isso, o Xen agrega os privilgios de gerenciamento para este domnio, de
modo que ele possa interagir diretamente com o hypervisor executando, tambm, as
tais tarefas administrativas.

4.2.1 Sistemas Operacionais Suportados

Segundo o Manual do Usurio do Xen a paravirtualizao permite uma


performance excelente durante o processo de virtualizao, uma vez que a
arquitetura x86 s recebeu aperfeioamentos (instrues especficas) para tal uso a
partir de 2006. Ento, para executar um domnio em modo de paravirtualizao,
necessrio que o sistema operacional seja portado para o Xen. Atualmente, os
sistemas operacionais portados para o Xen so o Linux, NetBSD e o Solaris. Esses
sistemas podem ser executados no Xen em modo paravirtualizado.

Para utilizar virtualizao completa no Xen, necessrio o suporte para


virtualizao via hardware. Esse suporte garantido pelas instrues VT nos
processadores Intel e SVM nos processadores da AMD. Existindo essas extenses,
10

Boot: Processo de inicializao do sistema.

30

possvel que o Xen crie Domains sem necessidade alguma de modificao do


sistema operacional, podendo assim ser instalado qualquer outro guest.

4.2.2 Hardware requerido

Atualmente, o Xen roda nos computadores da plataforma x86, sendo


necessrio algum processador P6 (de sexta gerao), como um Pentium Pro,
Celeron, Pentium II, Pentium III, Pentium IV, Xeon, AMD Athlon (Duron), Athlon 64 e
Opteron. Multi-processamento suportado, e existem portes em andamento para as
plataformas Intel IA64 (processador Itanium) e Power (processadores PowerPC e
POWER).

O Xen, por padro, suporta at de 4GB de memria RAM em modo de


execuo 32 bits. Como uma quantidade pequena para os servidores nos dias
atuais, existe o suporte para as extenses PAE11, da Intel, que permite que sistemas
operacionais x86 de 32bits possam enderear at 64GB de memria Ram. O Xen
3.0 tambm suporta as arquiteturas x86/64 bits.

4.3

LINUX KVM

Segundo a Qumranet Inc, desenvolvedora do KVM, adicionando a


capacidade de virtualizao no kernel Linux, possvel aproveitar todo o cdigo j
escrito do para a criao de um ambiente de virtualizao completo nativo. Integrado
ao kernel, o KVM automaticamente suporta todos os dispositivos de hardware que
funcionam com Linux.

Com o VMM integrado ao kernel, e no abaixo dele (exemplo do Xen),


cada mquina virtual um processo normal no sistema operacional, acessada

11

PAE: Phisical Addressing Extensions. Extenses de Endereamento Fsico.

31

atravs do mdulo KVM, mdulo este que executar o papel de hypervisor, como
exibido na figura 5.

Figura 5: Linux KVM

Um processo normal, rodando em Linux, possui dois modos de execuo:


Kernel Mode (modo kernel) e User Mode (modo usurio). Porm, por uma mquina
virtual precisar de mais prioridade do que um processo normal, e por ser, tambm,
bem mais complexa que um aplicativo comum, adicionado um terceiro modo de
execuo: O guest mode (modo Convidado).

Na terminologia KVM, os guests so mquinas virtuais comuns, e o


privileged-guest a mquina destinada ao gerenciamento, equivalente ao Dom0 do
Xen.

Uma das vantagens ao modelo com um hypervisor tradicional que o


KVM um sistema enxuto e minimalista. Sua programao consiste em apenas
alguns milhares de linhas de cdigo. E, como mdulo do kernel, possvel
manipul-lo em tempo de execuo, como se fosse um dispositivo qualquer. Seus
guests tem acesso a todo sistema de memria atravs de chamadas de hardware ou

32

mesmo de DMA12 (DMA: Direct Memmory Access - Acesso direto a memria). E, o


acesso dos guests ao resto do hardware ilimitado.

Assim como o Xen, o KVM tambm utiliza o QEMU para promover a


abstrao de hardware na mquina virtual. Assim, exceto o processador, o hardware
simulado o mesmo do QEmu

4.3.1 Componentes do KVM

Os dois componentes principais do KVM so explicados abaixo:

- Um driver de dispositivos para gerenciamento do hardware virtualizador.


Este driver trabalha utilizando o dispositivo /dev/kvm.
- Um componente no user-space para emulao do hardware de um PC
comum. Para isso, utilizada uma verso modificada do QEMU.

O QEmu modificado roda como processo no sistema, e cria uma camada


de hardware para a mquina virtual, mapeando a memria fsica e as chamadas do
kernel (especificamente do mdulo KVM) para a execuo do guest. O I/O das
mquinas virtuais diretamente derivado do QEMU, onde existe o suporte a todos
os tipos de imagem de disco que o mesmo oferece.

4.3.2 Gerenciamento

A partir do ponto que uma mquina virtual simplesmente um processo,


todas as ferramentas de gerenciamento de processo do sistema Linux so
reaproveitadas. possvel pausar, desligar e restaurar uma mquina virtual
diretamente com o comando kill (ou usando os atalhos de teclado, como CTRL + C e

12

DMA: Direct Memmory Access - Acesso direto a memria. Prov acesso a memria sem a
necessidade de interrupo da CPU.

33

CTRL + Z), assim como possvel verificar a alocao de recursos com o comando
top.

4.4

VMWARE SERVER

Segundo o VMware Server Product Datasheet, o mesmo instalado como


aplicao no topo de um sistema operacional host, seja ele Windows ou Linux, e cria
um hypervisor que traduz as chamadas do sistema guest para o host. Os recursos
de um mesmo servidor fsico so tratados e distribudos uniformemente entre todas
as mquinas virtuais.

O pseudo-hardware virtual criado pelo VMware para abstrao dos guests


constitudo dos seguintes tens:

- Placa de rede AMD PCnet32 Accelerated


- Placa de som Ensoniq ES1371 WDM
- Controladora SCSI a escolher (LSI Logic ou BusLogic)
- Chipset Intel 430VX

O VMware tambm instala drivers adicionais no sistema operacional guest


e host para otimizar o acesso dos recursos nas mquinas fsicas e virtuais. Na
mquina guest, esses drivers so conhecido como VMware Tools, e conclui a
instalao dos dispositivos faltantes (driver de vdeo, por exemplo).

4.4.1 Novos recursos no VMware Server 2

Com o VMware Server 2, novos recursos foram adicionados; Ele oferece


suporte aos sistemas operacionais Windows Server 2008, Windows Vista, RedHat
Enterprise Linux 5 e Ubuntu 8.04. Foi acrescentado o suporte aos sistemas
operacionais 64 bits (caso o hardware seja 64 bits) para Linux de mesma
arquitetura.

34

Foi includa, tambm, uma nova interface web para gerenciamento das
mquinas virtuais. E este servio de virtualizao, oferecido pelo VMware Server,
tambm pode ser acessado atravs do software VMware Virtual Infrastructure Client,
que unifica o acesso a plataformas de virtualizao da mesma empresa.

O VMware Server tambm oferece recursos para que as mquinas virtuais


possam ter at 8GB de memria RAM, 10 interfaces de rede virtuais, USB 2.0 e
duas opes de discos SCSI.

4.5

VMWARE ESX SERVER

Segundo o VMware ESX 3.5 Product Datasheet, o VMware ESX Server foi
criado para possibilitar a criao de um ambiente de TI virtual, dinmico e otimizado;
Ele um sistema operacional, baseado no kernel Linux, que cria uma camada de
abstrao para acesso aos recursos do sistema (processadores, memrias,
storages13 e dispositivos de rede) por mquinas virtuais.

Por ser um sistema operacional completo, o VMware ESX instalado


diretamente no hardware (bare-metal14) do servidor, e traz consigo seu hypervisor
(denominado VMkernel), que prov os recursos para execuo das mquinas
virtuais. Assim, ele precisa ser acessado atravs do software VMware Virtual
Infrastructure Client para que possam ser criadas as configuraes no mesmo
servidor;

13

Storage: Equipamento que agrega determinadas quantidades de HDs de alta perfomance para
serem acessados atravs do meio externo, muitas vezes atravs de mltiplos servidores;
14
Bare-metal: Metal nu (traduo livre); Instalado diretamente no equipamento;

35

4.5.1 VMware ESXi

Com base no VMware ESX, a VMware lanou a verso gratuita do


produto, o VMware ESXi Server; O ESXi no possui os recursos de VMotion (live
migration) nem suporte da empresa, mas pode ser utilizado gratuitamente. Recursos
adicionais, como o prprio VMotion, podem ser comprados adicionalmente e
inseridos no VMware ESXi.
O VMware ESXi tambm possui uma verso embbeded15 chamada
VMware ESXi Small Footprint, de apenas 32MB, que est sendo integrada em vrias
placas mes de servidores de terceiros, fabricados por empresas parceiras da
VMware.

4.6

VMWARE WORKSTATION

Soluo de virtualizao para desktops da VMware, o mesmo instalado


como aplicao no topo de um sistema operacional host, seja ele Windows ou Linux,
e cria um hypervisor que traduz as chamadas do sistema guest para o host, tal qual
ao VMware Server. Porm, esta verso utilizada para desenvolvimento e para
testes de aplicativos locais, e no para uso em produo.

4.7

SUN XVM,

O xVM (anteriormente chamado "Virtualbox") um virtualizador completo,


que utiliza partes do QEMU e do BOCHS como base para seu funcionamento
(incrementando outros recursos), e destinado a virtualizao de sistemas
operacionais na plataforma x86. Atualmente o Sun xVM roda nativamente nos
sistemas operacionais Windows, Linux, Mac OS X e OpenSolaris.

15

Embedded: Embarcado;

36

O xVM tambm suporta tecnologias de virtualizao via hardware, tanto da


Intel (Intel VT) quanto da AMD (AMD-V). A utilizao dessas tecnologias de
virtualizao opcional para cada maquina virtual, podendo ser includa/removida
facilmente. Porm, ela necessria nos seguintes casos:

- Ao virtualizar um sistema operacional raro, como o IBM OS/2, que desde


sua concepo (apesar de descontinuado desde 1996) utiliza instrues complexas
da plataforma x86 que no so suportadas com virtualizao diretamente em
software.

- Ao virtualizar um sistema operacional guest com suporte a 64 bits.

4.7.1 Suporte a guests

O xVM pode executar todos os sistemas operacionais x86 como por


exemplo DOS, Windows (todas as verses para x86) , FreeBSD, OpenBSD, Linux e
Solaris.

4.8

QUADRO COMPARATIVO DAS FERRAMENTAS

O quadro a seguir exibe uma comparao entre as ferramentas utilizadas na


virtualizao destacando as principais caractersticas de cada uma delas.

37

FERRAMENTA DESENVOLVEDOR

QEmu

XEN
Hypervisor
VMware
Server
VMware
ESX/ESXi
Server:

Linux KVM

16

Fabrice Bellard

Citrix Technologies

VMware Inc.

VMware Inc.

RedHat17

PLATAFORMA
SISTEMAS
OPERACIONAL OPERACIONAIS
SUPORTADOS
-Windows
-MS Dos
-Linux e Unix
x86, PowerPc
(FreeBSD,
NetBSD, Solaris)
- etc.
-Linux
-NetBSD
x86
-Solaris
-Windows
-Linux
x86
-Windows
-Unix

TECNOLOGIAS
UTLIZADAS

Emulao de
Hardware e
Virtualizao
Completa
Paravirtualizao
e Virtualizao
completa
Virtualizao
Completa

x86

-Linux
-Windows
-Unix

Paravirtualizao16
e Virtualizao
completa

x86

-Linux,
-Windows
-Unix (FreeBSD
e Solaris)

Virtualizao
Completa18

A Paravirtualizao no VMware ESX/ESXi se aplica apenas a guests com sistema Linux.


RedHat: A RedHat adquiriu a Qumranet, desenvolvedora original do KVM em 4 de setembro de
2008.
18
Est sendo adicionado recurso de paravirtualizao ao KVM.
17

38

EXPERIMENTOS E RESULTADOS

5.1.1 Descrio do Ambiente

Foi instalado na mquina fsica o sistema operacional CentOS 5.2 Linux


64 bits, com kernel 2.6.18, e 3GB de memria Ram, sendo que desta memria, 1GB
foi destinado inteiramente para a mquina virtual em execuo. Devido a
divergncias de cada uma das tecnologias, cada mquina virtual foi executada
individualmente. O processador utilizado foi um Intel Core 2 Duo E6420, sendo
disponibilizados apenas um ncleo para as mquinas virtuais. Foi utilizada uma
partio com 49GB em um HD de 160GB, destinando 8GB para cada mquina
virtual.

As tarefas designadas para cada servidor virtualizado, na criao de um


ambiente de produo, foram mquinas virtuais configuradas adequadamente com
as finalidades de testar o desempenho individual com softwares para benchmark,
codificao de vdeo e testes com aplicativos simulando servidores reais.

5.1.2 Anlise de Desempenho

Cada mquina foi submetida a testes de processamento, de I/O e de


conectividade, analisando a performance de cada uma como um todo. As tarefas
submetidas foram:

a)

Codificao de vdeo utilizando o software Transcode;

b)

Anlise de performance geral com o software LMBench.

c)

Transferncia de arquivo com 4GB via NFS (cliente Linux) e SMB (cliente

Windows);
d)

Inundao de requisies simultneas para o servidor web utilizando o

software AB (Apache Benchmark).

39

Todos os testes do tipo cliente/servidor realizados (transferncia de arquivos


e benchmark com AB) foram executados a partir de outro host na rede, utilizando o
sistema operacional Microsoft Windows XP SP3 para transferncia de arquivos via
SMB, e o sistema operacional Fedora Linux verso 8 para transferncia de arquivos
por NFS. A inundao de requisies para os servidores Apache de cada mquina
virtual, realizada pelo AB, tambm foi feita a partir deste host Linux. A rede entre as
duas mquinas foi estabelecida atravs de um switch Encore 3NH908, operando a
100Mbps em modo full duplex.

Os testes de performance individuais (como a codificao de vdeo e anlise


de desempenho com o LMBench) foram realizados com o sistema operacional host
em IDLE19, evitando assim a influencia nos testes de cada uma delas.

5.2

LMBENCH

A execuo do LMBench verso 3 Alpha, nas mquinas virtuais testou os


seguintes itens em cada uma delas:

- Manipulao de Processos;
- Operaes com nmeros do tipo integer - inteiro;
- Operaes com nmeros do tipo float ponto flutuante;
- Operaes com nmeros do tipo double nmeros duplos;
- Context Switching Troca de Contexto;
- Latncia de comunicao local;
- Latncia em sistema de arquivos (e manipulao destes) e memria
virtual;
- Largura de banda para comunicao local;
- Latncia de memria.

19

IDLE: Stand-By. Equipamento em espera sem aplicao especfica em operao.

40

O detalhamento completo de cada um dos subtestes realizados pode ser


obtido, em uma mquina com o sistema operacional Linux que possua o LMBench
instalado, atravs do comando man lmbench, e no o objetivo deste documento. O
LMBench foi executado por aproximadamente 26 horas em cada mquina virtual at
a obteno do resultado. O resultado escrito devolvido pelo LMBench em cada host
est anexo neste documento.

A verso utilizada era a ltima disponvel nos repositrios da distribuio


adotada pelo grupo, e apesar de ser uma verso Alpha, no foi demonstrado
qualquer sinal de instabilidade durante toda a realizao dos testes citados.

5.2.1 Manipulao de Processos

O Grfico 1 abaixo representa o comparativo entre o tempo de


manipulao de processos em cada mquina virtual. Quanto menor o resultado
obtido, maior a eficincia do virtualizador.

41

Grfico 1 - Comparativo de Processos

5.2.2 Operaes com Nmeros Inteiros

O Grfico 2 representa o comparativo de tempo para realizao de cada


uma das operaes descritas utilizando nmeros inteiros. Quanto menor o resultado
obtido, maior a eficincia em cada mquina virtual.

42

Grfico 2 - Operaes com Inteiros

5.2.3 Operaes com Nmeros fracionrios (Floats)

O Grfico 3 representa o comparativo de tempo para realizao de cada


uma das operaes descritas utilizando nmeros fracionados (tipo float). Quanto
menor o resultado obtido, maior a eficincia em cada mquina virtual.

43

Grfico 3 - Operaes com Floats

44

5.2.4 Operaes com Nmeros Dobrados (Double)

O Grfico 4 representa o comparativo de tempo para realizao de cada


uma das operaes descritas utilizando nmeros dobrados (tipo double). Quanto
menor o resultado obtido, maior a eficincia em cada mquina virtual.

Grfico 4 - Operaes com Doubles

45

5.2.5 Context Switching Troca de Contexto

O Grfico 5 abaixo representa o comparativo de tempo para realizao de


troca de contexto em cada uma das operaes descritas. Quanto menor o resultado
obtido, maior a eficincia em cada mquina virtual.

Grfico 5 - Context Switching

46

5.2.6 Latncia para Comunicao Local

O Grfico 6 representa o comparativo de latncia para comunicao local.


Quanto menor o resultado obtido, maior a eficincia em cada mquina virtual.

Grfico 6 - Latncia de Comunicao Local

5.2.7 Latncia de sistema de arquivos

O Grfico 7 representa o comparativo de sistema de arquivos. Quanto


menor o resultado obtido, maior a eficincia em cada mquina virtual.

47

Grfico 7 - Latncia de Sistema de Arquivos

5.2.8 Largura de banda para comunicao local

O Grfico 8 representa o comparativo entre a largura de banda para


comunicao local de cada mquina virtual. Quanto maior o resultado obtido, maior
a eficincia em cada virtualizador.

48

Grfico 8 - Largura de Banda para Comunicao Local

5.2.9 Latncia de Memria

O Grfico 9 representa o comparativo entre a latncia de memria de cada


mquina virtual. Quanto menor o resultado obtido, maior a eficincia em cada
virtualizador.

49

Grfico 9 - Comparativo de Latncia de memria

5.2.10 Mdia de Latncia de Memria

O Grfico 10 representa o comparativo entre a latncia mdia de memria


de cada mquina virtual. Este dado exibido imediatamente aps a finalizao da
execuo do LMBench. Quanto menor o resultado obtido, maior a eficincia em
cada virtualizador.

50

Grfico 10 - Mdia de Latncia de Memria

5.3

TRANSFERNCIA DE ARQUIVOS

Foi realizada cpia de uma imagem de DVD com 4GB atravs de um host de
rede, utilizando NFS (cliente Linux) e posteriormente Samba (cliente Windows).

51

5.3.1 SMB

Utilizando o Samba no houve diferena de performance entre os trs


virtualizadores. A imagem foi transferida do servidor virtualizado para o cliente
Windows fsico em 12 minutos.

5.3.2 NFS

Ocorreu diferena de tempo ao realizar a transferncia da mesma imagem de


DVD a partir do servidor virtualizado para o cliente Linux fsico. O Grfico 11
demonstra o tempo que cada uma das ferramentas demorou para realizar a cpia do
arquivo. O log da STDOUT20 durante a transferncia do arquivo est anexo neste
documento.

20

STDOUT: Fluxo padro de sada de texto no sistema operacional Linux. Exibido na tela por padro.

52

Grfico 11 - Transferncia de Arquivos em NFS

5.4

CODIFICAO DE VDEO

Foi realizada a codificao de um vdeo com 55 minutos e 439MB, alterando a


resoluo para 800x362 e convertendo para o formato DivX utilizando o software
transcode. Houve diferena de performance entre os virtualizadores, e o log da
STDOUT est anexo neste documento.

53

Grfico 12 - Codificao de vdeo

5.5

BENCHMARK DE SERVIDOR WEB

O AB faz parte da sute Apache Web Server, e recomendado para


realizao de benchmarks de servidores web. Utilizando-o, foram realizadas duas
sesses de testes no servidor Apache de cada mquina virtual: Ambas com o total
de 200.000 requisies. Porm, na primeira sesso foram disparadas 100

54

solicitaes simultneas por rajada, e na segunda sesso, 200 solicitaes


simultneas por rajada.

5.5.1 100 requisies por rajada

Os Grficos 13 e 14 comparam os tempos obtidos durante a realizao da


primeira sesso dos testes com o AB. Quanto menor a quantidade de tempo para
atendimento de cada requisio, melhor a eficincia do virtualizador. Os logs com as
STDOUTs das sesses dos trs virtualizadores, que originaram os grficos, esto
anexos no documento.

Na anlise a seguir, o grfico 13 e 15 (Connection Times) analisa os


seguintes aspectos:

- Connect: Tempo estimado gasto para comear a atender a conexo.


- Proccessing: Tempo estimado gasto para realizar o processamento de
cada uma das conexes.
- Waiting: Tempo de espera gasto entre o ltimo bit de requisio ser
enviado do cliente, e o primeiro bit de resposta do servidor ser disparado para
atend-lo.
- Total: Tempo total para atender a requisio.

Grfico 13 - Connection Times para 100 requisies por rajada

Grfico 14 - Porcentagem de Requisies por Tempo

57

5.5.2 200 requisies por rajada

Os Grficos 15 e 16 agora comparam os tempos obtidos durante a realizao


da segunda sesso dos testes com o AB. Quanto menor a quantidade de tempo
para atendimento de cada requisio, melhor a eficincia do virtualizador. Os logs
com as STDOUTs das sesses dos trs virtualizadores, que originaram os grficos,
tambm esto anexos no documento.

O detalhamento de cada modalidade foi citado no item 5.5.1.

Grfico 15 - Connection Times para 200 requisies por rajada

Grfico 16 - Porcentagem de Requisies por Tempo

60

CONSIDERAES FINAIS

O VMware Server 2 obteve desempenho equilibrado nas modalidades


testadas pelo LMBench, mas demonstrou excelente performance ao trabalhar com
arquivos grandes em rede. O mesmo tambm possui a melhor interface de
administrao, que pode ser acessada atravs do browser e garante a mesma
funcionalidade do VMware Virtual Infrastructure Client, aplicao desktop da
VMware Inc. para gerenciamento unificado das plataformas da empresa.

O KVM apresentou uma grande diferena entre os resultados obtidos para


uso em produo e atravs da comparao de desempenho. Ele se sobressaiu em
quase todas as modalidades do LMBench mas deixou a desejar no uso em
produo, demorando mais tempo que os outros virtualizadores em quase todos os
testes realizados, principalmente no que tange a comunicao em rede. Este
problema aparenta ser causado pelo legado de rede contido no cdigo do QEMU,
utilizado para criao de dispositivos na mquina virtual. Porm, por ser o mais
recente de todas as ferramentas testadas, mostrou estar no caminho certo para
obter boa competncia no futuro.

A verso utilizada do Xen foi a 3.0.3, a ltima disponvel no repositrio da


distribuio escolhida pelo grupo para realizao dos testes. A ltima verso do Xen
a 3.3.0, que segundo o lanamento oficial, realizou grande avano na parte de
comunicao de rede e I/O. Os resultados alcanados poderiam ser diferentes caso
a verso utilizada fosse a mais recente. Porm, esta verso ainda no foi
considerada estvel pelos desenvolvedores da distribuio adotada pelo grupo, e
por isso no foi utilizada. Apesar disso, o Xen obteve os melhores resultados para
uso em produo comparado as outras ferramentas.

61

6.1

DIFICULDADES ENCONTRADAS

Os testes originalmente foram planejados utilizando configuraes de


hardware virtual diferentes das apresentadas neste documento: Cada mquina
virtual, de acordo com o projeto original, funcionaria com dois processadores lgicos,
onde os resultados apresentados seriam diferentes dos expostos neste documento.

Porm, o KVM demonstrou no suportar corretamente as mquinas


virtuais com mais de um processador, e com a mquina virtual uma vez configurada
para utilizar dois processadores lgicos (SMP21), a mesma se tornava instvel e
imprpria para uso comum, uso em produo e para realizao de qualquer outro
teste. De modo que, quando a mquina virtual no carregava incorretamente o
sistema operacional, o sistema guest travava devolvendo o chamado Kernel Panic
aps alguns minutos de uso banal.

O Kernel Panic a falha irrecupervel de um sistema operacional Unix ou


Linux. Ela, geralmente, apresentada em caso de falha de hardware (nesse caso,
virtual) ou exceo no tratada pelo sistema operacional.

Este comportamento foi relatado utilizando tanto a distribuio oficial


adotada (CentOS Linux 5.2 com kernel 2.6.18) quanto em outra distribuio sem
finalidades acadmicas e inapropriada para testes realizados (Fedora 9 com kernel
2.6.25).

Por esse motivo, os testes que j haviam sido realizados com dois
processadores tanto no VMware Server quanto no Xen, foram descartados visando
a imparcialidade da comparao entre todas as ferramentas. Aps o downgrade de
processador nas mquinas virtuais do Xen e do VMware Server, os testes foram
refeitos e a mquina virtual executada pelo KVM funcionou perfeitamente, sem
nenhuma das instabilidades antes apresentadas.

21

SMP: Symmetric Multi-Proccessing - Multi-processamento simtrico, procedimento que utiliza duas


ou mais CPUs.

62

O planejamento inicial deste documento tambm previa a utilizao do


VMware ESXi Server como ferramenta da VMware Inc. em substituio ao VMware
Server. Porm, o VMware ESXi Server tem como exigncia uma lista de hardware
compatvel (HCL22) homologada pela empresa, e no foi possvel a execuo do
VMware ESXi Server no equipamento utilizado nos testes, pelo fato do hardware
pelo possudo pelo grupo ter pouqussima similaridade com o exigido para o produto.
Por este motivo, foi utilizado o VMware Server 2 representando as ferramentas da
VMware Inc., e que se demonstrou bastante estvel durante toda a bateria de testes
que o grupo realizou.

6.2

LIMITAES

Devido ao hardware utilizado para o ambiente de teste ser um computador


montado da plataforma x86, s foram testadas ferramentas que funcionam na
referida plataforma. Existem outras ferramentas de virtualizao para uso especfico,
de propriedade de empresas como a Sun e a IBM. Como, por exemplo, os
Conteiners e Zones, do sistema operacional Solaris, ou as LPars do sistema
operacional AIX.

6.3

EXPERIMENTOS FUTUROS

Fica para um prximo experimento a realizao dos mesmos testes


utilizando um servidor de marca compatvel com a HCL dos produtos VMware ESX
Server e VMware ESXi Server, da VMware Inc., que so mais apropriados que o
VMware Server para a utilizao em data-centers.

22

HCL:Hardware Compatible List Lista de Hardware Compatvel.

63

6.4

CONCLUSES

Aps abordada a origem da virtualizao, foram realizados testes de


desempenho em mquinas virtuais anlogas em hardware e software, mantendo sua
diferena apenas no virtualizador: Xen, VMware Server e Linux KVM.

Os resultados obtidos denotaram, para a maioria das modalidades


testadas, a proximidade de desempenho entre cada uma das ferramentas de
virtualizao utilizadas neste documento.

Isso demonstra que, com o atual avano no suporte virtualizao via


hardware atravs das extenses Intel VT e AMD-V, e que so utilizadas pelos trs
virtualizadores, a proximidade entre as trs ferramentas bastante evidente. Ambas
as ferramentas analisadas se sobressaram em determinados testes, e o grupo
elegeu ao Xen como melhor custo x benefcio para virtualizao de servidores
dentre os analisados. Porm, cabe ao administrador de sistemas escolher a que
mais lhe aprouver.

64

REFERNCIAS BIBLIOGRFICAS

APR Solues. Disponvel em:


http://www.compaq.com.br/pyme/solucoes/apr_solucoes_01.html. Acesso em:
21set.2008.
ATLAS Computer (Manchester). Disponvel em:
http://en.wikipedia.org/wiki/Atlas_Computer_(Manchester). Acesso em: 30 set.2008.
CAMBRIDGE, U.K. A State of Xen: Virtualization from PDAs to Super
Computers. [2008]. Disponvel em:
<http://citrix.com/English/NE/news/news.asp?newsID=1680834>. Acesso em: 12
nov.2008.
GOLDEN, Bernard; SCHEFFY, Clark. Virtualization for Dummies, Sun AMD
Special Edition. Indianapolis: Wiley Publishing INC, 2008.
GOMES, Lee. VMware Brings Freedom of Choice to Your Desktop. [1999].
Disponvel em: <http://www.vmware.com/company/news/articles/wsj_1.html>.
Acesso em: 14 out.2008.
HADDON, Tom. Hardware emulation with QEMU. [2005]. Disponvel em:
<http://www.linux.com/feature/49225>. Acesso em: 06 out.2008.
JONES, M. Tim. Virtual Linux. [2006]. Disponvel em: <http://www128.ibm.com/developerworks/linux/library/l-linuxvirt/?ca=dgr-lnxw01Virtual-Linux>.
Acesso em: 01ago.2008.
KVM kernel-based Virtualization driver. Disponvel em:
http://docs.huihoo.com/kvm/kvm-white-paper.pdf. Acesso em: 21 set.2008.
MOREIRA, Daniela. Virtualizao: rode vrios sistemas operacionais na mesma
mquina. [2006]. Disponvel em:
<http://idgnow.uol.com.br/computacao_corporativa/2006/08/01/idgnoticia.2006-0731.7918579158/IDGNoticiaPrint_view/>. Acesso em: 21 set.2008.
NSPLUGINWRAPPER. Disponvel em:
http://gwenole.beauchesne.info/en/projects/nspluginwrapper. Acesso em: 08
out.2008.
OITO principais desafios da virtualizao de data centers. Disponvel em:
http://idgnow.uol.com.br/computacao_corporativa/2007/04/27/idgnoticia.2007-0427.3291222006/IDGNoticiaPrint_view/. Acesso em: 21 out.2008.

SINGH, Amit. Na Introduction to Virtualization. [2008]. Diponvel em:


<http://www.kernelthread.com/publications/virtualization/>. Acesso em: 21 set.2008.

65

SIQUEIRA, Luciano; BRENDEL, Jeans-Chistoph. Linux Pocket Pro


Virtualizao. So Paulo: Linux New Media, 2007.
SUN xVM Virtualbox. Disponvel em:
http://download.virtualbox.org/virtualbox/2.0.4/UserManual.pdf. Acesso em: 12
out.2008.
VIRTUALIZAO de Servidores. Disponvel em:
http://www.intel.com/portugues/business/technologies/virtualization.htm. Acesso em:
21 set.2008.
VIRTUALIZATION history. Disponvel em:
http://www.vmware.com/overview/history.html. Acesso em: 30 set.2008.
VMWARE Datasheet ESXI. Disponvel em:
http://www.vmware.com/files/pdf/vmware_esxi_datasheet.pdf. Acesso em: 12
out.2008.
VMWARE Server. Disponvel em:
http://www.vmware.com/br/pdf/server_datasheet_br.pdf. Acesso em: 12 out.2008.
XEN Interfaces Manual. Disponvel em: http://www.xen.org/files/xen_interface.pdf .
Acesso em: 12 set.2008.
XEN Manual do usurio. Disponvel em: http://bits.xensource.com/Xen/docs/user.pdf
. Acesso em: 12 set.2008.

66

ANEXO A: ARQUIVO DE CONFIGURAO PARA INSTALAO COM XEN

Tal arquivo de configurao foi usado para instalao CentOS 5.2 no Xen.
Primeiramente foram criado os HDs virtuais, com o comando:

# dd if=/dev/zero
# dd if=/dev/zero
count=512

of=/var/xen/Domain1.img bsize=1GB count=8


of=/var/xen/Domain1swap.img bsize=1024

Depois, foi elaborado um arquivo de configurao para efetuar a


instalao do CentOS como DomainU paravirtualizado do Xen.

kernel = "/mnt/cdrom/xen/vmlinuz"
ramdisk = "/mnt/cdrom/xen/initrd.img"
memory = "1024"
name = "Domain1"
disk = ['file:/var/xen/Domain1.img,xvda,w',
'file:/var/xen/Domain1swap.img,xvdb,w']
root = '/dev/xvda1 ro'
vif = [ 'bridge=xenbr0' ]
vcpus = 2
vfb = [ 'type=vnc, vncunused=1' ]
extra = 'video=xenfb'

Ento, esse arquivo foi salvo com o nome de Domain1-inst.conf. Aps


isso, ele foi inicializado com o comando:

# xm create c Domain1-inst.conf

67

ANEXO B: ARQUIVO DE CONFIGURAO APS A INSTALAO COM XEN

Aps instalao do sistema operacional, foi criado um novo arquivo de


configurao para o host para que este fosse inicializado.

memory = "1024"
bootloader = "/usr/bin/pygrub"
name = "Domain1"
disk = ['file:/var/xen/Domain1.img,xvda,w',
'file:/var/xen/Domain1swap.img,xvdb,w']
root = '/dev/xvda1 ro'
vif = [ 'bridge=xenbr0' ]
vcpus = 1
vfb = [ 'type=vnc, vncunused=1' ]
extra = 'video=xenfb'

Ento, esse arquivo foi salvo com o nome de Domain1-post-inst.conf.


Aps isso, ele foi startado com o comando:

# xm create c Domain1-post-inst.conf

68

ANEXO C: CRIAO DE MQUINA VIRTUAL COM KVM

Procedimento adotado para instalao do CentOS na mquina virtual do


Linux KVM. Primeiramente foi ativado o mdulo responsvel pela virtualizao:

# modprobe kvm
# modprobe kvm_intel

Aps isso, foram criados os HDs virtuais, com os comandos:

# dd if=/dev/zero
# dd if=/dev/zero

of=/var/kvm/hd01.img bsize=1GB count=8


of=/var/kvm/swap.img bsize=1024 count=512

Por ltimo, foi executado o software com a linha:

# QEmu-kvm -usb -hda /var/kvm/hd01.img


/var/kvm/swap.img

-hdb

-boot c -net nic \

-net tap,script=/etc/QEmu-kvm-ifup -m 1024 -smp 1

69

ANEXO D: REDE BRIDGE DO QEMU-KVM

Criado o script /etc/QEmu-kvm-ifup com a seguinte configurao:

#!/bin/sh
set -x
switch=virbr0
if [ -n "$1" ];then
/usr/sbin/tunctl -u `whoami` -t $1
/sbin/ip link set $1 up
sleep 0.5s
/usr/sbin/brctl addif $switch $1
exit 0
else
echo "Error: no interface specified"
exit 1
fi

Essa configurao bastou para que a mquina virtual KVM adquirisse um


IP e comunicao com a rede externa, a mesma da mquina fsica.

70

ANEXO E: SADA DE EXECUO DO LBENCH NO KVM

L M B E N C H 3 . 0
S U M M A R Y
-----------------------------------(Alpha software, do not distribute)
Basic system parameters
-----------------------------------------------------------------------------Host
OS Description
Mhz tlb cache mem
scal
pages line
par
load
bytes
--------- ------------- ----------------------- ---- ----- ----- ------ ---KVM.timm. Linux 2.6.18x86_64-linux-gnu 2136
8
128 1.3000
1
Processor, Processes - times in microseconds - smaller is better
-----------------------------------------------------------------------------Host
OS Mhz null null
open slct sig sig fork exec sh
call I/O stat clos TCP inst hndl proc proc proc
--------- ------------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---KVM.timm. Linux 2.6.18- 2136 0.38 0.44 1.41 2.36 4.15 0.51 9.58 1066 2960 7714
Basic integer operations - times in nanoseconds - smaller is better
------------------------------------------------------------------Host
OS intgr intgr intgr intgr intgr
bit
add
mul
div
mod
--------- ------------- ------ ------ ------ ------ -----KVM.timm. Linux 2.6.18- 0.5000 0.0100 0.2300
16.5
10.3
Basic uint64 operations - times in nanoseconds - smaller is better
-----------------------------------------------------------------Host
OS int64 int64 int64 int64 int64
bit
add
mul
div
mod
--------- ------------- ------ ------ ------ ------ -----KVM.timm. Linux 2.6.18Basic float operations - times in nanoseconds - smaller is better
----------------------------------------------------------------Host
OS float float float float
add
mul
div
bogo
--------- ------------- ------ ------ ------ -----KVM.timm. Linux 2.6.18- 1.4800 2.0000
10.2 8.4800
Basic double operations - times in nanoseconds - smaller is better
-----------------------------------------------------------------Host
OS double double double double
add
mul
div
bogo
--------- ------------- ------ ------ ------ -----KVM.timm. Linux 2.6.18- 1.4700 2.4900
17.0
15.5
Context switching - times in microseconds - smaller is better
------------------------------------------------------------------------Host
OS 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K
ctxsw ctxsw ctxsw ctxsw ctxsw
ctxsw
ctxsw
--------- ------------- ------ ------ ------ ------ ------ ------- ------KVM.timm. Linux 2.6.18- 4.5600 5.0800 4.6800 5.9200 5.4000 5.71000 6.20000

71

*Local* Communication latencies in microseconds - smaller is better


--------------------------------------------------------------------Host
OS 2p/0K Pipe AF
UDP RPC/
TCP RPC/ TCP
ctxsw
UNIX
UDP
TCP conn
--------- ------------- ----- ----- ---- ----- ----- ----- ----- ---KVM.timm. Linux 2.6.18- 4.560 11.1 19.1 23.1 29.6 28.1 34.2 83.
*Remote* Communication latencies in microseconds - smaller is better
--------------------------------------------------------------------Host
OS
UDP RPC/ TCP
RPC/ TCP
UDP
TCP conn
--------- ------------- ----- ----- ----- ----- ---KVM.timm. Linux 2.6.18File & VM system latencies in microseconds - smaller is better
------------------------------------------------------------------------------Host
OS
0K File
10K File
Mmap
Prot
Page
100fd
Create Delete Create Delete Latency Fault Fault selct
--------- ------------- ------ ------ ------ ------ ------- ----- ------- ----KVM.timm. Linux 2.6.1810.8 5.7202
30.0
13.4
27.5K 3.798
12.1 2.258
*Local* Communication bandwidths in MB/s - bigger is better
----------------------------------------------------------------------------Host
OS Pipe AF
TCP File
Mmap Bcopy Bcopy Mem
Mem
UNIX
reread reread (libc) (hand) read write
--------- ------------- ---- ---- ---- ------ ------ ------ ------ ---- ----KVM.timm. Linux 2.6.18- 1789 911. 1210 2102.2 3353.8 718.3 723.1 2604 842.5
Memory latencies in nanoseconds - smaller is better
(WARNING - may not be correct, check graphs)
-----------------------------------------------------------------------------Host
OS
Mhz
L1 $
L2 $
Main mem
Rand mem
Guesses
--------- ----------------------------------------KVM.timm. Linux 2.6.18- 2136 1.4740 6.8950
87.2
164.7
x86_64-linux-gnu: lat_mem_rand = 164.651

72

ANEXO F: SADA DE EXECUO DO LBENCH NO XEN

L M B E N C H 3 . 0
S U M M A R Y
-----------------------------------(Alpha software, do not distribute)
Basic system parameters
-----------------------------------------------------------------------------Host
OS Description
Mhz tlb cache mem
scal
pages line
par
load
bytes
--------- ------------- ----------------------- ---- ----- ----- ------ ---Dom01.tim Linux 2.6.18x86_64-linux-gnu 2136
7
16 1.1700
1
Processor, Processes - times in microseconds - smaller is better
-----------------------------------------------------------------------------Host
OS Mhz null null
open slct sig sig fork exec sh
call I/O stat clos TCP inst hndl proc proc proc
--------- ------------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---Dom01.tim Linux 2.6.18- 2136 1.35 1.49 3.44 5.79 4.82 1.27 3.15 755. 2624 5888
Basic integer operations - times in nanoseconds - smaller is better
------------------------------------------------------------------Host
OS intgr intgr intgr intgr intgr
bit
add
mul
div
mod
--------- ------------- ------ ------ ------ ------ -----Dom01.tim Linux 2.6.18- 0.8300 0.0200 0.2700
18.7 9.4300
Basic uint64 operations - times in nanoseconds - smaller is better
-----------------------------------------------------------------Host
OS int64 int64 int64 int64 int64
bit
add
mul
div
mod
--------- ------------- ------ ------ ------ ------ -----Dom01.tim Linux 2.6.18Basic float operations - times in nanoseconds - smaller is better
----------------------------------------------------------------Host
OS float float float float
add
mul
div
bogo
--------- ------------- ------ ------ ------ -----Dom01.tim Linux 2.6.18- 1.7100 2.1400
10.3 8.7500
Basic double operations - times in nanoseconds - smaller is better
-----------------------------------------------------------------Host
OS double double double double
add
mul
div
bogo
--------- ------------- ------ ------ ------ -----Dom01.tim Linux 2.6.18- 1.4600 2.4300
16.6
15.6
Context switching - times in microseconds - smaller is better
------------------------------------------------------------------------Host
OS 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K
ctxsw ctxsw ctxsw ctxsw ctxsw
ctxsw
ctxsw
--------- ------------- ------ ------ ------ ------ ------ ------- ------Dom01.tim Linux 2.6.18- 1.5500 3.4200 7.2900 6.9500 8.0500 6.83000 3.46000
*Local* Communication latencies in microseconds - smaller is better
---------------------------------------------------------------------

73

Host

OS 2p/0K Pipe AF
UDP RPC/
TCP RPC/ TCP
ctxsw
UNIX
UDP
TCP conn
--------- ------------- ----- ----- ---- ----- ----- ----- ----- ---Dom01.tim Linux 2.6.18- 1.550 15.6 37.2 21.6 29.8 25.2 35.9 82.
*Remote* Communication latencies in microseconds - smaller is better
--------------------------------------------------------------------Host
OS
UDP RPC/ TCP
RPC/ TCP
UDP
TCP conn
--------- ------------- ----- ----- ----- ----- ---Dom01.tim Linux 2.6.18File & VM system latencies in microseconds - smaller is better
------------------------------------------------------------------------------Host
OS
0K File
10K File
Mmap
Prot
Page
100fd
Create Delete Create Delete Latency Fault Fault selct
--------- ------------- ------ ------ ------ ------ ------- ----- ------- ----Dom01.tim Linux 2.6.1815.0
12.0
61.8
27.9
13.3K 1.516 4.18400 4.054
*Local* Communication bandwidths in MB/s - bigger is better
----------------------------------------------------------------------------Host
OS Pipe AF
TCP File
Mmap Bcopy Bcopy Mem
Mem
UNIX
reread reread (libc) (hand) read write
--------- ------------- ---- ---- ---- ------ ------ ------ ------ ---- ----Dom01.tim Linux 2.6.18- 1789 919. 1421 1980.2 3440.3 693.4 699.1 3183 859.5
Memory latencies in nanoseconds - smaller is better
(WARNING - may not be correct, check graphs)
-----------------------------------------------------------------------------Host
OS
Mhz
L1 $
L2 $
Main mem
Rand mem
Guesses
--------- ----------------------------------------Dom01.tim Linux 2.6.18- 2136 1.4120 6.7260
78.7
145.6

74

ANEXO G: SADA DE EXECUO DO LBENCH NO VMWARE SERVER

L M B E N C H 3 . 0
S U M M A R Y
-----------------------------------(Alpha software, do not distribute)
Basic system parameters
-----------------------------------------------------------------------------Host
OS Description
Mhz tlb cache mem
scal
pages line
par
load
bytes
--------- ------------- ----------------------- ---- ----- ----- ------ ---VMWARE.ti Linux 2.6.18x86_64-linux-gnu 2136
8
128 1.8800
1
Processor, Processes - times in microseconds - smaller is better
-----------------------------------------------------------------------------Host
OS Mhz null null
open slct sig sig fork exec sh
call I/O stat clos TCP inst hndl proc proc proc
--------- ------------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---VMWARE.ti Linux 2.6.18- 2136 0.41 0.57 2.54 3.80 4.74 0.63 2.07 1023 2337 5695
Basic integer operations - times in nanoseconds - smaller is better
------------------------------------------------------------------Host
OS intgr intgr intgr intgr intgr
bit
add
mul
div
mod
--------- ------------- ------ ------ ------ ------ -----VMWARE.ti Linux 2.6.18- 0.5500 0.0100 0.2500
19.9
11.1
Basic uint64 operations - times in nanoseconds - smaller is better
-----------------------------------------------------------------Host
OS int64 int64 int64 int64 int64
bit
add
mul
div
mod
--------- ------------- ------ ------ ------ ------ -----VMWARE.ti Linux 2.6.18Basic float operations - times in nanoseconds - smaller is better
----------------------------------------------------------------Host
OS float float float float
add
mul
div
bogo
--------- ------------- ------ ------ ------ -----VMWARE.ti Linux 2.6.18- 1.5800 2.1400
10.9 9.2000
Basic double operations - times in nanoseconds - smaller is better
-----------------------------------------------------------------Host
OS double double double double
add
mul
div
bogo
--------- ------------- ------ ------ ------ -----VMWARE.ti Linux 2.6.18- 1.6400 2.7100
17.9
16.7
Context switching - times in microseconds - smaller is better
------------------------------------------------------------------------Host
OS 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K
ctxsw ctxsw ctxsw ctxsw ctxsw
ctxsw
ctxsw
--------- ------------- ------ ------ ------ ------ ------ ------- ------VMWARE.ti Linux 2.6.18- 4.4300 5.8100 4.8400 5.7900 5.4300 5.63000 5.57000
*Local* Communication latencies in microseconds - smaller is better
---------------------------------------------------------------------

75

Host

OS 2p/0K Pipe AF
UDP RPC/
TCP RPC/ TCP
ctxsw
UNIX
UDP
TCP conn
--------- ------------- ----- ----- ---- ----- ----- ----- ----- ---VMWARE.ti Linux 2.6.18- 4.430 11.9 22.5 26.3 33.5 32.2 40.9
*Remote* Communication latencies in microseconds - smaller is better
--------------------------------------------------------------------Host
OS
UDP RPC/ TCP
RPC/ TCP
UDP
TCP conn
--------- ------------- ----- ----- ----- ----- ---VMWARE.ti Linux 2.6.18File & VM system latencies in microseconds - smaller is better
------------------------------------------------------------------------------Host
OS
0K File
10K File
Mmap
Prot
Page
100fd
Create Delete Create Delete Latency Fault Fault selct
--------- ------------- ------ ------ ------ ------ ------- ----- ------- ----VMWARE.ti Linux 2.6.1829.6
10.8
96.2 370.1
27.4K 0.650 9.38380 2.439
*Local* Communication bandwidths in MB/s - bigger is better
----------------------------------------------------------------------------Host
OS Pipe AF
TCP File
Mmap Bcopy Bcopy Mem
Mem
UNIX
reread reread (libc) (hand) read write
--------- ------------- ---- ---- ---- ------ ------ ------ ------ ---- ----VMWARE.ti Linux 2.6.18- 1663 810. 1071 1968.2 3105.7 718.2 715.0 2909 899.1
Memory latencies in nanoseconds - smaller is better
(WARNING - may not be correct, check graphs)
-----------------------------------------------------------------------------Host
OS
Mhz
L1 $
L2 $
Main mem
Rand mem
Guesses
--------- ----------------------------------------VMWARE.ti Linux 2.6.18- 2136 1.5300 7.0730
87.9
188.8

76

ANEXO H: SADA DE EXECUO DA CODIFICAO DE VIDEO NO KVM

[root@KVM ~]# date ; transcode -y xvid -j


64,0 -Z 800x368
-i
/Compartilhada/michael\
w\
smith\
and\
hillsong\
2007.avi
-o
/Compartilhada/final.avi ; date
Seg Nov 17 01:55:14 BRST 2008
transcode v1.0.5 (C) 2001-2003 Thomas Oestreich, 2003-2004 T. Bitterberg, 20042008 Transcode Team
[transcode] (probe) suggested AV correction -D 0 (0 ms) | AV 0 ms | 0 ms
[transcode] auto-probing source /Compartilhada/michael w smith and hillsong
2007.avi (ok)
[transcode] V: import format
| DivX RIFF data, AVI (V=ffmpeg|A=mp3)
[transcode] V: import frame
| 480x320 1.50:1
[transcode] V: clip frame (<-) | 480x192
[transcode] V: zoom
| 800x368 1.30:1 (Lanczos3)
[transcode] V: bits/pixel
| 0.245
[transcode] V: decoding fps,frc | 25.000,3
[transcode] V: Y'CbCr
| YV12/I420
[transcode] A: import format
| 0x55
MPEG layer-3 [22050,16,2]
96 kbps
[transcode] A: export format
| 0x55
MPEG layer-3 [22050,16,2] 128 kbps
[transcode] V: encoding fps,frc | 25.000,3
[transcode] A: bytes per frame | 3528 (3528.000000)
[transcode] A: adjustment
| 0@1000
[transcode] V: IA32/AMD64 accel | sse2 (sse2 sse mmxext mmx asm C)
[transcode] V: IA32/AMD64 accel | using sse2 memcpy
[transcode] V: video buffer
| 10 @ 800x368
[import_mp3.so] v0.1.4 (2003-08-04) (audio) MPEG
[import_ffmpeg.so]
v0.1.13
(2007-10-09)
(video)
ffmpeg:
MS
MPEG4v13/MPEG4/MJPEG
[export_xvid4.so] v0.0.6 (2007-08-11) (video) XviD 1.0.x series (aka API 4.0) |
(audio) MPEG/AC3/PCM
[import_mp3.so] MP3->PCM
[import_mp3.so] tcextract -a 0 -i "/Compartilhada/michael w smith and hillsong
2007.avi" -x mp3 -d 0 | tcdecode -x mp3 -d 0 -z 12000
[export_xvid4.so] Neither './xvid4.cfg' nor '~/.transcode/xvid4.cfg'
[export_xvid4.so] found. Default settings will be used instead.
Audio: using new version
Audio: using lame-3.98.2
[encoder.c] Delaying audio (0)
[mpeg4 @ 0x2aaaace36410]overreading 9 bitss, EMT: 0:00:30, ( 0| 0| 9)
[mpeg4 @ 0x2aaaace36410]concealing 600 DC, 600 AC, 600 MV errors
encoding frames [000000-082479], 21.85 fps, EMT: 0:54:59, ( 0| 0| 4)
clean up | frame threads | unload modules | cancel signal | internal threads |
done
[transcode] encoded 82480 frames (0 dropped, 0 cloned), clip length 3299.20 s
Seg Nov 17 02:58:09 BRST 2008
You have new mail in /var/spool/mail/root
[root@KVM ~]#

77

ANEXO I: SADA DE EXECUO DA CODIFICAO DE VIDEO NO XEN

[root@Dom01 Compartilhada]# date ; transcode -y xvid -j 64,0 -Z 800x368 -i


/Compartilhada/michael\
w\
smith\
and\
hillsong\
2007.avi
-o
/Compartilhada/final.avi ; date
Dom Nov 16 23:47:40 BRST 2008
transcode v1.0.5 (C) 2001-2003 Thomas Oestreich, 2003-2004 T. Bitterberg, 20042008 Transcode Team
[transcode] (probe) suggested AV correction -D 0 (0 ms) | AV 0 ms | 0 ms
[transcode] auto-probing source /Compartilhada/michael w smith and hillsong
2007.avi (ok)
[transcode] V: import format
| DivX RIFF data, AVI (V=ffmpeg|A=mp3)
[transcode] V: import frame
| 480x320 1.50:1
[transcode] V: clip frame (<-) | 480x192
[transcode] V: zoom
| 800x368 1.30:1 (Lanczos3)
[transcode] V: bits/pixel
| 0.245
[transcode] V: decoding fps,frc | 25.000,3
[transcode] V: Y'CbCr
| YV12/I420
[transcode] A: import format
| 0x55
MPEG layer-3 [22050,16,2]
96 kbps
[transcode] A: export format
| 0x55
MPEG layer-3 [22050,16,2] 128 kbps
[transcode] V: encoding fps,frc | 25.000,3
[transcode] A: bytes per frame | 3528 (3528.000000)
[transcode] A: adjustment
| 0@1000
[transcode] V: IA32/AMD64 accel | sse2 (sse2 sse mmxext mmx asm C)
[transcode] V: IA32/AMD64 accel | using sse2 memcpy
[transcode] V: video buffer
| 10 @ 800x368
[import_mp3.so] v0.1.4 (2003-08-04) (audio) MPEG
[import_ffmpeg.so]
v0.1.13
(2007-10-09)
(video)
ffmpeg:
MS
MPEG4v13/MPEG4/MJPEG
[export_xvid4.so] v0.0.6 (2007-08-11) (video) XviD 1.0.x series (aka API 4.0) |
(audio) MPEG/AC3/PCM
[import_mp3.so] MP3->PCM
[import_mp3.so] tcextract -a 0 -i "/Compartilhada/michael w smith and hillsong
2007.avi" -x mp3 -d 0 | tcdecode -x mp3 -d 0 -z 12000
[export_xvid4.so] Neither './xvid4.cfg' nor '~/.transcode/xvid4.cfg'
[export_xvid4.so] found. Default settings will be used instead.
Audio: using new version
Audio: using lame-3.98.2
[encoder.c] Delaying audio (0)
[mpeg4 @ 0x37f3fcd410]overreading 9 bitsfps, EMT: 0:00:30, ( 0| 0| 9)
[mpeg4 @ 0x37f3fcd410]concealing 600 DC, 600 AC, 600 MV errors
encoding frames [000000-082479], 23.61 fps, EMT: 0:54:59, ( 0| 0| 4)
clean up | frame threads | unload modules | cancel signal | internal threads |
done
[transcode] encoded 82480 frames (0 dropped, 0 cloned), clip length 3299.20 s
Seg Nov 17 00:45:54 BRST 2008
[root@Dom01 Compartilhada]#

78

ANEXO J: SADA DE EXECUO DA CODIFICAO DE VIDEO NO VMWARE

[root@VMWARE timm]#
date ; transcode -y xvid -j
64,0 -Z 800x368
-i
/home/timm/michael\ w\ smith\ and\ hillsong\ 2007.avi -o /home/timm/final.avi
; date
Dom Nov 16 12:27:09 BRST 2008
transcode v1.0.5 (C) 2001-2003 Thomas Oestreich, 2003-2004 T. Bitterberg, 20042008 Transcode Team
[transcode] (probe) suggested AV correction -D 0 (0 ms) | AV 0 ms | 0 ms
[transcode] auto-probing source /home/timm/michael w smith and hillsong
2007.avi (ok)
[transcode] V: import format
| DivX RIFF data, AVI (V=ffmpeg|A=mp3)
[transcode] V: import frame
| 480x320 1.50:1
[transcode] V: clip frame (<-) | 480x192
[transcode] V: zoom
| 800x368 1.30:1 (Lanczos3)
[transcode] V: bits/pixel
| 0.245
[transcode] V: decoding fps,frc | 25.000,3
[transcode] V: Y'CbCr
| YV12/I420
[transcode] A: import format
| 0x55
MPEG layer-3 [22050,16,2]
96 kbps
[transcode] A: export format
| 0x55
MPEG layer-3 [22050,16,2] 128 kbps
[transcode] V: encoding fps,frc | 25.000,3
[transcode] A: bytes per frame | 3528 (3528.000000)
[transcode] A: adjustment
| 0@1000
[transcode] V: IA32/AMD64 accel | sse2 (sse2 sse mmxext mmx asm C)
[transcode] V: IA32/AMD64 accel | using sse2 memcpy
[transcode] V: video buffer
| 10 @ 800x368
[import_mp3.so] v0.1.4 (2003-08-04) (audio) MPEG
[import_ffmpeg.so]
v0.1.13
(2007-10-09)
(video)
ffmpeg:
MS
MPEG4v13/MPEG4/MJPEG
[export_xvid4.so] v0.0.6 (2007-08-11) (video) XviD 1.0.x series (aka API 4.0) |
(audio) MPEG/AC3/PCM
[import_mp3.so] MP3->PCM
[import_mp3.so] tcextract -a 0 -i "/home/timm/michael w smith and hillsong
2007.avi" -x mp3 -d 0 | tcdecode -x mp3 -d 0 -z 12000
[export_xvid4.so] Neither './xvid4.cfg' nor '~/.transcode/xvid4.cfg'
[export_xvid4.so] found. Default settings will be used instead.
Audio: using new version
Audio: using lame-3.98.2
[encoder.c] Delaying audio (0)
[mpeg4 @ 0x36979cd410]overreading 9 bitsfps, EMT: 0:00:30, ( 0| 0| 9)
[mpeg4 @ 0x36979cd410]concealing 600 DC, 600 AC, 600 MV errors
encoding frames [000000-082479], 21.42 fps, EMT: 0:54:59, ( 0| 0| 4)
clean up | frame threads | unload modules | cancel signal | internal threads |
done
[transcode] encoded 82480 frames (0 dropped, 0 cloned), clip length 3299.20 s
Dom Nov 16 13:31:20 BRST 2008
[root@VMWARE timm]#

79

ANEXO K: SADA DE EXECUO DO AB NO KVM

[root@lima ~]# ab -n 200000 -c 100 http://192.168.1.3/


This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.1.3 (be patient)
Completed 20000 requests
Completed 40000 requests
Completed 60000 requests
Completed 80000 requests
Completed 100000 requests
Completed 120000 requests
Completed 140000 requests
Completed 160000 requests
Completed 180000 requests
Finished 200000 requests

Server Software:
Server Hostname:
Server Port:

Apache/2.2.3
192.168.1.3
80

Document Path:
Document Length:

/
5043 bytes

Concurrency Level:
Time taken for tests:
Complete requests:
Failed requests:
Write errors:
Non-2xx responses:
Total transferred:
HTML transferred:
Requests per second:
Time per request:
Time per request:
Transfer rate:

100
253.772404 seconds
200000
0
0
200001
1048005240 bytes
1008605043 bytes
788.11 [#/sec] (mean)
126.886 [ms] (mean)
1.269 [ms] (mean, across all concurrent requests)
4032.91 [Kbytes/sec] received

Connection Times (ms)


min mean[+/-sd] median
max
Connect:
0
0 35.5
0
3001
Processing:
15 125 138.6
123
20016
Waiting:
14 124 110.3
122
20014
Total:
18 126 143.0
123
20016
Percentage of the requests served within a certain time (ms)
50%
123
66%
124
75%
125
80%
126
90%
131
95%
135
98%
160
99%
167
100% 20016 (longest request)
[root@lima ~]# ab -n 200000 -c 200 http://192.168.1.3/

80

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0


Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.1.3 (be patient)
Completed 20000 requests
Completed 40000 requests
Completed 60000 requests
Completed 80000 requests
Completed 100000 requests
Completed 120000 requests
Completed 140000 requests
Completed 160000 requests
Completed 180000 requests
Finished 200000 requests

Server Software:
Server Hostname:
Server Port:

Apache/2.2.3
192.168.1.3
80

Document Path:
Document Length:

/
5043 bytes

Concurrency Level:
Time taken for tests:
Complete requests:
Failed requests:
Write errors:
Non-2xx responses:
Total transferred:
HTML transferred:
Requests per second:
Time per request:
Time per request:
Transfer rate:

200
255.577280 seconds
200000
0
0
200000
1048000000 bytes
1008600000 bytes
782.54 [#/sec] (mean)
255.577 [ms] (mean)
1.278 [ms] (mean, across all concurrent requests)
4004.41 [Kbytes/sec] received

Connection Times (ms)


min mean[+/-sd] median
max
Connect:
0
78 1085.1
0
93000
Processing:
1 175 366.8
161
63855
Waiting:
1 173 337.3
160
63854
Total:
22 253 1173.1
161 105917
Percentage of the requests served within a certain time (ms)
50%
161
66%
163
75%
168
80%
171
90%
176
95%
200
98%
406
99%
3162
100% 105917 (longest request)
[root@lima ~]#

81

ANEXO L: SADA DE EXECUO DO AB NO XEN

[root@lima ~]# ab -n 200000 -c 100 http://192.168.1.9/


This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.1.9 (be patient)
Completed 20000 requests
Completed 40000 requests
Completed 60000 requests
Completed 80000 requests
Completed 100000 requests
Completed 120000 requests
Completed 140000 requests
Completed 160000 requests
Completed 180000 requests
Finished 200000 requests

Server Software:
Server Hostname:
Server Port:

Apache/2.2.3
192.168.1.9
80

Document Path:
Document Length:

/
5043 bytes

Concurrency Level:
Time taken for tests:
Complete requests:
Failed requests:
Write errors:
Non-2xx responses:
Total transferred:
HTML transferred:
Requests per second:
Time per request:
Time per request:
Transfer rate:

100
140.361135 seconds
200000
0
0
200000
1048000000 bytes
1008600000 bytes
1424.90 [#/sec] (mean)
70.181 [ms] (mean)
0.702 [ms] (mean, across all concurrent requests)
7291.46 [Kbytes/sec] received

Connection Times (ms)


min mean[+/-sd] median
Connect:
0
40 303.1
13
Processing:
1
29 31.1
23
Waiting:
0
28 31.0
23
Total:
2
69 304.9
39

max
9017
697
696
9042

Percentage of the requests served within a certain time (ms)


50%
39
66%
45
75%
48
80%
51
90%
59
95%
69
98%
244
99%
290
100%
9042 (longest request)
[root@lima ~]# ab -n 200000 -c 200 http://192.168.1.9/

82

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0


Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.1.9 (be patient)
Completed 20000 requests
Completed 40000 requests
Completed 60000 requests
Completed 80000 requests
Completed 100000 requests
Completed 120000 requests
Completed 140000 requests
Completed 160000 requests
Completed 180000 requests
Finished 200000 requests

Server Software:
Server Hostname:
Server Port:

Apache/2.2.3
192.168.1.9
80

Document Path:
Document Length:

/
5043 bytes

Concurrency Level:
Time taken for tests:
Complete requests:
Failed requests:
Write errors:
Non-2xx responses:
Total transferred:
HTML transferred:
Requests per second:
Time per request:
Time per request:
Transfer rate:

200
132.882846 seconds
200000
0
0
200000
1048000000 bytes
1008600000 bytes
1505.09 [#/sec] (mean)
132.883 [ms] (mean)
0.664 [ms] (mean, across all concurrent requests)
7701.80 [Kbytes/sec] received

Connection Times (ms)


min mean[+/-sd] median
max
Connect:
0
74 396.6
34
21007
Processing:
1
56 61.5
46
3325
Waiting:
0
55 61.3
45
3324
Total:
5 131 400.8
84
21054
Percentage of the requests served within a certain time (ms)
50%
84
66%
91
75%
95
80%
98
90%
110
95%
129
98%
330
99%
3069
100% 21054 (longest request)
[root@lima ~]#

83

ANEXO M: SADA DE EXECUO DO AB NO VMWARE SERVER

[root@lima ~]# ab -n 200000 -c 100 http://192.168.1.7/


This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.1.7 (be patient)
Completed 20000 requests
Completed 40000 requests
Completed 60000 requests
Completed 80000 requests
Completed 100000 requests
Completed 120000 requests
Completed 140000 requests
Completed 160000 requests
Completed 180000 requests
Finished 200000 requests

Server Software:
Server Hostname:
Server Port:

Apache/2.2.3
192.168.1.7
80

Document Path:
Document Length:

/
5043 bytes

Concurrency Level:
Time taken for tests:
Complete requests:
Failed requests:
Write errors:
Non-2xx responses:
Total transferred:
HTML transferred:
Requests per second:
Time per request:
Time per request:
Transfer rate:

100
181.613557 seconds
200000
0
0
200000
1048000000 bytes
1008600000 bytes
1101.24 [#/sec] (mean)
90.807 [ms] (mean)
0.908 [ms] (mean, across all concurrent requests)
5635.25 [Kbytes/sec] received

Connection Times (ms)


min mean[+/-sd] median
max
Connect:
0
0 32.2
0
3001
Processing:
47
89 173.9
87
31726
Waiting:
47
88 162.3
86
31723
Total:
50
90 176.8
87
31726
Percentage of the requests served within a certain time (ms)
50%
87
66%
89
75%
91
80%
93
90%
100
95%
112
98%
129
99%
141
100% 31726 (longest request)
[root@lima ~]#

84

[root@lima ~]# ab -n 200000 -c 200 http://192.168.1.7/


This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.1.7 (be patient)
Completed 20000 requests
Completed 40000 requests
Completed 60000 requests
Completed 80000 requests
Completed 100000 requests
Completed 120000 requests
Completed 140000 requests
Completed 160000 requests
Completed 180000 requests
Finished 200000 requests

Server Software:
Server Hostname:
Server Port:

Apache/2.2.3
192.168.1.7
80

Document Path:
Document Length:

/
5043 bytes

Concurrency Level:
Time taken for tests:
Complete requests:
Failed requests:
Write errors:
Non-2xx responses:
Total transferred:
HTML transferred:
Requests per second:
Time per request:
Time per request:
Transfer rate:

200
181.529958 seconds
200000
0
0
200000
1048000000 bytes
1008600000 bytes
1101.75 [#/sec] (mean)
181.530 [ms] (mean)
0.908 [ms] (mean, across all concurrent requests)
5637.84 [Kbytes/sec] received

Connection Times (ms)


min mean[+/-sd] median
max
Connect:
0
54 593.1
0
45001
Processing:
1 125 258.8
117
37988
Waiting:
0 124 237.1
116
33269
Total:
35 179 648.9
117
45176
Percentage of the requests served within a certain time (ms)
50%
117
66%
120
75%
123
80%
125
90%
136
95%
158
98%
321
99%
3115
100% 45176 (longest request)
[root@lima ~]#

85

ANEXO N: SADA DE EXECUO DAS CPIAS DE ARQUIVO POR NFS

Sada texto do procedimento de transferncia de arquivos a partir de um


host Linux na rede via NFS no VMware.

[root@lima
[root@lima
Qui Nov 20
Qui Nov 20
[root@lima

home]# mount -t nfs 192.168.1.7:/Compartilhada /mnt/nfs


home]# date ; cp /home/centos.iso /mnt/nfs/ ; date
01:14:50 BRST 2008
01:21:47 BRST 2008
home]#

Sada texto do procedimento de transferncia de arquivos a partir de um


host Linux na rede via NFS no Xen.

[root@lima
[root@lima
Qua Nov 19
Qua Nov 19
[root@lima

home]# mount -t nfs 192.168.1.9:/Compartilhada /mnt/nfs


home]# date ; cp /home/centos.iso /mnt/nfs/ ; date
00:40:23 BRST 2008
00:49:37 BRST 2008
home]#

Sada texto do procedimento de transferncia de arquivos a partir de um


host Linux na rede via NFS no KVM.

[root@lima
[root@lima
Sex Nov 21
Sex Nov 21
[root@lima

home]# mount -t nfs 192.168.1.3:/Compartilhada /mnt/nfs


home]# date; cp /home/centos.iso /mnt/nfs/ ; date
21:29:03 BRST 2008
21:38:33 BRST 2008
home]#

Você também pode gostar