típica <strong>de</strong> gra<strong>de</strong>s computacionais (seção 5.1). Em um segundomomento, avaliou-se o impacto da virtualização sobreum benchmark paralelo tipicamente utilizado em clusters(seção 5.2). Por fim, avaliou-se o impacto do mecanismo<strong>de</strong> migração <strong>de</strong> máquinas virtuais sobre a execuçãodo benchmark paralelo e da aplicação <strong>de</strong> computação distribuída(seção 5.3).Para realização <strong>de</strong>stes testes, configurou-se um ambiente<strong>de</strong> experimentação composto por cinco computadoresCompaq Pentium 4, com memória <strong>de</strong> 512MB e cache<strong>de</strong> 512KB, utilizando o sistema operacional Ubuntu Linuxversão 5.10. Para interligar estes computadores, utilizouseuma re<strong>de</strong> FastEthernet a 100Mbps. Dentre estes computadores,quatro foram usados para hospedar as máquinasvirtuais e um <strong>de</strong>les foi configurado como servidor <strong>de</strong> arquivosNFS. Em todos os experimentos com virtualização,utilizou-se a versão 3.0.2-2 <strong>de</strong> Xen.Figura 1. Sobrecarga na aplicação <strong>de</strong> MeteoP2P5.1. Impacto sobre uma aplicação <strong>de</strong> computaçãodistribuídaNeste experimento utilizou-se uma aplicação que realizaa análise <strong>de</strong> gran<strong>de</strong>s conjuntos <strong>de</strong> dados coletados por sensoresmeteorológicos [11]. Esta aplicação utiliza uma abordagempeer-to-peer (P2P) [10] para computação paralela edistribuída, e foi implementada sobre a infra-estrutura P2Poferecida pela plataforma JXTA [1]. Nesta aplicação, cadapeer é capaz <strong>de</strong> processar tarefas enviadas por processosclientes. Uma tarefa consiste basicamente na análise <strong>de</strong> umconjunto <strong>de</strong> dados representando um dia <strong>de</strong> coleta.Para realizar esta avaliação foram utilizados três computadoresdo ambiente <strong>de</strong> experimentação: um responsávelpelo processamento (peer), outro para envio e solicitação<strong>de</strong> tarefas (cliente) e outro atuando como servidor NFS paraas máquinas virtuais. Somente uma tarefa foi lançada paraexecução, o que justifica o uso <strong>de</strong> apenas um peer. Estatarefa não exige comunicação durante seu processamento,mas requer muitos acessos a dados armazenados em disco.O gráfico 1 apresenta os tempos <strong>de</strong> execução daaplicação com e sem o uso <strong>de</strong> virtualização, respectivamentei<strong>de</strong>ntificados como MeteoP2P-Xen e MeteoP2P.Analisando-se os resultados obtidos, observa-se um aumento<strong>de</strong> aproximadamente 16% no tempo total <strong>de</strong>execução da aplicação quando esta é executada sobre o monitorXen.O aumento no tempo <strong>de</strong> execução quantifica a sobrecargaimposta pela virtualização, neste caso <strong>de</strong>vida principalmenteao alto número <strong>de</strong> operações que exigem acesso adados armazenados em disco.5.2. Impacto sobre um benchmark paraleloNeste experimento utilizou-se o benchmark HPL (HighPerformance Linpack) [12], que calcula a solução <strong>de</strong> umsistema <strong>de</strong>nso <strong>de</strong> equações lineares em arquiteturas commemória distribuída, utilizando MPI (Message Passing Interface)para troca <strong>de</strong> mensagens. Este benchmark é empregadocomo critério para a classificação dos supercomputadores<strong>de</strong> maior <strong>de</strong>sempenho na atualida<strong>de</strong> (TOP500) [2].Para execução <strong>de</strong> HPL, utilizou-se a configuração padrãocontida no pacote <strong>de</strong> instalação do benchmark, on<strong>de</strong> o processamentoé distribuído entre quatro processos MPI paralelos.Em uma primeira avaliação, o benchmark HPL foi executadoutilizando-se três computadores do ambiente <strong>de</strong>teste: dois computadores para execução paralela e um computadoratuando como servidor NFS. A arquitetura nativafoi comparada com a arquitetura virtualizada em duassituações: na primeira, utilizou-se duas máquinas virtuaisalocadas a computadores distintos; na segunda, utilizou-sequatro máquinas virtuais, alocando-se duas máquinas virtuaisa cada computador.O gráfico na figura 2 apresenta o resultado da execuçãodo HPL sobre os dois computadores. Neste gráfico,observa-se uma redução do tempo total <strong>de</strong> execução obtidocom a arquitetura virtualizada. Esta redução é <strong>de</strong> aproximadamente10% utilizando-se duas máquinas virtuais, e <strong>de</strong>aproximadamente 49% utilizando-se quatro máquinas virtuais.Esta redução do tempo <strong>de</strong> execução ocorre <strong>de</strong>vido àcomunicação através do compartilhamento <strong>de</strong> páginas <strong>de</strong>memória implementada pelo monitor Xen, que resulta emuma comunicação eficiente, seja entre máquinas virtuais ou
Figura 2. Tempos <strong>de</strong> execução utilizando 2computadores (2 processos MPI em cadamáquina)Figura 3. Tempos <strong>de</strong> execução utilizando4 computadores (1 processo MPI em cadamáquina)entre uma máquina virtual e o monitor. Esta vantagem foiexplorada durante a execução <strong>de</strong> mais <strong>de</strong> um processo MPIsobre o mesmo computador.Em uma segunda avaliação, utilizou-se o ambiente completo<strong>de</strong> experimentação, com cada um dos quatro computadoresexecutando uma máquina virtual. Desta forma,tanto na execução nativa quanto na execução virtualizada,cada computador recebeu uma tarefa resultante do particionamentoefetuado pelo benchmark HPL.Na figura 3 observa-se a sobrecarga imposta pelo monitorXen, resultando em tempo <strong>de</strong> execução aproximadamente46 segundos maior. Neste ambiente <strong>de</strong> teste, a vantagemoferecida pelo compartilhamento <strong>de</strong> páginas implementadopelo monitor não foi explorada, já que cada computadorexecutou apenas um processo MPI.processos. Estes fatores influenciam diretamente no tempo<strong>de</strong> migração <strong>de</strong> uma máquina virtual.5.3. Impacto da migração <strong>de</strong> máquinas virtuaisNesta etapa da avaliação, investigou-se o impacto do mecanismo<strong>de</strong> live migration do monitor Xen na execução dasduas aplicações apresentadas nas seções anteriores.Inicialmente avaliou-se a migração <strong>de</strong> máquinas virtuaisno caso do benchmark HPL com 4 processos MPI,sendo executados sobre dois computadores do ambiente <strong>de</strong>experimentação. Cada computador ficou responsável pelaexecução <strong>de</strong> uma máquina virtual, sendo que forçou-se amigração <strong>de</strong> uma <strong>de</strong>stas máquinas para um terceiro computadordurante a execução do benchmark. É importantemencionar que o benchmark HPL exige um gran<strong>de</strong> número<strong>de</strong> acessos à memória em um reduzido intervalo <strong>de</strong> tempo,além <strong>de</strong> uma quantida<strong>de</strong> consi<strong>de</strong>rável <strong>de</strong> comunicação entreFigura 4. Migração <strong>de</strong> uma máquina virtualexecutando HPLConforme mencionado na seção 3.2, o mecanismo <strong>de</strong>live migration implementado pelo monitor Xen transfereos dados armazenados na memória principal através <strong>de</strong>iterações. A figura 4 ilustra as iterações ocorridas duranteo processo <strong>de</strong> migração da máquina virtual executando obenchmark HPL. Para cada iteração, apresenta-se o volume<strong>de</strong> dados transferidos (em cinza) e alterados (em preto) porunida<strong>de</strong> <strong>de</strong> tempo.Na iteração inicial é transferido um volume gran<strong>de</strong> <strong>de</strong>