Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
-
Upload
rafael-reis -
Category
Technology
-
view
338 -
download
4
description
Transcript of 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
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.
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.
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
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.
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
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
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
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
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
• A demanda de CPU do IDD
• Utilização de CPU do IDD
• Residência médio no IDD
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.
• 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.
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:
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
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.
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.
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;
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.
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%
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
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.
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.
Medindo e Modelando o Desempenhode Aplicações em um
Ambiente Virtual
Edicarlos, Gustavo, Rafael, Tadeu
Dúvidas?