Desempenho da Computação Paralela em Ambientes 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.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/1.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/2.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/3.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/4.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/5.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/6.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/7.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/8.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/9.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/10.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/11.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/12.jpg)
HypervisorHypervisor Xen Xen
![Page 13: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/13.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/14.jpg)
Teste com OpenMPTeste com OpenMP
![Page 15: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/15.jpg)
Teste com MPITeste com MPI
![Page 16: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/16.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/17.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/18.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/19.jpg)
Multiplicação de MatrizesMultiplicação de Matrizes
![Page 20: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/20.jpg)
Multiplicação de MatrizesMultiplicação de Matrizes
![Page 21: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/21.jpg)
Agrupamento por KmeansAgrupamento por Kmeans
![Page 22: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/22.jpg)
Agrupamento por KmeansAgrupamento por Kmeans
![Page 23: Desempenho da Computação Paralela em Ambientes Virtualizados Rafael Lopes Gomes.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/23.jpg)
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.](https://reader036.fdocument.pub/reader036/viewer/2022081518/552fc0f8497959413d8b4ff8/html5/thumbnails/24.jpg)
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.