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 ?
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 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 Paralela
Utilizada 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 multicore: mudar a estrutura do código das
aplicações.

Objetivos

Aná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 Virtualização

Virtualizaçã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 Virtualização

Virtualizaçã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çã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
Ambiente Virtualizado
Descrever o trabalho de Xu et al
 Objetivos:

◦ 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).
Hypervisor Xen




Utiliza 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.
Hypervisor Xen
Experimentos
Servidor 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 OpenMP
Teste com MPI
Visão Geral dos Resultados
Pouco 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 Computação
Paralela na Computação em Nuvem
Descrever 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).
Experimentos

16 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 Matrizes
Multiplicação de Matrizes
Agrupamento por Kmeans
Agrupamento por Kmeans
Visão Geral dos Resultados
Os 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ão
Impacto 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.
Download

Desempenho da Computação Paralela em Ambientes Virtualizados