Desempenho de Ferramentas de Virtualização na Implementação de Clusters Beowulf Virtualizados em Hospedeiros Windows

Documentos relacionados
Implementação de Clusters Virtuais em Hosts Windows

Desempenho de um Cluster Virtualizado em Relação a um Cluster Convencional Similar

DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES

Aluno de Pós-Graduação em Engenharia de Software para Dispositivos Móveis pela UNINTER

Um Calculador de Capacidade de Computação para Nós de Máquinas Virtuais LAM/MPI

Um Estudo sobre o Desempenho de Virtualização nos Hypervisors VMware e KVM

Comparativo de desempenho de um cluster virtualizado em relação a um cluster convencional sob condições equipotentes

BALANCEAMENTO DE CARGA EM SISTEMAS MULTIPROCESSADORES UTILIZANDO O MODELO DE PROGRAMAÇÃO CHARM++ 1

Análise de Desempenho do Virtualizador KVM com o HPCC em Aplicações de CAD

Avaliação do Uso de Xen em Ambientes de Computação de Alto Desempenho

30/5/2011. Sistemas computacionais para processamento paralelo e distribuído

SIST706 Sistemas Distribuídos

MÁQUINAS VIRTUAIS EM SISTEMAS DISTRIBUÍDOS. Luiz C. Vieira

Sistemas Operacionais de Redes Windows. Ricardo Kléber

UNIVERSIDADE FEDERAL DO PARÁ PRÓ-REITORIA DE PESQUISA E PÓS-GRADUAÇÃO DIRETORIA DE PESQUISA PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO CIENTÍFICA

OpenMP: Variáveis de Ambiente

Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7. Escola de Verão Arquiteturas Multi-Core

Ambientes de computação de alto desempenho no LNCC

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores

Sistema Operacionais II. Aula: Virtualização

Aluno do Curso de Ciência da Computação UNIJUÍ, 3

Trabalho de Conclusão de Curso

Introdução à Programação Paralela através de Padrões. Denise Stringhini Calebe Bianchini Luciano Silva

Análise empírica de algoritmos de ordenação

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 04: PROCESSAMENTO PARALELO: MULTICOMPUTADOR

Paradigmas de Processamento Paralelo na Resolução do Fractal de Mandelbrot

Organização de Computadores I

SISTEMAS OPERACIONAIS

Caracterização de Sistemas Distribuídos

Supercomputador Pleiades

MONTAGEM E MANUTENÇÃO DE COMPUTADORES

MEU SISTEMA ESTÁ LENTO! ENTENDA AS POSSÍVEIS CAUSAS DESTE PROBLEMA

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

Sistemas Operacionais Aula 3

BOINC + R: Executando rotinas de

TOP Arquitetura dos supercomputadores

PROVA 03/07 Segunda-feira (semana que vem)

Arquitetura de Computadores Paralelos. Introdução Conceitos Básicos Ambientes de Programação Modelos de Programação Paralela

Nuvem e Virtualização Redes Programáveis

Análise de Utilização de Recursos Computacionais pelos Controladores SDN

Sistemas Operacionais II

Administração de Serviços de Redes. Introdução a Clusters. Prof. Dayvidson Bezerra Contato:

Sistema de Aquisição de Dados em Tempo Real Utilizando Software Livre e Rede Ethernet para Laboratório de Controle

Servidores. Um Servidor, em redes de computadores, nada mais é que um host da rede capaz de oferecer um determinado serviço a outros hosts da redes.

Sobre a execução de workflows científicos sobre diferentes estrategias de dados de entrada - Uma Avaliação Experimental

Técnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot

COMPUTAÇÃO PARALELA E DISTRIBUÍDA

Universidade Federal de Ouro Preto

A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES

Marcelo Araujo, Agosto de 2015 Automation & Power World Brasil System 800xA Virtualização Proteção e Segurança para seu Investimento

1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador

Universidade Federal do Rio de Janeiro Informática DCC/IM. Arquitetura de Computadores II. Arquiteturas MIMD. Arquiteturas MIMD

SSC510 Arquitetura de Computadores. 10ª aula

Aluno do curso de Ciência da Computação da Unijuí e Bolsista PIBIC/UNIJUÍ, 3. Professor Orientador do Departamento de Ciências Exatas e Engenharias 4

USO DE PARALELISMO DE DADOS PARA MAIOR EFICIÊNCIA DE ALGORITMOS DE PROCESSAMENTO DE IMAGENS

Suporte à Execução Eficiente de Aplicações em Plataformas com Paralelismo Multi-Nível

Bacharelado em Sistemas de Informação Sistemas Operacionais. Prof. Filipo Mór

Introdução a Computação em Nuvem

a) Escopo de Serviço. b) Escopo de Usuários. c) Escopo dos Recursos. d) Escopo das Responsabilidades e Investimentos.

Um Mecanismo de Auto Elasticidade com base no Tempo de Resposta para Ambientes de Computação em Nuvem baseados em Containers

Arquitetura e organização de computadores

Introdução a Computação em Nuvem

Rede de computadores Servidor. Professor Carlos Muniz

Máquinas mais rápidas do mundo

Introdução OpenMP. Nielsen Castelo Damasceno

Um estudo sobre consumo energético na indexação de conteúdo visual com síntese em alto nível usando hardware reconfigurável

Requisitos do Sistema

PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register

Carlos Eduardo Batista Centro de Informática - UFPB

Árvore Binária de Busca Ótima - Uma Implementação Distribuída

Sistemas Operacionais Distribuídos

Predição de Utilização de Recursos Computacionais Usando Séries Temporais

AGT0001 Algoritmos Aula 01 O Computador

Curso: Redes de Computadores

Sistemas Operacionais I

Requisitos do Sistema

UM ESTUDO COMPARATIVO DE DESEMPENHO UTILIZANDO PROGRAMAÇÃO SEQUENCIAL VS PARALELA APLICADO EM ALGORITMOS GENÉTICOS 1

SSC0611 Arquitetura de Computadores

Programação de Alto Desempenho - 2. Prof: Carla Osthoff

Computadores e Programação (DCC/UFRJ)

Curso Técnico em Informática

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Operations Research Serviços de Redes

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 1 Introdução

Benchmarks. 1. Introdução

Perguntas e respostas

Gerência de Dispositivos. Adão de Melo Neto

Santos Dumont - LNCC: Utilização e Pesquisa. Carla Osthoff e Roberto Souto CENAPAD/LNCC Laboratório Nacional de Computação Científica

Processamento Paralelo & Multiprocessadores

Sistemas Operacionais

Máquinas virtuais KVM com libvirt para a construção de backbones Máquinas virtuais KVM com libvirt para a construção de backbones

Estruturas de Sistemas Operacionais

O Que Veremos. Introdução. Introdução. Definindo Desempenho. Definindo Desempenho. Avaliando e Compreendendo o Desempenho

Linguagens de Programação Classificação

Processamento de áudio em tempo real em dispositivos computacionais de alta disponibilidade e baixo custo

Alguns Aspectos de Desempenho e Utilização de Aglomerados de Computadores Heterogêneos 1

Tipos de Clusters. Introdução. Introdução 21/03/12

Arquitetura e Organização de Computadores

Transcrição:

X Workshop em Clouds e Aplicações 83 Desempenho de Ferramentas de Virtualização na Implementação de Clusters Beowulf Virtualizados em Hospedeiros Windows David Beserra 1, Alexandre Borba 1, Samuel Solto 1, Mariel Andrade 1, Alberto Araújo 1 1 Unidade Acadêmica de Garanhuns Universidade Federal Rural de Pernambuco (UFRPE) Garanhuns PE Brasil {dw.beserra, samuel.romeiro}@gmail.com, {alexandre,mariel,aepa}@uag.ufrpe.br Abstract. Many computer infrastructures do not use its total processing capacity. The goal of this work is to study and to compare different virtualization tools to build clusters for use in HPC for use in these under spend structures. In the paper were presented tests to determine the better tool in Windows SO. Tests were accomplished to analyze the performance, sustained processing, communication capacity and performance in I/O operations of the system of files. Resumo. Muitas infraestruturas computacionais não usam sua capacidade máxima de processamento. O objetivo deste trabalho é estudar e comparar diferentes ferramentas de virtualização na construção de clusters para reaproveitar em aplicações de CAD infraestruturas subutilizadas. Neste trabalho foram realizados testes para determinar qual a melhor ferramenta para Windows. Foram executados testes de desempenho de processamento sustentado, capacidade de comunicação em rede e desempenho em operações E/S sobre o sistema de arquivos do cluster. 1. Introdução e Trabalhos Relacionados Atualmente diversos setores têm demandado por sistemas computacionais de alto desempenho (CAD) para efetuar processamento de dados. Embora setores econômicos e governamentais demandem cada vez mais por tais recursos, é na ciência em que esses sistemas são mais amplamente utilizados. O uso de Supercomputadores para tais fins muitas vezes torna inviável o desenvolvimento da aplicação devido aos altos custos de aquisição e manutenção. Como alternativa aos Supercomputadores convencionais surgiu o Cluster Beowulf, que provê CAD a baixo custo uma vez que usa commodities como componentes [Becker et al. 1995]. Um Cluster Beowulf é constituído por um agrupamento de computadores (nodos) interligados por uma rede. Um desses nodos é reservado para a gerência do ambiente (frontend) e os demais executam instruções provenientes dele, sendo identificados por escravos (slaves). Além da necessidade da concepção de arquiteturas computacionais direcionadas para CAD, existe a necessidade de melhor aproveitamento dos recursos físicos já disponíveis, sobretudo no contexto tecnológico atual em que o processamento multicore

84 Anais tornou-se bastante comum. Os processadores multicore apresentam uma relação consumo versus desempenho superior aos processadores convencionais, obtendo em escala um menor custo por núcleo. Logo, tornou-se tendência nos computadores modernos o uso de um ou mais processadores multicore, inclusive em ambientes de cluster [Silva et al. 2009]. Com a virtualização abre-se um leque de possibilidades na otimização e aproveitamento de recursos computacionais subutilizados. A virtualização é uma tecnologia que permite executar mais de um sistema operacional (SO) em um mesmo hardware [National Instruments 2011]. A virtualização permite ambientes dinâmicos e flexíveis, aproveitando recursos computacionais ociosos por meio de seu compartilhamento, minimizando custos com aquisição de novos equipamentos. Com o reaproveitamento dos recursos existentes, facilita-se o suporte e a manutenção, permitindo mais plataformas virtuais sem aumentar o número de plataformas reais [Mello et al. 2010]. Esse reuso acarreta também uma economia energética que não pode ser desprezada e que, além do caráter econômico, também impacta ambientalmente, sendo assim uma alternativa sustentável, além de prover economia espacial. Atualmente em alguns ambientes como, laboratórios de informática com fins educacionais ou mesmo ambientes de escritórios, a capacidade de processamento de máquinas modernas é subaproveitada, surgindo então um questionamento a respeito da sua utilização em CAD mediante virtualização. No ambiente universitário, os recursos ociosos de laboratórios de ensino poderiam ser empregados também em experimentos científicos via execução de simulações. Uma alternativa interessante para a economia de custos e amplificação de desempenho para CAD é a virtualização de Clusters Beowulf, que podem conviver dentro de outras infraestruturas de computação, inclusive na nuvem [Napper e Bientinesiy. 2009], [Ivica, Riley e Shubert. 2009]. As tecnologias atuais de virtualização já apresentam maturidade suficiente para esta finalidade, obtendo em alguns contextos desempenho similar a soluções convencionais quando em condições equipotentes [Beserra et al. 2011]. Outra possível aplicação para clusters virtualizados em excedentes de laboratórios é o teste de aplicações MPI em escala real. Isto é possível mesmo com poucos recursos, sendo necessário apenas instanciar mais nodos virtuais. Existem muitas opções quanto à ferramenta a ser escolhida para a construção dos clusters virtuais. Assim, o objetivo desse trabalho é verificar qual virtualizador, entre os disponíveis para plataforma Windows, apresenta o melhor desempenho na implementação de Clusters Beowulf virtualizados em hospedeiros que possuam Windows como SO. Para tal foram realizados testes para avaliar o desempenho de processamento sustentado, a capacidade de comunicação e o desempenho do sistema de arquivos dos clusters implementados. A escolha do sistema Windows para os hospedeiros é baseada na premissa de que a maioria das infraestruturas passíveis de serem reutilizadas possuem computadores com este sistema instalado. Dando continuidade a esse trabalho, a Seção 2 apresenta os objetivos do trabalho e a metodologia de obtenção e análise dos dados. Na seção seguinte, é exposta a análise dos dados obtidos. A Seção 4 apresenta as considerações finais e os trabalhos futuros a serem realizados.

X Workshop em Clouds e Aplicações 85 2. Objetivos e Metodologia de Análise Esta seção apresenta os objetivos que guiam este trabalho bem como a metodologia de análise dos dados obtidos. Os testes efetivados determinam valores de desempenho de processamento em Gflops. Os valores referentes à capacidade de comunicação são dados em Mbps e os de desempenho do sistema de arquivos são expressos em MB/s. 2.1. Objetivos Os testes efetivados foram realizados em conformidade com os seguintes objetivos: 1. Determinar qual virtualizador implementa clusters com maior desempenho de processamento. 2. Determinar qual virtualizador gerencia melhor os recursos de rede em um ambiente de cluster. 3. Determinar qual virtualizador obtém melhor desempenho em situações onde é exigido uso intensivo do sistema de arquivos do cluster. 2.2. Infraestrutura Computacional Para a execução do experimento foram empregados quatro computadores. Para o frontend do cluster foi utilizado um computador dedicado que possui processador Intel Core 2 Duo E6550 com frequência de operação de 2.33 GHz, 4MB de cache e tecnologia de 65 nm. Possui 2 GB de memória principal e FSB de 1333 MHz. As máquinas hospedeiras possuem processadores Intel Core 2 Quad Q8200 com cache de 4 MB, frequência de operação de 2.33 GHz e tecnologia de 45 nm. Possuem 2 GB de memória principal e FSB de 1333 MHz. O Sistema Operacional (SO) das máquinas hospedeiras é o Windows Vista Ultimate em sua versão de 32 bits. Para a interconexão entre os nodos foi utilizado um switch Gigabit Ethernet (3Com 4210) com 44 portas. Cada nó do cluster possui uma interface Gigabit Ethernet RTL 8169. O cabeamento empregado é cat5e, UTP, e com climpagem T568A. Em cada hospedeiro foi configurada, para cada teste, com cada virtualizador, uma máquina virtual (VM) com um processador virtual (vcpu) de um núcleo, 1024 MB de memória principal e 30 GB de memória secundária de tamanho fixo. A interface de rede é compartilhada com o hospedeiro. Foram instanciadas máquinas com um único núcleo para não sobrecarregar a infraestrutura original, que possui quatro núcleos físicos por máquina. 2.3. Ferramenta de Cluster Nos experimentos foi escolhido o SO Rocks Cluster 5.4 [Rocks Clusters 2011], em sua versão de 32 bits. Sua principal meta é auxiliar na implementação rápida de Clusters Beowulf, possuindo assim um processo de instalação simplificado para frontend e escravos. Uma vez instalado o frontend, os escravos podem ser adicionados mediante um simples comando de terminal e boot de rede. Ele também vêm com uma série de bibliotecas, compiladores e ferramentas de gerenciamento, facilitando o seu uso. O sistema de arquivos padrão para clusters implementados com o Rocks é o NFS, que foi o empregado nos testes.

86 Anais 2.4. Ferramentas de Virtualização Foram testadas as principais ferramentas de virtualização para a plataforma Windows, o VirtualPC, o VirtualBox e o VMware Workstation. O VirtualPC [Microsoft 2011] é uma ferramenta desenvolvida pela própria Microsoft e possui distribuição gratuita. O VirtualBox [Oracle 2011] é Opensource e é mantido pela Oracle, possuindo versões para Solaris, Windows, Linux e Mac OS X. Como convidados suporta Solaris, Linux, BSD, Windows e IBM-OS2. Foi utilizada a versão 4.1.0 do VirtualBox nesse trabalho. A outra ferramenta avaliada foi o VMware Workstation, versão 7.1.0 [VMware 2011], que é a mais popular solução proprietária em virtualização. Todas as ferramentas empregadas são de virtualização total, que permite que um SO convidado possa ser executado sem sofrer modificações sobre um hospedeiro. Esta é a alternativa mais viável para ambientes Windows. 2.5. Ferramentas de Benchmarking Serão descritas nesta subseção as ferramentas empregadas para benchmarking. Para os testes de desempenho de processamento foi empregado HPL. Para os testes de redes foi empregado o NetPIPE e para os testes com o sistema de arquivos foi utilizado o MPI-IO Test. 2.5.1. High Performance Linpack (HPL) O HPL é o benchmark padrão do projeto TOP 500, que lista os computadores mais rápidos do mundo a cada seis meses [TOP 500 2011]. O HPL retorna o desempenho do cluster em Gflops e tempo de duração de cada medida. Ele resolve um sistema linear A.x=b, onde A é uma matriz gerada aleatoriamente e possui ordem N. Já x e b são vetores de dimensão N. O primeiro passo para a resolução do sistema a ser aplicado pelo HPL é a fatoração da matriz A como sendo o produto A=L.U, onde L e U representam respectivamente as matrizes triangulares inferior e superior. A fatoração é realizada mediante pivotamento parcial de linha, por ser um método mais estável [Silva et al. 2009]. Por fim, o algoritmo encontra a solução x através da aplicação sucessiva de passos de solução triangular, L.z=b e por fim U.x=z. A matriz A tem seus elementos distribuídos por uma grade bidimensional de processos P x Q de maneira cíclica. Por sua vez, a matriz de coeficientes (dimensão N x N+1) é particionada em blocos de tamanho NB x NB, também distribuídos ciclicamente na grade de processos. Esse procedimento é executado em todas as dimensões da matriz para assegurar um bom balanceamento de carga [Turner e Chen, 2002]. Para a correta execução do HPL é necessário configurar um arquivo nomeado HPL.dat. Neste arquivo devem ser descritos o valor de N, o valor de P e Q, (que devem ser dois números cujo produto resulte na quantidade total de processadores do cluster), e o valor de NB, entre outros parâmetros. Existe um mecanismo Web que gera automaticamente um arquivo HPL.dat adequado para qualquer cluster [Advanced Clustering, 2011]. É necessário informar a quantidade de nodos, de cores por nodo e a quantidade de memória principal por nodo.

X Workshop em Clouds e Aplicações 87 Na configuração do HPL para esse experimento foram considerados apenas os nós escravos, ficando o frontend dedicado ao gerenciamento e do cluster. 2.5.2. NetPIPE O NetPIPE efetua simples testes de ping-pong, enviando mensagens entre dois processadores. Ele incrementa o tamanho das mensagens em intervalos regulares. Para cada pacote são realizadas muitas operações de ping-pong para aumentar a precisão das medidas [Wenli, Jianping e Mingyu, 2004]. Como a ferramenta pode ser utilizada com diferentes protocolos, basta especificar o protocolo durante o processo de compilação. Nesse trabalho, o protocolo escolhido foi o de Interface de Passagem de Mensagens (MPI). Em sua execução, o NetPIPE gera um arquivo nomeado np.out que armazena os resultados obtidos. O arquivo contém três colunas: o número de bytes por pacote, a vazão (throughput) em Mbps e o tempo de ida e volta das mensagens de teste dividido por dois. As duas primeiras colunas são empregadas para a obtenção de um gráfico da vazão em função do tamanho do pacote de dados [Wenli, Jianping e Mingyu, 2004]. 2.5.3. MPI-IO Test O MPI-I/O Test emprega a biblioteca MPI-I/O, que permite que vários processos que estejam sendo executados em vários nós abram e compartilhem arquivos de maneira consistente [Los Alamos National Laboratory, 2008]. Logo, uma operação pode ser do tipo N:N, onde os processos operam em arquivos distintos, ou N:1, onde os processos operam sobre o mesmo arquivo [Correa e Silva. 2009]. Este benchmark permite comparar varias formas diferentes de acesso aos arquivos, bastando apenas especificar sobre a forma de parâmetros em tempo de execução. Normalmente ele testa a escrita de um determinado padrão em um arquivo, fecha o arquivo e o abre para testar o desempenho na leitura, reportando os tempos para abertura, fechamento, escrita e leitura e as taxas de escrita e leitura em um arquivo externo [Los Alamos National Laboratory, 2008]. 2.6. Testes e Medidas Realizados Para o computo dos resultados foram efetuadas 30 medidas para cada teste. São apresentadas sua média e seu intervalo de confiança, que é de 95%. Todos os testes foram realizados para todos os clusters de acordo com os objetivos propostos. Os desempenhos individuais de cada cluster foram comparados entre si. 1. Teste de desempenho de processamento dos clusters virtuais com benchmark HPL. Este teste visa verificar qual virtualizador implementa clusters com maior desempenho de processamento. 2. Teste de capacidade de comunicação dos clusters. Foi medida a vazão obtida em função do tamanho do pacote de dados. Este teste objetiva verificar qual virtualizador faz melhor uso dos recursos de rede em um ambiente de cluster. 3. Teste do sistema de arquivos dos clusters com pacotes de dados de grande tamanho. O objetivo é verificar o desempenho dos virtualizadores no uso intensivo de operações E/S com grandes quantidades de dados. Foi utilizado

88 Anais neste teste um arquivo de 512 MB. Foram testadas as velocidades de leitura e escrita sobre este arquivo, tanto em operações N:N, quanto em operações N:1. 4. Teste do sistema de arquivos dos clusters com pacotes de dados de pequeno tamanho. O objetivo é verificar o desempenho dos virtualizadores no uso intensivo de operações E/S com grandes quantidades de dados. Foi utilizado neste teste um arquivo de 4 MB. Foram testadas as velocidades de leitura e escrita sobre este arquivo, tanto em operações N:N, quanto em operações N:1. 3. Análise dos Resultados De forma a garantir a melhor visualização e compreensão dos resultados, os mesmos serão agrupados em subseções. Sendo expostos primariamente os resultados referentes ao desempenho de processamento, seguido pelos resultados dos testes de capacidade de comunicação. Por fim, serão expostos os resultados da avaliação do sistema de arquivos. 3.1. Desempenho de Processamento Sustentado As médias de desempenho de processamento sustentado são apresentadas de maneira comparativa na Figura 1. O cluster Implementado com o VirtualPC apresentou o pior desempenho entre as ferramentas avaliadas, obtendo um desempenho médio de 8,94 Gflops, ficando 38,52 % abaixo do desempenho do VirtualBox e abaixo 36,65 % do VMware Workstation. Figura 1. Desempenho de Processamento Sustentado (Média) O cluster implementado com o VirtualBox, por sua vez, apresentou o melhor desempenho, obtendo uma média de 14,47 Gflops. Seu desempenho ficou apenas 2,55 % acima do cluster implementado com o VMware, que apresentou média de 14,11 Gflops. Ambos obtiveram desempenho bastante superior ao cluster construído com a solução da Microsoft. A Tabela 1 abaixo apresenta as médias obtidas nos testes com seus respectivos intervalos de confiança, os quais não sofrem variações significativas para o VirtualBox e o VMware Workstation. Todavia o VirtualPC está mais passível de oscilações no desempenho.

X Workshop em Clouds e Aplicações 89 3.2. Desempenho de Rede Tabela 1. Desempenho de Processamento Sustentado VirtualPC VirtualBox VMware Int. Superior 9,756881 14,6124247 14,25242 Média 8,943267 14,4723333 14,11433 Int. Inferior 8,129652 14,3322419 13,97625 Na aferição do desempenho de rede dos clusters virtualizados foi realizado o cálculo da vazão média para cada tamanho de pacote empregado pela ferramenta NetPIPE. Também foram calculados intervalos de confiança para cada vazão média obtida. Os resultados individuais de cada virtualizador com seus respectivos intervalos de confiança são apresentados nos gráficos abaixo, onde é possível acompanhar não apenas a variação da vazão média, como também a variação dos intervalos de confiança para estas médias. A Figura 2 apresenta os resultados obtidos para os testes efetuados com o VirtualPC, que obteve uma vazão média máxima de 140 Mbps. Foi constatado o aumento regular da vazão média ate serem usados pacotes com 100000 bytes. A partir daí ocorreu uma queda significativa na vazão, que voltou a se estabilizar a partir do trafego de pacotes com 1000000 de bytes. Como se pode ver no gráfico, o VirtualPC apresenta grandes variações de vazão média em seus intervalos de confiança, sobretudo no intervalo inferior. Figura 2. Vazão Média de Rede x Tamanho do Pacote de Dados no VirtualPC O VMware, cujos resultados individuais estão expostos na Figura 3, obteve vazão média máxima de 295 Mbps. O crescimento de sua vazão média, por sua vez, apresenta instabilidades após pacotes 10000 bytes, entrando e permanecendo em queda ate o uso de pacotes de 1000000 de bytes, onde volta a crescer. Em relação aos intervalos de confiança associados às médias, o VMware apresenta uma constância maior. Não

90 Anais ocorrem, para a maioria das médias, grandes variações de valor, sobretudo nos intervalos [1-10000] bytes e [1000000-10000000] bytes por pacote. Figura 3. Vazão Média de Rede x Tamanho do Pacote de Dados no VMware. O VirtualBox foi o virtualizador que obteve os melhores indicadores nos testes de desempenho de rede, assim como nos de processamento sustentado. Ele apresentou uma vazão média máxima de 590 Mbps, conforme Figura 4. Apresenta crescimento estável de vazão média até pacotes com 80000 bytes, onde sofre queda brusca de desempenho. A vazão torna a aumentar e cresce quase com poucas oscilações até o termino do teste. O VirtualBox também apresentou as menores variações nos intervalos de confiança das médias, sendo isto um indicativo de estabilidade no gerenciamento dos recursos de rede.

X Workshop em Clouds e Aplicações 91 Figura 4. Vazão Média de Rede x Tamanho do Pacote de Dados no VirtualBox A Figura 5 apresenta as vazões médias em função do tamanho do pacote de dados dos três virtualizadores analisados. Neste gráfico, para facilitar a visualização dos dados, foram removidos os intervalos de confiança das médias. Com este gráfico fica mais fácil evidenciar e comparar o desempenho e o comportamento dos virtualizadores. Figura 5. Comparativo das Vazões Médias dos 3 Virtualizadores É visível que o VirtualBox é a ferramenta que melhor gerencia os recursos de rede em um ambiente de cluster com hospedeiros Windows. Apresenta melhor desempenho tanto para os menores quanto para os maiores pacotes de dados. Possui também as menores flutuações nos intervalos de confiança. Pode alcançar indicadores de vazão média mais elevados, bem como maior crescimento da vazão, em comparação com os outros virtualizadores. O VirtualPC apresenta uma vazão menor, todavia, para pequenas quantidades de dados, possui desempenho superior ao VMware. Em Clusters Beowulf a rede é fator limitante, quanto maior a vazão, mais nodos podem ser adicionados sem perca de desempenho de processamento. Logo, devido a estas características, pode-se concluir que o VirtualBox implementa os clusters com maior desempenho de processamento sustentado. Ele se configura na melhor alternativa para prover o reuso de infraestrutura para o uso em aplicações que façam maior uso do processador ou que contenham muita comunicação entre os seus processos. 3.3. Desempenho em Operações de E/S Foram executados testes com o MPI-IO-Test para medir o desempenho dos virtualizadores em operações sobre o sistema de arquivos do cluster. Os testes visaram medir o desempenho em operações N:N e N:1 de leitura e escrita em arquivos de tamanho 512 MB e 4 MB. A Figura 6. apresenta o desempenho médio dos virtualizadores em operações de escrita N:N e N:1 sobre o arquivo de 512MB.

92 Anais Figura 6. Taxa média de escrita (A) e leitura (B) com arquivo de 512 MB Para operações de escrita N:N (Figura 6A), o VirtualBox apresentou o melhor resultado, com taxa média de 64,89 MB/s. Ele ficou 24% acima do VMware, que apresentou média de 49,3 MB/s e 75,94% acima do VirtualPC, com média de apenas 15,61 MB/s. Já para operações N:1, o VMware apresentou melhor desempenho, com média de 32 MB/s, ficando 1,34% acima do VirtualBox, que obteve 31,57 MB/s e 25,34% acima do VirtualPC, com média de 23,89 MB/s. A tabela 2A. apresenta as taxas médias de escrita com seus respectivos intervalos de confiança, tanto para Operações N:N, quanto para N:1, em arquivos de 512 MB. Tabela 2. Taxa média de escrita (A) e leitura (B) com arquivo de 512 MB Na leitura N:N (Figura 6B), o VMware obteve taxa média de 60,07 MB/s. Ficando 16.24% acima do VirtualBox, com média de 50,31 MB/s e 39,42% acima do VirtualPC, com média de 36,39 MB/s. Para operações de leitura N:1, a média do VMware foi de 14,91 MB/s, 4,02% acima do VirtualBox, com 14,31 MB/s e 7,1% acima do VirtualPC, com 13,85 MB/s. A tabela 2B apresenta as taxas médias de leitura com seus respectivos intervalos de confiança, tanto para Operações N:N, quanto para N:1, em arquivos com 512 MB. Nas operações de escrita em arquivos de 4 MB (Figura 7A), executando operações N:N, o VMware apresentou o melhor resultado, com taxa média de 4,92 MB/s. Ele ficou 34,55% acima do VirtualBox, que apresentou média de 3,22 MB/s e 51,42% acima do VirtualPC, com média de 2,39 MB/s. Em operações N:1, o VMware apresentou média de 6,21 MB/s, ficando 41,22% acima do VirtualBox, com 3,65 MB/s e

X Workshop em Clouds e Aplicações 93 50,88% acima do VirtualPC, com média de 3,05 MB/s. A tabela 3A apresenta as taxas médias de escrita com seus respectivos intervalos de confiança, tanto para Operações N:N, quanto para N:1, sob arquivos de 4 MB. Para operações de leitura N:N (Figura 7B) de arquivos de 4 MB, o VMware apresentou o melhor resultado, com taxa média de 5,1 MB/s. Ele ficou 37,23% acima do VirtualBox, que apresentou média de 3,27 MB/s e 46,44% acima do VirtualPC, com média de 2,79 MB/s. Nas operações N:1, o VMware apresentou melhor desempenho, com média de 5,9 MB/s, ficando 31,35% acima do VirtualBox, que obteve 4,05 MB/s e 48,81% acima do VirtualPC, com média de 3,02 MB/s. A tabela 3B apresenta as taxas médias de leitura em arquivos de 4 MB com seus respectivos intervalos de confiança, tanto para Operações N:N, quanto para N:1. Figure 7. Taxa média de escrita (A) e leitura (B) com arquivo de 4 MB O VMware apresentou o melhor desempenho em operações de leitura e escrita N:N e N:1, para os dois tamanhos de arquivo, na maioria esmagadora das situações propostas nos testes. Isto mostra que, sobre ambientes Windows, o VMware é a solução mais adequada para reutilizar recursos excedentes para implementação de clusters que façam maior uso de operações de E/S. Desde que não execute muitas operações de comunicação Interprocesso, devido as suas limitações de rede. Tabela 3. Taxa média de escrita (A) e leitura (B) com arquivo de 4 MB

94 Anais 4. Considerações Finais e Trabalhos Futuros Foi proposto nesse trabalho o reuso de infraestruturas computacionais subutilizadas para aplicações de CAD. Foram realizados testes para indicar qual ferramenta de virtualização possui melhor desempenho na implementação de clusters virtuais em ambientes Windows. A escolha do Windows foi motivada pela realidade de ser o SO mais comum em qualquer tipo de ambiente que possa vir a ser reutilizado. Foram realizados testes de desempenho de processamento sustentado, capacidade de comunicação e desempenho em operações de leitura e escrita em um sistema de arquivos NFS. Nos testes de desempenho de processamento sustentado e capacidade de comunicação, o VirtualBox obteve o melhor desempenho. Tornou-se assim a melhor indicação para implementação de clusters que façam maior uso de CPU ou que tenham muita comunicação entre os processos. Já nos testes com operações E/S o VMware Workstation obteve desempenho superior. Com isso, é indicado para situações em que haja pouca comunicação entre processos e maior uso do sistema de arquivos NFS. Todavia, em caso do não conhecimento sobre o padrão das aplicações a serem executadas, a melhor opção é o VirtualBox. Para a continuação do trabalho, será investigado o efeito das instruções de virtualização no desempenho dos clusters, com estes mesmos virtualizadores. Pretendese também fazer uma análise da virtualização de clusters em ambientes Windows em estações de trabalho que possuam GPUs, como forma de ampliar o leque de opções de reuso. Outro aspecto importante que será abordado será o de mudança de desempenho com o aumento da escala do sistema. Os testes serão feitos tanto com variações do número de máquinas físicas, quanto com variações de nodos virtuais por máquina física. Pretende-se também verificar o uso de políticas de migração de máquinas virtuais nesses ambientes, e balanceamento de carga de trabalho. Isto será feito com foco na otimização máxima dos recursos subutilizados disponíveis. Agradecimentos Os autores agradecem a CAPES e ao CNPq pelo provimento do financiamento a pesquisa, e a UAG/UFRPE mediante intermédio da Coordenação do Bacharelado em Ciência da Computação pela disponibilização da infraestrutura física necessária a execução deste trabalho. Referências Advanced Clustering. (2011) How Tune my HPL.dat file?, http://www.advancedclustering.com/faq/how-do-i-tune-my-hpldat-file.html Becker, D.J. Sterling, T. Savarese, D. Dorband, J.E. Ranawak, U.A. e Packer, C.V. (1995) Beowulf: A Parallel Workstation for Scientific Computation, Em: Proceedings of 1995 International Conference on Parallel Processing, CRC Press, ISBN 0-8496-2615-X, Urbana-Champain, pp. 11-14.

X Workshop em Clouds e Aplicações 95 Beserra, D.W.S.C. Souto, S.C.R.A. Andrade, M.J.P. e Araújo, A.E.P. (2011) Comparativo de Desempenho de Um Cluster Virtualizado em Relação a Cluster Convencional Sob Condições Equipotentes, Em: Anais do XXVIII Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos / VIII Workshop em Clouds, Grids e Aplicações, XXIX SBRC/ IX WCGA, SBC, Campo Grande. Correa, J. e Silva, G.P. (2009) Avaliação do Sistema de Arquivos Paralelo do Cluster Netuno, Em: Anais do WSCAD-WIC 2009, SBC, Petrópolis. Ivica, C. Riley, J.T. e Shubert, C. (2009) StarHPC - Teaching parallel programming within elastic compute cloud, Em: Proceedings of the International Conference on Information Technology Interfaces, ITI, pp. 353-356. Los Alamos National Laboratory, (2008) MPI-IO Test User s Guide, http://public.lanl.gov/jnunez/benchmarcks/mpiiotest.htm. Mello, T. C. Schulze, B. Pinto, R. C. G. e Mury, A. R. (2010) Uma análise de recursos virtualizados em ambiente de HPC, Em: Anais do XXVIII Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos / VIII Workshop em Clouds, Grids e Aplicações, XXVIII SBRC/ VIII WCGA, SBC, Gramado, pp. 17-30. Microsoft. (2011) Windows Virtual PC: Home Page, http://www.microsoft.com/windows/virtual-pc/ Napper, J. e Bientinesiy, P. (2009) Can cloud computing reach the TOP500?, Em: Proc. Combined Workshops on UnConventional High Performance Computing Workshop Plus Memory Access Workshop, UCHPC-MAW '09, Co-located with the 2009 ACM Int. Conf. on Computing Frontiers, CF'09, pp. 17-20. National Instruments. (2011) Introdução a Virtualização, ftp://ftp.ni.com.pub/devzone/pdf/tut_9897.pdf Oracle. (2011) User Manual, http://www.virtualbox.org/manual/usermanual.html Rocks Clusters. (2011) Base Roll: Users Guide, http://www.rocksclusters.org/rolldocumentation/base/5.4/ Silva, V. Bentes, C. Guedes, S. e Silva, G.P. (2009) Arquitetura e Avaliação de Desempenho do Cluster Netuno, Em: Anais do WSCAD-SSC 2009 X Simpósio em Sistemas Computacionais, SBC, Petrópolis, pp. 52-59. TOP500. (2011) The Linpack Benchmark, http://www.top500.org/project/linpack Turner, D. e Chen, X. (2002) Protocol-Dependent Message-Passing Performance on Linux Clusters, http://www.scl.ameslab.goc/netpipe/ VMware. (2011) Guest Operating System Installation Guide, http://www.vmware.com/pdf/guestos_guide.pdf Wenli, Z. Jianping, F. e Mingyu, C. (2004) Efficient Determination of Block Size NB for Parallel Linpack Test, Em: Proceedings of the IASTED International Conference on Parallel and Distributed Computing and Systems, PDCS.