medindo e modelando o desempenho de aplicações em um ambiente virtual

24
Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual Edicarlos, Gustavo, Rafael, Tadeu

Upload: rafael-reis

Post on 05-Jun-2015

338 views

Category:

Technology


4 download

DESCRIPTION

Análise do artigo "Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual" dos autores F. Benevenuto, C. Fernandes, M. Caldas, V. Almeida.

TRANSCRIPT

Page 1: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

Medindo e Modelando o Desempenhode Aplicações em um

Ambiente Virtual

Edicarlos, Gustavo, Rafael, Tadeu

Page 2: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

1. Introdução• Virtualização é uma técnica utilizada em ambientes

virtuais.

• Estes ambientes virtuais são máquinas que possuem um SO similar a uma máquina física.

• Vantagens:– Redução de Custos de hardware, espaço, energia e

gerenciamento;– Flexibilidade do ambiente de serviços;

• Desvantagens:– “Perda de Desempenho”;

• A desvantagem acontecem se o usuário resolver mudar para um ambiente virtual sem se planejar antes.

Page 3: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

Dentro deste contexto há uma necessidade por ferramentas e tecnologias que ajudem a fazer a previsão de  desempenho dos sistemas, alocação de recursos, configuração da máquina, etc.

É neste ponto que este artigo se encaixa, pois ele vem para propor modelos analíticos que serão capazes de prever o desempenho que aplicações reais teriam no ambiente virtual. 

Os modelos criados pelos autores do artigo levam em consideração a execução de aplicações no SO Linux. O ambiente virtual onde será estimado o desempenho destas aplicações é o ambiente Xen.

Page 4: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

2. Trabalhos Relacionados

• Vários sistemas operacionais funcionando na mesma máquina

• Não é um conceito novo.(1960)– CP-67, software para o mainframe IBM 360/67– VM/370, MMV para o Sistema /370

• Se tornando uma prática “padrão”. (IDC Brasil)

• Tecnologia, usada por 40% das empresas nos EUA(Forrester Research)

• Consolidação de servidores

Page 5: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

Abordagens• Análise de aplicacões já implantadas em um ambiente

virtual– Teoria das filas– Equações simplificadas– Sem parametros importantes de configuração

• Análise com foco na migração do ambiente não virtual– Utiliza como entrada medições realizadas em ambiente  real– Prevê o desempenho das mesmas aplicações em um ambiente

virtual.

• De acordo com dados da VMware, a virtualização, combinada à consolidação de servidores, reduz em até 53% os custos com hardware e 79% os custos operacionais, gerando uma economia média de até 64% para a empresa que adota a solução.

Page 6: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

3. O Ambiente Virtual Xen

• Xen é um monitor de máquinas virtual (VMM) que permite múltiplas instâncias de S.O executarem concorrentemente em uma unica maquina física. 

•  IDD (isolated driver domain).

•  Uma VM (Maquina Virtual) pode acessar o hardware através de um dispositivo virtual (Vif) que esteja conectado ao IDD

Page 7: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

3. O Ambiente Virtual Xen

• Escalonamento de créditos do XEN provém um balanceamento de carga automática entre CPUs virtuais e físicas de uma plataforma SMP

•  CAPo  4 CPU e 2 VM

 cap = 50   Pode atingir 50% de uma CPU

 cap = 350  Fica com o restante da CPU

•  CPU que controla o IDD pode ser um gargalo

Page 8: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

4. Arcabouco para Previsão de Desempenho

Desempenho

• Modelo considera o overhead da camada de virtualizaçãoo ex.: operações de E/S

• Cada VM possui sua classe de aplicação

Page 9: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

4.1 Modelando o Desempenho em VMs

slowndown p/ vmi usando o dispositivo K

demanda pelo uso do dispositivo K

uso da vmi no dispositivo K

tempo de residência médio do recurso K pela vmi

Tempo de Resposta

Page 10: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

 O IDD é o componente do Xen responsável por executar operações de entrada e saída (E/S) para outras VMs. - pacotes (pontes ou mecanismos de roteamento) 1.determinar o custo de processar um pacote, cpi  noambiente virtual para a classe i de aplicações;

1.analisar a carga gerada pela aplicação alvo no ambiente real medindo o número médio de pacotes por requisição, pri para a classe i.

4.2  modelando o desempenho de operaçoes de E/S

Page 11: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

• A demanda de CPU do IDD

• Utilização de CPU do IDD

• Residência médio no IDD

Page 12: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

4.3 Limites Assintóticos• A análise de limites assintóticos para determinar a carga que o

sistema suporta é muito importante já que poderemos prever tempos razoáveis de resposta e assim evitar a saturação do ambiente.

• λ imax: Taxa máxima de chegada de requisição que cada VM

suporta;

• capi : Parâmetros do escalonador;

• λi: Taxa de chegada de requisições em cada VM;

• IDD: Componente do Xen responsável por executar operações de entrada e saída;

• vmi: Máquina virtual  onde i é o número da máquina.

Page 13: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

• Em uma aplicação no ambiente virtual os possíveis gargalos são o IDD e a VMi analisada.

• Analisando a VMi para ser o gargalo, temos a estrutra matemática abaixo que pode explicar o que acontece.

Page 14: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

Analisando o IDD como possível gargalo, isso deve acontecer caso a utilização da CPU dedicada a VM atingir o CAP0.

UCPUi : Soma das utilizações de CPU no IDD 

        Como a demanda do VM0 e λi são parâmetros de entrada, podemos assumir que o CPUi é fixo com isso podemos dizer que a taxa de recursos que a VMi pode utilizar é limitada pela diferença do CAP0 – UCPUi. Com isso temos que λi é igual a:

Page 15: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

5. Experimentação

• Maquina utilizadao Intel Xen 64-bits o 2 CPU 3.2 Ghzo 2 GB de RAMo 7200 RPM e 8 MBoDuas placas de rede Ethernet Gigabit Broadcom Realtek

• Cada VM é configurada com 512 de RAM

• Xencpu, para medir o tempo ocupado de CPU no Xen.

• O tempo ocupado de CPU no Linux: /proc

Page 16: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

5. Experimentação

• Xenoprof, utilizado para medir o número de instruções executadas e falhadas nas caches do processador e na TLB

• Oprofile, possui a mesma funcionalidade que o Xenoprof

• Numero de pacote nos dois ambientes: /proc

• Foi realizado uma compilação de Kernel e foi comparado  o uso das ferramentas de medição e o não uso.  

• Períodos grande ambas ferramenta não apresentaram interferências.

Page 17: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

5.1. Slowdown para Classes de Aplicações

• Servidor Web Apache

• httperf, ferramenta que permite fazer varias requisições HTTP e medir o desempenho. 

• CPU exclusiva para IDD e outra exclusiva para VM

• SPECWeb99.

• Não depende da taxa de chegada de requisições

• O slowdown médio para ambas as cargas é aproximadamente 0,92.

Page 18: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

5.2. Overhead no IDD

• Cpi  se mantem constante, mesmo para grandes taxas de chegadas de requisições

• Investigar os fatores que podem interferir no Cpi: pacotes de tamanhos diferentes 

• netperf, foi utilizado para gerar o tráfego;

Page 19: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

5.2. Overhead no IDD

• Podemos reparar que a Cpi  de chegada e saída aumenta com o tamanho o pacote. 

• Existe menos de uma interrupção por pacote quando pacotes são pequenos, assim diminuindo o Cpi 

• Cpi  media da carga de trabalho 1: 0.01195 ms/pacotes.

Page 20: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

5.3 Interferência entre VMs

Aumento de instruções (AI) - aumento no IC (I executadas)

Dilatação da instrução (DI) - aumento no CPIInterferencia (I) é qualquer aumento no tempo de CPU

(a) I - 3,19% DI - 3% AI 0,32%

Page 21: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

6. Estudo de Caso e Validação do Modelo

• Determinado empiricamente oSi

k       Cpi        Pik         Ncpu

• Obtido pelo modeloo λ1max= 7.699  (ponto de saturação)oDemanda e Utilização

Page 22: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

7. Conclusão e Trabalhos Futuros

• Os autores do artigo concluem que este foi o primeiro trabalho que teve como proposta inicial a avaliação de desempenho de aplicações em ambiente virtual e validação com experimentação.

• A avaliação de desempenho apresentada neste artigo é possível mostrar que o overhead de virtualização aumenta quando as máquinas virtuais compartilham a mesma CPU.

• Esse overhead extra que foi calculado não é contabilizado por modelos analíticos, nem por escalonadores e acredita-se que com esta descoberta os modelos analíticos criados poderiam ser melhorados e direcionados para diminuir o custo da virtualização cada vez mais.

Page 23: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

7. Conclusão e Trabalhos Futuros

• Nos trabalhos futuros, os autores deixam como proposta a validação do modelo deles para outras cargas de trabalho.

• Utilizar outros ambientes  virtuais e desenvolver uma ferramenta que utiliza o modelo proposto por eles.

Page 24: Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual

Medindo e Modelando o Desempenhode Aplicações em um

Ambiente Virtual

Edicarlos, Gustavo, Rafael, Tadeu

Dúvidas?