especificação de plataforma daas para laboratórios de informática
TRANSCRIPT
Especificação de
plataforma DaaS para
laboratórios de
informáticaBolsista: Demis Gomes
Orientador: Glauco Gonçalves
Roteiro
● Introdução
● Objetivos
● Especificação da Plataforma
● Avaliação da Plataforma
● Resultados
● Planejamento de capacidade
● Conclusão
● Trabalhos Futuros
● Atividades Restantes 2
Introdução
● O que é DaaS?
Envia comandos para o servidor
por mouse, teclado ou toque
Envia a tela modificada pelas
ações do usuário para o
cliente
PROTOCOLO
Características:
● Escalabilidade
● Redução do consumo
de energia
● Área de trabalho
virtual
● Segurança
Ainda é necessário
otimizar a
plataforma para ser
mais eficiente,
provendo bom
desempenhoÁrea de trabalho
executada no
servidor3
Objetivos
● Identificar as inovações técnicas necessárias;
● Especificar a arquitetura da plataforma;
● Desenvolver e/ou aperfeiçoar artefatos de software;
● Elaborar modelos matemático-computacionais que
descrevam o problema de alocação de recursos
existente na plataforma.
4
Especificação da plataforma
● Um DaaS pode ser disponibilizado ou na forma de VDI ou na forma de
sessão virtualizada[1]
● O que seriam estas duas opções? Qual a melhor para a plataforma?
client1
client2
VM
client
1
VM
client
2
client1
client2
VDI: Acesso a uma VM
hospedada no servidor
Sessão: Acessa o servidor por
meio de uma conta
5
Especificação da plataforma
A tabela abaixo mostra algumas características diferentes
entre VDI e Sessão virtualizada
Características VDI Sessão
Consumo de recursos Maior Menor
Custo Maior Menor
Administração Mais complexa Mais simples
Customização do Usuário Melhor Pior
Para nós, Sessão > VDI 6
Arquitetura da plataforma
Baseada em sessões, plataforma se divide em
cinco camadas, da mais lógica (superior) a
mais física (inferior).
7
Plataforma
Terminais: Dispositivos que acessam o
servidor
8
Plataforma
Serviços
● Boot Remoto: envia a imagem de
inicialização ao cliente e distribui IPs
● Administração: Permite administradores
configurarem o sistema
● Desktop Virtual: disponibiliza área de
trabalho e aplicações aos usuários
9
Plataforma
Gerência de nuvem
Compreende serviços lógicos da Nuvem,
importantes para manter a eficiência, como:
● Balanceamento de carga
● Migração e alocação de VMs
● Eficiência do consumo de energia
10
Plataforma
Virtualização e Armazenamento
● Virtualização: Camada que permite
virtualizar servidores e aplicações
● Armazenamento: estrutura capaz de salvar
as imagens das máquinas virtuais e acessá-
las rapidamente
11
Plataforma
Servidores/Dispositivos de Rede
Servidores físicos onde serão hospedados os
serviços da plataforma, além de dispositivos
como roteadores e switches para a
comunicação entre eles.
12
Plataforma
● Atualmente, certas funcionalidades foram
implementadas
13
O próximo passo é avaliá-la
Avaliando a plataforma
Dois experimentos foram realizados analisando
certas funcionalidades da plataforma:
13
1. Comparação entre VirtualBox e KVM
2. Análise da carga causada pela variação de 5 até 40 clientes
1
2
Experimento 1
Objetivo:
Comparar os hypervisors KVM e VirtualBox em
relação ao consumo de memória e CPU
Verificar se os resultados são semelhantes aos
de Opshal[2]
15
Experimento 1
Ferramenta de execução e avaliação automática
16
Gera VMs que executam tarefas
predefinidas [3]
o dstat coleta
informações do
servidor
Geram-se arquivos
csv com informações
desejadas
(qtdClientes, pctg_leve,pctg_pesado)
Experimento 1
17
Resultados - Exp. 1
Consumo de CPU no Application Server
Poucos valores
entre 30% e 70% de
consumo
Mais valores entre
30% e 70% de
consumo
Em relação a memória, os
resultados foram
semelhantes
18
Experimento 2
Objetivo:
Entender o comportamento do sistema quando
submetida a variação de carga entre 5 e 40
clientes
19
Experimento 2
Experimento:
20
Máquina física:
2 Xeon 2.40 GHz
64GB RAM
Root Server:
4 vCPUs
4GB RAM
App Server:
20 vCPUs
20GB RAM
Experimento 2
● Os passos executados foram semelhantes
ao experimento anterior
● A porcentagem de clientes pesados variava
entre 0%,25%,50%,75% e 100% em cada
número de clientes
21
Resultados - Exp. 2
Consumo de memória no AppServer
O consumo máximo
de memória tem um
comportamento
linear
22
Resultados - Exp. 2
Consumo de CPU no App Server Segundo[4], o sistema é
inaceitável ao usuário
quando deixa de
responder por mais de 5
segundos
No nosso caso, 95% de
consumo torna o sistema
irresponsivo
Abordagem do pico
sustentado: Coletamos
amostras que
ultrapassavam os 95% de
consumo em cinco
ocorrências consecutivas
23
Porcentagem de amostras acima do pico sustentado
Planejamento de capacidade*
c=capacidade do servidor
24
t1
t2
Se qtdClientes<c:
Aloca no
servidor
disponivel
Se não, um
novo servidor
virtual é criadocliente loga no
sistema e requisita
um servidor
Estimar a
probabilidade do
servidor estar cheio
e obter a média do
tempo de espera
Depois, o
inverso: estimar
a capacidade
dado um tempo
de espera
*Fase final de desenvolvimento
Conclusões
● A partir dos requisitos desejados, a plataforma melhor
se adequou a sessões
● O KVM, neste cenário, mostrou-se mais eficiente que o
VirtualBox, corroborando Opsahl[2]
● A CPU é um dos principais gargalos do sistema
● O consumo de memória apresenta um comportamento
linear
● Criação de ferramenta automática de avaliação
25
Atividades Restantes
● Finalizar o modelo matemático
● Realização de experimentos
complementares
● Escrita do relatório final
26
Trabalhos Futuros
● Analisar a QoE do usuário
● Finalizar a criação da plataforma
especificada
27
Agradecimentos
● FACEPE
● Meu orientador e co-orientador
28
Referências
[1]S. Dernbecher, R. Beck, and M. Toenker, “Cloudifying Desktops–A Taxonomy for
Desktop Virtualization,” 2013.
[2]J. M. G. Opsahl, “Open-source virtualization: Functionality and performance of
Qemu/KVM, Xen, Libvirt and VirtualBox,” 2013.
[3]A. R. Shabaitah, “Server-Based Desktop Virtualization,” Rochester Institute of
Technology, 2014.
[4]Tolia, Niraj, David G. Andersen, and Mahadev Satyanarayanan. "Quantifying
interactive user experience on thin clients." Computer 39.3 (2006): 46-52.29
Tabelas de consumo - Exp. 1
30
Modelagem matemática
Probabilidade de um servidor estar ocupado
onde p0:
31
Modelagem matemática
A hiperexponencial se adequa ao modelo
Quando o servidor está cheio, ele tem probabilidade p.
Se não, 1-p.
Se está cheio, ele espera um tempo alto (λ1) devido a
criação e disponibilização do servidor. Se não, é
imediatamente alocado e espera um tempo (λ2) bem
menor. Logo, a esperança de (x) é:
E(X)=p/λ1 + (1-p)/λ2
32
Fluxo de execução dos clientes
Leve
33
Fluxo de execução dos clientes
Pesado
34
Simulador do modelo (1ª versão)
35
T<
MáxRelógio
?
Capacidade,
T Máx.Relógio,
T1,T2,Λ,μ
Programa
evento de
chegada
Checa
evento
Atualiza
relógio para o
tempo do
evento
Servidores
cheios?
Capacidade
servidor =
máx?
Programa
evento de
espera de
alocação
Programa evento
de espera de
criação de um
novo servidor
Desaloca
cliente do
servidor
Adiciona
o evento
na fila
Adiciona
o evento
na fila
Desliga
servidor
Salva o tempo
de espera do
cliente
Programa
evento de
permanência
Calcula o
tempo médio
de espera
INÍCIO
FIM
1
0
0
1
1
0
chegada permanência
espera
Analisa o
tempo do
1° evento
da fila
Simulador do modelo (2ª versão)
36
Capacidade,
T Máx.Relógio,
Λ,μ
Programa
evento de
chegada
Checa
evento
Atualiza
relógio para o
tempo do
evento
Servidores
cheios?
Programa evento
de espera – o
cliente é alocado
imediatamente
Põe o cliente
na fila de
espera
Desaloca
cliente do
servidor
Adiciona
o evento
na fila
Adiciona
o evento
na fila
Desliga
servidor
Salva o tempo
de espera do
cliente
Programa
evento de
permanência
Calcula o
tempo médio
de espera
INÍCIO
FIM
1
0
0
1
1
0
chegada
permanênciaespera
Analisa o
tempo do
1° evento
da fila
A fila tem
clientes?
Aloca o 1°
cliente da fila
de espera no
servidor
T<
MáxRelógio
?
Capacidade
servidor =
máx?
1
0