Desempenho da Computação Paralela em Ambientes Virtualizados

Preview:

DESCRIPTION

Desempenho da Computação Paralela em Ambientes Virtualizados. Rafael Lopes Gomes. Agenda. Introdução Virtualização Desempenho da Computação Paralela em Um Único Ambiente Virtualizado Desempenho da Computação Paralela na Computação em Nuvem Conclusão. O que virtualização ?. - PowerPoint PPT Presentation

Citation preview

Desempenho da Desempenho da Computação Paralela em Computação Paralela em Ambientes VirtualizadosAmbientes VirtualizadosRafael Lopes Gomes

AgendaAgendaIntroduçãoVirtualizaçãoDesempenho da Computação

Paralela em Um Único Ambiente Virtualizado

Desempenho da Computação Paralela na Computação em Nuvem

Conclusão

O que virtualização ?O que virtualização ?Virtualização: um ambiente o qual

múltiplos OSs executam é uma única máquina física.

Virtual Machine (VM): partição a qual cada OS executa isoladamente.

Virtual Machine Monitor (VMM ou Hypervisor): camada adicional de software entre o hardware e o SO.

Por que utilizar Por que utilizar virtualização ?virtualização ?Solução para a consolidação de

recursos, redução de consumo de energia, e para lidar com o comportamento em rajada.

Empresas: virtualização para oferecer recursos de datacenter para aplicações de diversos clientes.

Computação ParalelaComputação ParalelaUtilizada tanto na área de

negócios quanto na de HPC.Mais complexa: determinismo,

sincronização, custo de comunicação e balanceamento de carga.

Popularidade dos processadores multi-core: mudar a estrutura do código das aplicações.

ObjetivosObjetivosAnálise do desempenho da

utilização de programação paralela em ambientes virtualizados:◦Pequena escala: única máquina

física◦Larga escala: computação em

nuvem.

Categorias de Categorias de VirtualizaçãoVirtualizaçãoVirtualização Completa:

◦VMM executa sobre um SO (aplicação do usuário);

◦dispositivos de I/O são alocados imitando dispositivos físicos (comunicação via driver);

◦Vantagem: fácil de uso;◦Desvantagem: baixo desempenho (até

30% menor).Virtualização de OS :

◦executa mais instâncias do mesmo SO em paralelo;

◦Vantagem: facilita a administração do sistema (gerenciamento de recursos);

◦Desvantagem: VMs só podem usar o mesmo SO.

Categorias de Categorias de VirtualizaçãoVirtualizaçãoVirtualização de hardware

(Paravirtualização):◦VMM é executado diretamente no

hardware, controlando e sincronizando o acesso dos SOs aos recursos de hardware;

◦Interface de software entre o hardware e os SOs modificados

◦Vantagem: simplicidade do VMM (desempenho próximo ao hardware);

◦Desvantagem: o SO deve ser modificado.

Aspectos da VirtualizaçãoAspectos da Virtualização• Vantagens:–Flexibilidade;–Disponibilidade;–Escalabilidade;–Segurança;–Custo;–Adaptabilidade;–Balanceamento de Carga.

• Desvantagens:–Diminuição do desempenho;–Ponto Único de Falha.

Desempenho em Um Único Desempenho em Um Único Ambiente VirtualizadoAmbiente VirtualizadoDescrever o trabalho de Xu et alObjetivos:

◦Encontrar a sobrecarga do uso de VMs sobre o desempenho da programação paralela em uma plataforma multi-core;

◦Compreender os efeitos da partilha de recursos sobre o desempenho da programação paralela usando o Xen.

Avaliou o Open Multiprocessing (OpenMP) e o Message Passing Interface (MPI).

HypervisorHypervisor Xen XenUtiliza paravirtualização;Os SOs que ficam nos domínios

convidados (DomainU) são impedidos de executar diretamente as instruções privilegiadas;

Um domínio especial (Dom0), tem permissão para acessar a interface de controle fornecida pelo hypervisor e executar as tarefas;

Os domínios se comunicam uns com os outros através de páginas compartilhadas e canais de eventos.

HypervisorHypervisor Xen Xen

ExperimentosExperimentosServidor Dell OPTIPLEX 755, com

processador Intel quad-core de 2.4GHz: Para cada DomU são alocados 2 processadores virtuais (VCPU);

Teste com OpenMP: avaliar o desempenho de um programa paralelo com pouca comunicação e sincronização entre as threads ou processos;

Teste com MPI: realizados testes com uma única VM, um cluster virtual em um nó físico e a máquina física.

Teste com OpenMPTeste com OpenMP

Teste com MPITeste com MPI

Visão Geral dos Visão Geral dos ResultadosResultadosPouco impacto sobre a

aplicações paralelas simples com pouca comunicação entre as threads ou processos;

Uso do Xen: executar um programa paralelo em mais VCPU do que CPU, é eficaz sem uma degradação de desempenho notável.

Desempenho da Desempenho da Computação Paralela na Computação Paralela na Computação em NuvemComputação em NuvemDescrever o trabalho de

Ekanayake et al.: avaliação do desempenho de aplicações MPI em ambientes de nuvem;

Nuvem privada Eucalyptus;Aplicações:

◦Multiplicação de Matrizes: comunicação O(n) e C/C O( 1/√n) ;

◦Agrupamento com Kmeans: comunicação O(1) e C/C O( 1/n).

ExperimentosExperimentos16 nós em um cluster iDataPlex,

cada um possui um processador 2 Quad Core Intel Xeon (para um total de 8 núcleos de CPU) ;

Multiplicação de MatrizesMultiplicação de Matrizes

Multiplicação de MatrizesMultiplicação de Matrizes

Agrupamento por KmeansAgrupamento por Kmeans

Agrupamento por KmeansAgrupamento por Kmeans

Visão Geral dos Visão Geral dos ResultadosResultadosOs overheads gerados são elevados

para aplicações paralelas que exigem padrões de comunicação complexos;

As aplicações MPI que são sensíveis à latência obtêm um maior overhead em ambiente de computação em nuvem, e esses overheads aumentam à medida que o número de VMs por hardware aumenta.

ConclusãoConclusãoImpacto de se executar

aplicações paralelas em ambientes virtualizados: uma única máquina física e em computação em nuvem.

Melhor desempenho:◦melhor suporte para as operações de

I/O;◦uso de algoritmos menos sensíveis a

latência.

Recommended