desempenho da computação paralela em ambientes virtualizados rafael lopes gomes

24
Desempenho da Computação Desempenho da Computação Paralela em Ambientes Paralela em Ambientes Virtualizados Virtualizados Rafael Lopes Gomes

Upload: internet

Post on 16-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

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

Page 2: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael 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

Page 3: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

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.

Page 4: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

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.

Page 5: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

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.

Page 6: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

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.

Page 7: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

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.

Page 8: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

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.

Page 9: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

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.

Page 10: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

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).

Page 11: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

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.

Page 12: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

HypervisorHypervisor Xen Xen

Page 13: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

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.

Page 14: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

Teste com OpenMPTeste com OpenMP

Page 15: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

Teste com MPITeste com MPI

Page 16: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

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.

Page 17: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

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).

Page 18: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

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) ;

Page 19: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

Multiplicação de MatrizesMultiplicação de Matrizes

Page 20: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

Multiplicação de MatrizesMultiplicação de Matrizes

Page 21: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

Agrupamento por KmeansAgrupamento por Kmeans

Page 22: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

Agrupamento por KmeansAgrupamento por Kmeans

Page 23: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

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.

Page 24: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes

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.