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

Transcript of Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes.

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.