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

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

Jun 05, 2015

Download

Technology

Rafael Reis

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.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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?