SlideShare uma empresa Scribd logo
1 de 51
Baixar para ler offline
Mecanismos para consolidação de servidores
Max Rosan dos Santos Júnior
<maxrosan@ime.usp.br>
Orientador: Prof. Dr. Daniel Macêdo Batista
Instituto de Matemática e Estatística
Universidade de São Paulo
31 de março de 2014
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Sumário
1 Introdução
Problema
Consolidação de servidores
Objetivos
2 Motivação para uso da virtualização
Motivação
Ferramentas
Resultados
3 Algoritmo
Introdução
Heurística
Modelo
Programação Linear
4 Conclusão
Conclusão
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Problema
Consolidação de servidores
Objetivos
Problema
Houve um crescimento no número e na complexidade de
serviços na nuvem.
Jogos (OnLive [2013]), armazenamento de arquivos
(Dropbox), edição e formatação de texto (Google [2014]), etc.
Passaram a exigir uma quantidade maior de recursos dos CPDs
(Centro de Processamento de Dados).
Os CPDs, para cumprir a demanda, cresceram bastante em
termos de infraestrutura, com um número cada vez maior de
servidores (ou máquinas físicas).
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Problema
Consolidação de servidores
Objetivos
Problema
Inevitavelmente, o crescimento dos CPDs também aumentou
bastante o custo energético para mantê-los.
Grande parte do custo energético dos CPDs é atribuída aos
servidores neles instalados.
Notou-se então que havia um subuso nos servidores. Em 2008,
Vogels [2008] já relatava que o uso dos servidores das grandes
empresas de TI ficavam em torno de 15% a 20% das suas
capacidades.
Google, em 2013, revelou por meio um monitoramento de 3
meses de alguns dos servidores um uso de 10 a 50% de suas
capacidades.
O custo energético de um servidor ocioso ainda é alto.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Problema
Consolidação de servidores
Objetivos
Problema
O baixo uso dos servidores pode ser causado por diversos
fatores:
Falta de balanceamento adequado de carga computacional;
Servidores dedicados a determinados serviços;
Imprevisibilidade do uso dos servidores;
etc.
Esses fatores causam o espalhamento inadequado de
aplicações/serviços pelos servidores.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Problema
Consolidação de servidores
Objetivos
Consolidação de servidores
Uma das formas de tentar fazer o uso mais eficiente é realizar
a consolidação:
Por meio da virtualização;
Ou por meio das aplicações.
A segunda opção pode não assegurar o isolamento.
Problema com os serviços/aplicações dependentes de
plataforma.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Problema
Consolidação de servidores
Objetivos
Figura: Servidores dedicados.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Problema
Consolidação de servidores
Objetivos
Figura: Migra os serviços para máquinas virtuais.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Problema
Consolidação de servidores
Objetivos
Figura: Consolidação por meio da virtualização.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Problema
Consolidação de servidores
Objetivos
O primeiro passo para a consolidação é realizar a migração dos
serviços para máquinas virtuais.
O segundo o passo é fazer uma alocação de servidores para
rodar as máquinas virtuais.
Surge então o problema de como alocar os servidores para as
máquinas virtuais.
Os contratos devem ser obedecidos pelos servidores.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Problema
Consolidação de servidores
Objetivos
A alocação de servidores pode ser estática ou dinâmica.
A alocação dinâmica não é custosa hoje em dia graça ao live
migration (Clark et al. [2005]).
O problema da alocação foi modelado em vários trabalhos
como um problema de bin packing.
É possível ter outra abordagem ?
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Problema
Consolidação de servidores
Objetivos
Principal:
Propor uma heurística alternativa para realizar a consolidação
de servidores.
Os objetivos secundários são:
Desenvolver um modelo para estimar o consumo de energia em
um CPD;
Verificar como é afetado o desempenho de serviços executados
em MVs;
Verificar o consumo de energia de um servidor com e sem MVs.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Motivação
Ferramentas
Resultados
É interessante usar a virtualização?
O uso da virtualização pode introduzir um overhead no uso
dos recursos das máquinas físicas.
Dependendo do overhead, pode haver um consumo maior de
energia ou mesmo quebra nos contratos dos serviços.
A fim de motivar o uso da virtualização para a consolidação e
mostrar que esse overhead é pequeno se comparado à
economia de energia que se tem, foram realizados diversos
experimentos de estresse de uma máquina física, com e sem
máquinas virtuais.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Motivação
Ferramentas
Resultados
Máquina física:
CPU: Intel i7-3610QM (4 núcleos reais mais 4 núcleos
virtuais);
Frequência de operação: 2,3 GHz até 3,3 GHz;
Memória RAM: 8 GB;
Disco rígido: 750 GB - 5.400rpm;
Sistema operacional: Linux Fedora 18 x64.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Motivação
Ferramentas
Resultados
Máquina virtual:
vCPU: 1;
Memória: 512 MB;
Disco Rígido: 1 GB;
Arquitetura emulada: i386;
Sistema operacional: Ubuntu 12.04.2 LTS.
Até 12 máquinas virtuais foram utilizadas.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Motivação
Ferramentas
Resultados
Ferramentas utilizadas para mensurar o desempenho:
sysbench: Forçar o uso da CPU e da memória;
cpulimit: Limitar o uso de CPU a um determinado percentual;
qemu c/ kvm: Emulador com aceleração para tradução das
intruções;
libvirt: Hypervisor.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Motivação
Ferramentas
Resultados
Ferramentas utilizadas para mensurar o consumo:
Wattímetro digital simples;
Câmera digital para filmar o visor do wattímetro;
FFMpeg: Amostrar a filmagem;
SSOcr: Para extrair os valores de 7 segmentos dos frames.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Motivação
Ferramentas
Resultados
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Motivação
Ferramentas
Resultados
Figura: Utilização da CPU em função da quantidade de MVs
Comando: sysbench –test=cpu –cpu-max-prime=50000 run
Tempo médio pouco varia até usar os quatro núcleos.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Motivação
Ferramentas
Resultados
Figura: Vazão no acesso à memória RAM em função da quantidade de
MVs
Comando: sysbench –test=memory –memory-block-size=1M
–memory-total-size=10G run
Com 12 MVs, a vazão foi 27% menor. Com 4 MVs, foi 2%.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Motivação
Ferramentas
Resultados
Figura: Gráfico comparativo do consumo no processamento em um
servidor sem MV e um servidor com MV.
A diferença nas medições ficou em torno de 4 a 20%.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Motivação
Ferramentas
Resultados
Figura: Consumo de energia de 2 máquinas físicas versus consumo de
energia do servidor com 2 MVs em função do tempo (estimativa)
É possível notar que há diferença considerável entre os dois
consumos.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Motivação
Ferramentas
Resultados
Figura: Consumo de energia do servidor com várias MVs (até 12) em
função do tempo.
Boot é um processo custoso. O consumo aumenta de maneira
significativa até 4 MVs.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Motivação
Ferramentas
Resultados
Figura: Consumo de energia real do servidor versus regressão linear em
função da porcentagem de uso de CPUs
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Motivação
Ferramentas
Resultados
Figura: Consumo de energia em função do uso da memória
As mudanças nos padrões de acesso influenciam mais
( Hicks et al. [1997]).
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Motivação
Ferramentas
Resultados
A virtualização causa um pequeno overhead no uso dos
recursos e, consequetemente, um pequeno acréscimento no
consumo de energia, se comparado ao uso da máquina física
sem virtualização.
Por o overhead ser pequeno, pode ser vantajoso o uso da
virtualização.
Em cenários de ociosidade, a virtualização permite uma
economia maior de energia.
É preciso mapear as máquinas virtuais para os servidores de
forma a não quebrar os contratos.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
Dos resultados anteriores, é possível ver que a virtualização é
vantajosa se houver uma alocação adequada dos servidores.
Se pensar no problema envolvendo todos os servidores e as
máquinas virtuais, o problema da alocação é de minimização.
Se considerar cada servidor de forma individual, e que a forma
de fazer minimizar o número de servidores é maximizar o
número de máquinas virtuais nos servidores com mais recursos,
há então um problema de maximização para cada servidor.
Foi considerando essa hipótese que o problema da alocação foi
aqui modelado como um Problema da Mochila.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
Surgiu então outra questão: tentar consolidar maximizando o
uso dos recursos de servidores com maior poder computacional
de fato economiza energia?
Como comparar a heurística proposta aqui com outras
propostas em outros trabalhos?
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
Foram desenvolvidos então:
Trace de um workload do Google para representar um cenário
de um CPD próximo do real.
Simulador simples de evento discreto baseado nesse trace.
Um modelo, com base nos resultados dos experimentos, para
calcular o consumo de energia dos servidores alocados pelos
algoritmos.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
Problema da alocação de servidores como Problema da
Mochila:
Máquina virtual como item.
Servidor como mochila.
Ganho associado a cada máquina virtual.
Recursos considerados: CPU e memória (valores
normalizados).
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
Toyoda [1975] propôs uma algoritmo para resolver grandes
instâncias do Problema da Mochila com mais de uma
dimensão.
Não usa enumeração. Menor complexidade temporal para
instâncias grandes.
Para lidar com mais de uma dimensão, Toyoda define uma
penalidade associada a cada objeto.
Exemplo:
Mochila tem como recursos: (1.0, 1.0);
Já foi utilizado: Pu = (0.6, 0.3);
Dois itens com o mesmo ganho: P1 = (0.1, 0.4) e
P2 = (0.4, 0.1).
Qual colocar?
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
Solução:
P1 vai usar mais do recurso dois, vai balancear mais o uso da
mochila;
P1 deve ter prioridade sobre P2;
Pode ser calculado usando produto interno: P1 . Pu = 0.18 e
P2 . Pu = 0.27.
Pu é o vetor de penalidade.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
A prioridade de um item i é dada por Gi = Ki
Ui
.
Ui = Pi . Pu
|Pu| .
Ki é o ganho associado ao item i.
Pu muda a cada iteração sobre os itens não selecionados ainda
para mochila.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
Antes de usar a heurística, é necessário ordenar as máquinas
virtuais e os servidores em ordem decrescente.
Servidores com mais recursos computacionais devem ter maior
prioridade em receber as máquinas virtuais.
Máquinas virtuais que usam mais recursos devem ter maior
prioridade.
A prioridade de um servidor e de uma MV é dada por:
(cpu)2 + (mem)2.
O ganho de uma MV é dado por max(cpu, mem).
Essas funções apresentaram os melhores resultados para o
trace do Google.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
Foi necessário fazer processamento com threads.
Apesar da heurística do Toyoda ser para instâncias grandes, há
um volume grande de dados no trace do Google.
Após a ordenação, as listas de servidores e MVs são divididas e
distribuidas entre as threads.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
Os valores das tarefas no trace do Google foram amostrados a
cada 300 segundos.
Com base nisso, os algoritmos para fazer a realocação dos
servidores são chamados a cada 300 segundos simulados.
Intervalo de 300 segundos simulados = 1 rodada.
Os comparativos foram construídos usando "rodada" como
unidade de tempo.
First Fit Decreasing (FFD) vs. Toyoda-based Algorithm For
Server Consolidation (TASC)
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
Figura: Total de tarefas em função do tempo
119131 MVs por rodada.
3756 MVs novas chegam em cada rodada.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
Figura: Número de servidores em função do tempo
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
Figura: Servidores utilizados ao longo do tempo
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
Figura: Número de migrações das heurísticas
Em média, o TASC provocou 5053 migrações a menos que o
FFD.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
O número de servidores utilizados pode não ser parâmetro
suficiente para afirmar que há de fato um menor consumo de
energia.
Mesmo o número de migrações pode pouco falar sobre o
consumo de energia.
Foi desenvolvido um modelo para calcular o consumo de
energia com base nos experimentos com consumo.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
Seja x o uso da CPU.
g(x) =
1, 5 + 3, 9x, se x ≤ 0, 25,
2, 05 + 1, 8x, caso contrário.
(1)
Won(x) =
1, 5 se x ≤ 0, 25,
2, 05 caso contrário.
(2)
Wcpu(x) =
3, 9 se x ≤ 0, 25,
1, 8 caso contrário.
(3)
E(x) = Won(x) + xWcpu(x)x (4)
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
Figura: Consumo de energia das heurísticas (Bezier)
Em média, o TASC faz o consumo por rodada ser 6125 Wh a
menos que o FFD.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
O TASC se baseia na hipótese que maximizando o uso dos
servidores com mais recursos, há a consolidação e uma
redução de energia.
Maximizando o uso, de fato há economia?
Para verificar quão distante o TASC ficaria de uma abordagem
exata baseada no consumo, o modelo para cálculo de energia
foi modificado para ser um problema de Programação Linear.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
min
j∈Macs
zj Won +



i∈Tasks
xij



Ct
i
Cs
j
Wcpu + yij Wmig





 (5)
∀j ∈ Macs ,


i∈Tasks
xij C
t
i

 − zj C
s
j ≤ 0 (6)
∀j ∈ Macs ,


i∈Tasks
xij M
t
i

 − zj M
s
j ≤ 0 (7)
∀i ∈ Tasks ,
j∈Macs
xij = 1 (8)
∀i ∈ Tasks ∀j ∈ Macs , 0 ≤ xij ≤ 1 (9)
∀j ∈ Macs , 0 ≤ zj ≤ 1 (10)
∀i ∈ Tasks ∀j ∈ Macs , xij ∈ Z (11)
∀j ∈ Macs , zj ∈ Z (12)
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
O CPLEX foi utilizado para resolver a Programação Linear.
Um problema de Programação Linear foi construído a cada
rodada no simulador, com base nos resultados da rodada
anterior.
Não foi utilizado o trace do Google. Foi construído um trace
com valores aleatórios para as máquinas virtuais.
Foi utilizado um valor constante para os servidores.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
Número de MVs Número de servidores TASC Exato
10 10 313,32 Wh 261,12 Wh
20 20 611,65 Wh 516,36 Wh
30 30 871,01 Wh 724,71 Wh
40 40 1204,93 Wh 998,30 Wh
50 50 1519,93 Wh 1258,10 Wh
Tabela: Total de energia consumida de acordo com a alocação de cada
algoritmo
Em média o TASC retornou alocações que consumiram 20%
mais energia do que as alocações retornadas pelo algoritmo
exato.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
Número de MVs Número de servidores TASC Exato
10 10 73 21
20 20 145 49
30 30 208 74
40 40 304 107
50 50 387 136
Tabela: Número de migrações de acordo com a alocação de cada
algoritmo
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Introdução
Heurística
Modelo
Programação Linear
Número de MVs Número de servidores TASC Exato
10 10 0,00075s 7,82s
20 20 0,00208s 8,1s
30 30 0,00348s 9,14s
40 40 0,00558s 18,23s
50 50 0,00795s 16,67s
Tabela: Tempo médio para execução de cada algoritmo
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Conclusão
Para o trace do Google, o TASC apresentou melhores
alocações do que o FFD implementado.
Menor número de servidores utilizados;
Menor número de migrações;
Menor consumo de energia.
TASC pode ser utilizado com grandes instâncias.
Programação Linear baseado no modelo retorna melhores
resultados para instâncias pequenas.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
Introdução
Motivação para uso da virtualização
Algoritmo
Conclusão
Referências
Referências
Clark et al.(2005) C. Clark et al. Live migration of virtual machines. Em Proceedings of the 2nd conference on
Symposium on Networked Systems Design & Implementation-Volume 2, páginas 273–286. USENIX
Association.
Dropbox() Dropbox. Dropbox - Sobre o Dropbox. https://www.dropbox.com/about. Acessado em 12/3/2014.
Google(2014) Google. Google Docs, Planilhas e Apresentacoes do Google - Ajuda do Drive, 2014.
https://support.google.com/drive/answer/49008?hl=pt-BR. Acessado em 12/3/2014.
Hicks et al.(1997) P. Hicks, M. Walnock e R. M. Owens. Analysis of power consumption in memory hierarchies.
Em Proceedings of the 1997 International Symposium On Low Power Electronics and Design, páginas
239–242. ACM.
OnLive(2013) OnLive. OnLive Background, 2013. https://www.onlive.com/about. Acessado em 12/3/2014.
Toyoda(1975) Y. Toyoda. A simplified algorithm for obtaining approximate solutions to zero-one programming
problems. Management Science, 21(12):1417–1427.
Vogels(2008) W. Vogels. Beyond server consolidation. Queue, 6(1):20–26.
Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores

Mais conteúdo relacionado

Semelhante a Consolidação servidores heurística virtualização

Riscos de segurança em cloud computing - Parte 4
Riscos de segurança em cloud computing - Parte 4Riscos de segurança em cloud computing - Parte 4
Riscos de segurança em cloud computing - Parte 4Fristtram Helder Fernandes
 
Tema 10 Automação Da Engenharia
Tema 10   Automação Da EngenhariaTema 10   Automação Da Engenharia
Tema 10 Automação Da Engenhariabruno2003sp
 
2 trabalho cloud
2 trabalho cloud2 trabalho cloud
2 trabalho cloudivansb
 
[ServiceNow] Visão geral da plataforma
[ServiceNow] Visão geral da plataforma[ServiceNow] Visão geral da plataforma
[ServiceNow] Visão geral da plataformaAlessandro Almeida
 
DevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwareDevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwarePaulo Lacerda
 
Rio Info 2009 Reducao de Custos - Danilo Bordini
Rio Info 2009 Reducao de Custos - Danilo BordiniRio Info 2009 Reducao de Custos - Danilo Bordini
Rio Info 2009 Reducao de Custos - Danilo BordiniRio Info
 
Teste Contínuo de Integração e Virtualização de Serviços
Teste Contínuo de Integração e Virtualização de ServiçosTeste Contínuo de Integração e Virtualização de Serviços
Teste Contínuo de Integração e Virtualização de ServiçosRationalBrasil
 
A jornada para a computação unificada
A jornada para a computação unificadaA jornada para a computação unificada
A jornada para a computação unificadaCisco do Brasil
 
Agenda final 13a. conferencia anual do CMG Brasil
Agenda final 13a. conferencia anual do CMG BrasilAgenda final 13a. conferencia anual do CMG Brasil
Agenda final 13a. conferencia anual do CMG BrasilJoao Galdino Mello de Souza
 
9.cloud computing v3.1_wl_stv
9.cloud computing v3.1_wl_stv9.cloud computing v3.1_wl_stv
9.cloud computing v3.1_wl_stvwilson_lucas
 
Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1Jonathan Baraldi
 
[Workshop] Azure Fundamentals
[Workshop] Azure Fundamentals[Workshop] Azure Fundamentals
[Workshop] Azure FundamentalsJaqueline Ramos
 
Artigo_Thiago_Lenz_versao2.3-Final
Artigo_Thiago_Lenz_versao2.3-FinalArtigo_Thiago_Lenz_versao2.3-Final
Artigo_Thiago_Lenz_versao2.3-Finalthiago.lenz
 

Semelhante a Consolidação servidores heurística virtualização (20)

Riscos de segurança em cloud computing - Parte 4
Riscos de segurança em cloud computing - Parte 4Riscos de segurança em cloud computing - Parte 4
Riscos de segurança em cloud computing - Parte 4
 
Tema 10 Automação Da Engenharia
Tema 10   Automação Da EngenhariaTema 10   Automação Da Engenharia
Tema 10 Automação Da Engenharia
 
2 trabalho cloud
2 trabalho cloud2 trabalho cloud
2 trabalho cloud
 
[ServiceNow] Visão geral da plataforma
[ServiceNow] Visão geral da plataforma[ServiceNow] Visão geral da plataforma
[ServiceNow] Visão geral da plataforma
 
DevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwareDevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de Software
 
Rio Info 2009 Reducao de Custos - Danilo Bordini
Rio Info 2009 Reducao de Custos - Danilo BordiniRio Info 2009 Reducao de Custos - Danilo Bordini
Rio Info 2009 Reducao de Custos - Danilo Bordini
 
Teste Contínuo de Integração e Virtualização de Serviços
Teste Contínuo de Integração e Virtualização de ServiçosTeste Contínuo de Integração e Virtualização de Serviços
Teste Contínuo de Integração e Virtualização de Serviços
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
A jornada para a computação unificada
A jornada para a computação unificadaA jornada para a computação unificada
A jornada para a computação unificada
 
presentation
presentationpresentation
presentation
 
Microsoft Workloads em Amazon Web Services
Microsoft Workloads em Amazon Web ServicesMicrosoft Workloads em Amazon Web Services
Microsoft Workloads em Amazon Web Services
 
Agenda final 13a. conferencia anual do CMG Brasil
Agenda final 13a. conferencia anual do CMG BrasilAgenda final 13a. conferencia anual do CMG Brasil
Agenda final 13a. conferencia anual do CMG Brasil
 
9.cloud computing v3.1_wl_stv
9.cloud computing v3.1_wl_stv9.cloud computing v3.1_wl_stv
9.cloud computing v3.1_wl_stv
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1
 
Linux ad
Linux adLinux ad
Linux ad
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
[Workshop] Azure Fundamentals
[Workshop] Azure Fundamentals[Workshop] Azure Fundamentals
[Workshop] Azure Fundamentals
 
Artigo_Thiago_Lenz_versao2.3-Final
Artigo_Thiago_Lenz_versao2.3-FinalArtigo_Thiago_Lenz_versao2.3-Final
Artigo_Thiago_Lenz_versao2.3-Final
 

Consolidação servidores heurística virtualização

  • 1. Mecanismos para consolidação de servidores Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Orientador: Prof. Dr. Daniel Macêdo Batista Instituto de Matemática e Estatística Universidade de São Paulo 31 de março de 2014
  • 2. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Sumário 1 Introdução Problema Consolidação de servidores Objetivos 2 Motivação para uso da virtualização Motivação Ferramentas Resultados 3 Algoritmo Introdução Heurística Modelo Programação Linear 4 Conclusão Conclusão Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 3. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Problema Consolidação de servidores Objetivos Problema Houve um crescimento no número e na complexidade de serviços na nuvem. Jogos (OnLive [2013]), armazenamento de arquivos (Dropbox), edição e formatação de texto (Google [2014]), etc. Passaram a exigir uma quantidade maior de recursos dos CPDs (Centro de Processamento de Dados). Os CPDs, para cumprir a demanda, cresceram bastante em termos de infraestrutura, com um número cada vez maior de servidores (ou máquinas físicas). Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 4. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Problema Consolidação de servidores Objetivos Problema Inevitavelmente, o crescimento dos CPDs também aumentou bastante o custo energético para mantê-los. Grande parte do custo energético dos CPDs é atribuída aos servidores neles instalados. Notou-se então que havia um subuso nos servidores. Em 2008, Vogels [2008] já relatava que o uso dos servidores das grandes empresas de TI ficavam em torno de 15% a 20% das suas capacidades. Google, em 2013, revelou por meio um monitoramento de 3 meses de alguns dos servidores um uso de 10 a 50% de suas capacidades. O custo energético de um servidor ocioso ainda é alto. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 5. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Problema Consolidação de servidores Objetivos Problema O baixo uso dos servidores pode ser causado por diversos fatores: Falta de balanceamento adequado de carga computacional; Servidores dedicados a determinados serviços; Imprevisibilidade do uso dos servidores; etc. Esses fatores causam o espalhamento inadequado de aplicações/serviços pelos servidores. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 6. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Problema Consolidação de servidores Objetivos Consolidação de servidores Uma das formas de tentar fazer o uso mais eficiente é realizar a consolidação: Por meio da virtualização; Ou por meio das aplicações. A segunda opção pode não assegurar o isolamento. Problema com os serviços/aplicações dependentes de plataforma. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 7. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Problema Consolidação de servidores Objetivos Figura: Servidores dedicados. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 8. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Problema Consolidação de servidores Objetivos Figura: Migra os serviços para máquinas virtuais. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 9. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Problema Consolidação de servidores Objetivos Figura: Consolidação por meio da virtualização. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 10. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Problema Consolidação de servidores Objetivos O primeiro passo para a consolidação é realizar a migração dos serviços para máquinas virtuais. O segundo o passo é fazer uma alocação de servidores para rodar as máquinas virtuais. Surge então o problema de como alocar os servidores para as máquinas virtuais. Os contratos devem ser obedecidos pelos servidores. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 11. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Problema Consolidação de servidores Objetivos A alocação de servidores pode ser estática ou dinâmica. A alocação dinâmica não é custosa hoje em dia graça ao live migration (Clark et al. [2005]). O problema da alocação foi modelado em vários trabalhos como um problema de bin packing. É possível ter outra abordagem ? Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 12. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Problema Consolidação de servidores Objetivos Principal: Propor uma heurística alternativa para realizar a consolidação de servidores. Os objetivos secundários são: Desenvolver um modelo para estimar o consumo de energia em um CPD; Verificar como é afetado o desempenho de serviços executados em MVs; Verificar o consumo de energia de um servidor com e sem MVs. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 13. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Motivação Ferramentas Resultados É interessante usar a virtualização? O uso da virtualização pode introduzir um overhead no uso dos recursos das máquinas físicas. Dependendo do overhead, pode haver um consumo maior de energia ou mesmo quebra nos contratos dos serviços. A fim de motivar o uso da virtualização para a consolidação e mostrar que esse overhead é pequeno se comparado à economia de energia que se tem, foram realizados diversos experimentos de estresse de uma máquina física, com e sem máquinas virtuais. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 14. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Motivação Ferramentas Resultados Máquina física: CPU: Intel i7-3610QM (4 núcleos reais mais 4 núcleos virtuais); Frequência de operação: 2,3 GHz até 3,3 GHz; Memória RAM: 8 GB; Disco rígido: 750 GB - 5.400rpm; Sistema operacional: Linux Fedora 18 x64. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 15. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Motivação Ferramentas Resultados Máquina virtual: vCPU: 1; Memória: 512 MB; Disco Rígido: 1 GB; Arquitetura emulada: i386; Sistema operacional: Ubuntu 12.04.2 LTS. Até 12 máquinas virtuais foram utilizadas. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 16. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Motivação Ferramentas Resultados Ferramentas utilizadas para mensurar o desempenho: sysbench: Forçar o uso da CPU e da memória; cpulimit: Limitar o uso de CPU a um determinado percentual; qemu c/ kvm: Emulador com aceleração para tradução das intruções; libvirt: Hypervisor. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 17. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Motivação Ferramentas Resultados Ferramentas utilizadas para mensurar o consumo: Wattímetro digital simples; Câmera digital para filmar o visor do wattímetro; FFMpeg: Amostrar a filmagem; SSOcr: Para extrair os valores de 7 segmentos dos frames. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 18. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Motivação Ferramentas Resultados Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 19. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Motivação Ferramentas Resultados Figura: Utilização da CPU em função da quantidade de MVs Comando: sysbench –test=cpu –cpu-max-prime=50000 run Tempo médio pouco varia até usar os quatro núcleos. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 20. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Motivação Ferramentas Resultados Figura: Vazão no acesso à memória RAM em função da quantidade de MVs Comando: sysbench –test=memory –memory-block-size=1M –memory-total-size=10G run Com 12 MVs, a vazão foi 27% menor. Com 4 MVs, foi 2%. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 21. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Motivação Ferramentas Resultados Figura: Gráfico comparativo do consumo no processamento em um servidor sem MV e um servidor com MV. A diferença nas medições ficou em torno de 4 a 20%. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 22. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Motivação Ferramentas Resultados Figura: Consumo de energia de 2 máquinas físicas versus consumo de energia do servidor com 2 MVs em função do tempo (estimativa) É possível notar que há diferença considerável entre os dois consumos. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 23. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Motivação Ferramentas Resultados Figura: Consumo de energia do servidor com várias MVs (até 12) em função do tempo. Boot é um processo custoso. O consumo aumenta de maneira significativa até 4 MVs. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 24. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Motivação Ferramentas Resultados Figura: Consumo de energia real do servidor versus regressão linear em função da porcentagem de uso de CPUs Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 25. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Motivação Ferramentas Resultados Figura: Consumo de energia em função do uso da memória As mudanças nos padrões de acesso influenciam mais ( Hicks et al. [1997]). Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 26. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Motivação Ferramentas Resultados A virtualização causa um pequeno overhead no uso dos recursos e, consequetemente, um pequeno acréscimento no consumo de energia, se comparado ao uso da máquina física sem virtualização. Por o overhead ser pequeno, pode ser vantajoso o uso da virtualização. Em cenários de ociosidade, a virtualização permite uma economia maior de energia. É preciso mapear as máquinas virtuais para os servidores de forma a não quebrar os contratos. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 27. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear Dos resultados anteriores, é possível ver que a virtualização é vantajosa se houver uma alocação adequada dos servidores. Se pensar no problema envolvendo todos os servidores e as máquinas virtuais, o problema da alocação é de minimização. Se considerar cada servidor de forma individual, e que a forma de fazer minimizar o número de servidores é maximizar o número de máquinas virtuais nos servidores com mais recursos, há então um problema de maximização para cada servidor. Foi considerando essa hipótese que o problema da alocação foi aqui modelado como um Problema da Mochila. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 28. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear Surgiu então outra questão: tentar consolidar maximizando o uso dos recursos de servidores com maior poder computacional de fato economiza energia? Como comparar a heurística proposta aqui com outras propostas em outros trabalhos? Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 29. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear Foram desenvolvidos então: Trace de um workload do Google para representar um cenário de um CPD próximo do real. Simulador simples de evento discreto baseado nesse trace. Um modelo, com base nos resultados dos experimentos, para calcular o consumo de energia dos servidores alocados pelos algoritmos. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 30. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear Problema da alocação de servidores como Problema da Mochila: Máquina virtual como item. Servidor como mochila. Ganho associado a cada máquina virtual. Recursos considerados: CPU e memória (valores normalizados). Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 31. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear Toyoda [1975] propôs uma algoritmo para resolver grandes instâncias do Problema da Mochila com mais de uma dimensão. Não usa enumeração. Menor complexidade temporal para instâncias grandes. Para lidar com mais de uma dimensão, Toyoda define uma penalidade associada a cada objeto. Exemplo: Mochila tem como recursos: (1.0, 1.0); Já foi utilizado: Pu = (0.6, 0.3); Dois itens com o mesmo ganho: P1 = (0.1, 0.4) e P2 = (0.4, 0.1). Qual colocar? Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 32. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear Solução: P1 vai usar mais do recurso dois, vai balancear mais o uso da mochila; P1 deve ter prioridade sobre P2; Pode ser calculado usando produto interno: P1 . Pu = 0.18 e P2 . Pu = 0.27. Pu é o vetor de penalidade. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 33. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear A prioridade de um item i é dada por Gi = Ki Ui . Ui = Pi . Pu |Pu| . Ki é o ganho associado ao item i. Pu muda a cada iteração sobre os itens não selecionados ainda para mochila. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 34. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear Antes de usar a heurística, é necessário ordenar as máquinas virtuais e os servidores em ordem decrescente. Servidores com mais recursos computacionais devem ter maior prioridade em receber as máquinas virtuais. Máquinas virtuais que usam mais recursos devem ter maior prioridade. A prioridade de um servidor e de uma MV é dada por: (cpu)2 + (mem)2. O ganho de uma MV é dado por max(cpu, mem). Essas funções apresentaram os melhores resultados para o trace do Google. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 35. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear Foi necessário fazer processamento com threads. Apesar da heurística do Toyoda ser para instâncias grandes, há um volume grande de dados no trace do Google. Após a ordenação, as listas de servidores e MVs são divididas e distribuidas entre as threads. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 36. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear Os valores das tarefas no trace do Google foram amostrados a cada 300 segundos. Com base nisso, os algoritmos para fazer a realocação dos servidores são chamados a cada 300 segundos simulados. Intervalo de 300 segundos simulados = 1 rodada. Os comparativos foram construídos usando "rodada" como unidade de tempo. First Fit Decreasing (FFD) vs. Toyoda-based Algorithm For Server Consolidation (TASC) Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 37. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear Figura: Total de tarefas em função do tempo 119131 MVs por rodada. 3756 MVs novas chegam em cada rodada. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 38. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear Figura: Número de servidores em função do tempo Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 39. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear Figura: Servidores utilizados ao longo do tempo Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 40. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear Figura: Número de migrações das heurísticas Em média, o TASC provocou 5053 migrações a menos que o FFD. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 41. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear O número de servidores utilizados pode não ser parâmetro suficiente para afirmar que há de fato um menor consumo de energia. Mesmo o número de migrações pode pouco falar sobre o consumo de energia. Foi desenvolvido um modelo para calcular o consumo de energia com base nos experimentos com consumo. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 42. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear Seja x o uso da CPU. g(x) = 1, 5 + 3, 9x, se x ≤ 0, 25, 2, 05 + 1, 8x, caso contrário. (1) Won(x) = 1, 5 se x ≤ 0, 25, 2, 05 caso contrário. (2) Wcpu(x) = 3, 9 se x ≤ 0, 25, 1, 8 caso contrário. (3) E(x) = Won(x) + xWcpu(x)x (4) Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 43. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear Figura: Consumo de energia das heurísticas (Bezier) Em média, o TASC faz o consumo por rodada ser 6125 Wh a menos que o FFD. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 44. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear O TASC se baseia na hipótese que maximizando o uso dos servidores com mais recursos, há a consolidação e uma redução de energia. Maximizando o uso, de fato há economia? Para verificar quão distante o TASC ficaria de uma abordagem exata baseada no consumo, o modelo para cálculo de energia foi modificado para ser um problema de Programação Linear. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 45. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear min j∈Macs zj Won +    i∈Tasks xij    Ct i Cs j Wcpu + yij Wmig       (5) ∀j ∈ Macs ,   i∈Tasks xij C t i   − zj C s j ≤ 0 (6) ∀j ∈ Macs ,   i∈Tasks xij M t i   − zj M s j ≤ 0 (7) ∀i ∈ Tasks , j∈Macs xij = 1 (8) ∀i ∈ Tasks ∀j ∈ Macs , 0 ≤ xij ≤ 1 (9) ∀j ∈ Macs , 0 ≤ zj ≤ 1 (10) ∀i ∈ Tasks ∀j ∈ Macs , xij ∈ Z (11) ∀j ∈ Macs , zj ∈ Z (12) Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 46. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear O CPLEX foi utilizado para resolver a Programação Linear. Um problema de Programação Linear foi construído a cada rodada no simulador, com base nos resultados da rodada anterior. Não foi utilizado o trace do Google. Foi construído um trace com valores aleatórios para as máquinas virtuais. Foi utilizado um valor constante para os servidores. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 47. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear Número de MVs Número de servidores TASC Exato 10 10 313,32 Wh 261,12 Wh 20 20 611,65 Wh 516,36 Wh 30 30 871,01 Wh 724,71 Wh 40 40 1204,93 Wh 998,30 Wh 50 50 1519,93 Wh 1258,10 Wh Tabela: Total de energia consumida de acordo com a alocação de cada algoritmo Em média o TASC retornou alocações que consumiram 20% mais energia do que as alocações retornadas pelo algoritmo exato. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 48. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear Número de MVs Número de servidores TASC Exato 10 10 73 21 20 20 145 49 30 30 208 74 40 40 304 107 50 50 387 136 Tabela: Número de migrações de acordo com a alocação de cada algoritmo Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 49. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Introdução Heurística Modelo Programação Linear Número de MVs Número de servidores TASC Exato 10 10 0,00075s 7,82s 20 20 0,00208s 8,1s 30 30 0,00348s 9,14s 40 40 0,00558s 18,23s 50 50 0,00795s 16,67s Tabela: Tempo médio para execução de cada algoritmo Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 50. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Conclusão Para o trace do Google, o TASC apresentou melhores alocações do que o FFD implementado. Menor número de servidores utilizados; Menor número de migrações; Menor consumo de energia. TASC pode ser utilizado com grandes instâncias. Programação Linear baseado no modelo retorna melhores resultados para instâncias pequenas. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores
  • 51. Introdução Motivação para uso da virtualização Algoritmo Conclusão Referências Referências Clark et al.(2005) C. Clark et al. Live migration of virtual machines. Em Proceedings of the 2nd conference on Symposium on Networked Systems Design & Implementation-Volume 2, páginas 273–286. USENIX Association. Dropbox() Dropbox. Dropbox - Sobre o Dropbox. https://www.dropbox.com/about. Acessado em 12/3/2014. Google(2014) Google. Google Docs, Planilhas e Apresentacoes do Google - Ajuda do Drive, 2014. https://support.google.com/drive/answer/49008?hl=pt-BR. Acessado em 12/3/2014. Hicks et al.(1997) P. Hicks, M. Walnock e R. M. Owens. Analysis of power consumption in memory hierarchies. Em Proceedings of the 1997 International Symposium On Low Power Electronics and Design, páginas 239–242. ACM. OnLive(2013) OnLive. OnLive Background, 2013. https://www.onlive.com/about. Acessado em 12/3/2014. Toyoda(1975) Y. Toyoda. A simplified algorithm for obtaining approximate solutions to zero-one programming problems. Management Science, 21(12):1417–1427. Vogels(2008) W. Vogels. Beyond server consolidation. Queue, 6(1):20–26. Max Rosan dos Santos Júnior <maxrosan@ime.usp.br> Mecanismos para consolidação de servidores