Análise de Performabilidade de Aplicação I/O Bound em Cluster de

Transcrição

Análise de Performabilidade de Aplicação I/O Bound em Cluster de
Pós-graduação em Ciência da Computação
Princípios e Técnicas da Análise Estatística Experimental
Análise de Performabilidade de aplicação I/O Bound em um Cluster de Sistemas
Operacionais baseado em Containers
Erico Augusto C. Guedes <[email protected]>
Estêvão Chaves Monteiro <[email protected]>
Roteiro
1. Justificativa
2. Introdução
3. Objetivos
4. Experimento
4.1. Fase 1
4.1.1. Análise Exploratória
4.1.2. Conclusões
4.2. Fase 2
4.2.1. Análise Exploratória
4.2.3. Testes de Aderência
4.2.2. Conclusões
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
2/34
1. Justificativa
●
Utilizar aspectos da computação em nuvem [NIST, 2011]:





●
●
On-demand self-service
Broad network access
Resource pooling
Rapid elasticity
Measured service
Explorar maneiras de utilizar esses aspectos para o
fornecimento de serviços de rede
Prover serviço de rede em cluster, caracterizados como I/O
bound, e averiguar disponibilidade e desempenho dos serviços

comparação do serviço fornecido com computação em nuvem e sem
computação em nuvem
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
3/34
2. Introdução
●
Virtualização
►
Abstração do hardware

►
Tecnologia que alicerça a computação em nuvem
Virtual Machines

Otimizam a utilização dos recursos de hardware,
reduzindo o grau de ociosidade destes recursos
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
4/34
2. Introdução
●
Serviço Analisado:
►
Web Proxy Cache Cluster – Squid 3.1
► Serviço I/O bound
►
Amplamente customizáveis:
●
Arquitetura
Hierárquica
Mesh
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
5/34
2. Introdução
●
Serviço Analisado – Web Proxy Cache
►
Amplamente customizáveis:
Protocolo Inter-cache:

ICP – Internet Caching Protocol

HTCP – Hypertext Cache Protocol

CARP – Cache Array Routing Protocol

Cache Digest
● Políticas de substituição
 LRU – Least Recently Used
 LFU – Least Frequenlty Used
 GDS – Greedy Dual Size
●
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
6/34
3. Objetivo
Determinar se há perda de disponibilidade e
desempenho (performabilidade) quando o
serviço web proxy cache é fornecido em
ambientes virtualizados.
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
7/34
4. Experimento
●
Testbed
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
8/34
4. Experimento
●
Ambiente de Virtualização:
►
Container-based Operating System
Virtualization:


Host OS (Debian 7.1)

Container-based virtualization



Virtual Machines (Debian 7.1)
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
9/34
4. Experimento
●
Métricas de interesse:
►
Disponibilidade(A):
►
Hit Ratio(HR) (Desempenho)



Cache Hit: objeto está no cache
Cache Miss: objeto não está no cache
Hit Ratio: percetual de acesso a objetos que resulta em
cache hit
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
10/34
4. Experimento
●
Duas Fases:
1. Experimento fatorial fracionário exploratório (2 k-p)*
Fatores
Arquitetura
Protocolo
Inter-cache
Política de
Substituição
Realizado em
ambiente
sem
virtualização
Níveis
Hierárquica
Mesh
ICP
HTCP
CARP
Cache
Digest
GDS
LFU
LRU
heap LRU
* CARP não foi desenvolvido para arquitetura hierárquica
2. Experimento comparativo

De acordo com o observado na fase 1, configurar o
cenário com maior disponibilidade e desempenho para:


ambiente sem virtualização
ambiente com virtualização
Há perda?
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
11/34
4.1 - Fase 1
●
Coleta dos dados:
►
►
►
Período de execução para cada combinação dos
níveis de fatores: 1h
# da amostra → 3600
Log do Web-Polygraph (client-side)
000.02| i-FirstRound 394 393.98 200 17.51 0 100
009.32| i-FirstRound 121086 0.00 -1 -1.00 0 100
Falha
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
12/34
4.1.1 Análise Exploratória
●
Fase 1
► Disponibilidade
Na arquitetura
mesh, só não
foi observada
disponibilidade
total com o
protocolo CARP
Na arquitetura
hierárquica,
foi observada
disponibilidade
total apenas
com o protocolo
HTCP
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
13/34
4.1.1 Análise Exploratória
●
Fase 1 - Desempenho
Mesh
Hierárquica
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
14/34
4.1.2 Conclusões - Fase 1
●
Arquitetura Mesh:
►
Disponibilidade:
●
●
►
Política de substituição não é um fator relevante.
Apenas protocolo CARP não apresenta A = 100%
Desempenho:
●
●
Melhor desempenho para A = 100% se obtém com
protocolo ICP
Políticas de substituição equivalentes:
Política de Substituição
Hit Ratio
GDSF
47.22%
LFUDA
47.00%
LRU
46.61%
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
15/34
4.1.2 Conclusões - Fase 1
●
Arquitetura Hierárquica:
►
Disponibilidade:
●
►
Apenas protocolo HTCP não apresenta A = 100%
Desempenho:
●
Média de Hit Ratio para o protocolo HTCP:
Política de Substituição
Hit Ratio
GDSF
39.19%
LFUDA
37.80%
LRU
36.29%
Heap LRU
36.35%
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
16/34
4.1.2 Conclusões - Fase 1
●
Níveis de otimização dos fatores:
Fatores
Arquitetura
Protocolo
Inter-cache
Política de
Substituição
Níveis
Hierárquica
Mesh
ICP
HTCP
CARP
Cache
Digest
GDS
LFU
LRU
heap LRU
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
17/34
4.2 - Fase 2
●
Coleta de Dados
►
►
►
Período de execução para combinação estabelecida na fase 1: 80h
# da amostra → 288.000 (1 amostra por segundo)
Testes de normalidade no R limitam-se a conjuntos de dados de 5 mil valores.
● Solução: Subamostragem a cada 60: 288.000 / 60 = 4800 amostras.
●
►
►
Alternativa: Média a cada 60. Desnecessário?
Três populações→ 288.000
● Sem virtualizar HD (baseline)
●
HD Virtual bind-mounted
●
HD Virtual sobre sistema de arquivos de rede (NFS)
Disponibilidade:
Baseline
100%
NFS
99.9995%
Bind-mounted
99.9445%
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
18/34
4.2.1 Análise Exploratória
●
Desempenho
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
19/34
4.2.1 Análise Exploratória
●
Desempenho
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
20/34
4.2.1 Análise Exploratória
●
Desempenho
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
21/34
4.2.1 Análise Exploratória
●
Gráfico Quantil-Quantil da Normal: Baseline
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
22/34
4.2.1 Análise Exploratória
●
Gráfico Quantil-Quantil da Normal: Bind-Mounted
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
23/34
4.2.1 Análise Exploratória
●
Gráfico Quantil-Quantil da Normal: Subamostra do Bind-Mounted
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
24/34
4.2.1 Análise Exploratória
●
Gráfico Quantil-Quantil da Normal: NFS
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
25/34
4.2.1 Análise Exploratória
●
Resumo dos Dados
Baseline
Amostras
288.000
Bind-Mounted
4.800
288.000
4.800
NFS
288.000
4.800
Média
38,06820 38,08489 33,42976 33,40216 22,03257 22,02696
IC min
38,05029 37,94630 33,40917 33,24077 22,01919 21,92205
IC max
38,08612 38,22349 33,45034 33,56354 22,04596 22,13188
Máximo
62,50
59,14
100,00
100,00
44,39
40,32
Mínimo
5,56
20,92
-1,00
-1,00
0,00
10,34
4,904528 4,897924 5,637106 5,703357 3,664335
3,70767
Desvio
Padrão
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
26/34
4.2.2 Testes de Aderência
●
Testes de aderência à distribuição normal:
►
Shapiro-Wilk;
►
Pearson χ² *;
►
Lilliefors (Kolmogorov-Smirnov) *;
►
Cramver-von Mises*;
►
Anderson-Darling*.
●
* Pacote nortest no R.
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
27/34
4.2.2 Testes de Aderência
●
Testes de aderência à distribuição normal:
Todos os testes deram valor-p efêmero!
► P-value < 2.2e-16
► 2.2e-16 = 2,2 * 1016 = 0,00000000000000022
► É o menor valor de ponto flutuante possível!
► Em outras palavras, o limite do valor-p tende a
zero.
► De fato:
►
●
●
> t.test(b)$p.value
[1] 0
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
28/34
4.2.3 - Conclusões
●
Testes de aderência à distribuição normal:
►
O resultado é interessante porque os testes tem
hipóteses nulas opostas:




A hipótese nula é rejeitada quando o valor-p é menor
que o alfa (0,05).
Shapiro-Wilk assume que a distribuição não é normal,
até prova em contrário.
Os demais partem do pressuposto que a distribuição é
normal a menos que haja forte evidência do oposto.
Aliás, até mesmo o teste não-paramétrico de sinais de
Wilcoxon deu o mesmo valor-p!
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
29/34
4.2.3 - Conclusões
●
Teorema Central do Limite
►A
média aritmética de um número suficientemente grande de
iterações de variáveis aleatórias independentes, cada qual
com valor esperado bem-definido com variância bemdefinida, terá distribuição aproximadamente normal.
►A
taxa de acerto do sistema por segundo é uma média,
então a média de 288 ou 4,8 mil médias resulta em
distribuição normal.
►O
volume dos dados é tão grande que a diferença
estatística entre os diversos métodos torna-se irrelevante.
►A
comparação de intervalos de confiança das médias
será suficiente para diferenciar as populações.
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
30/34
4.2.3 - Conclusões
Resumo dos Dados
Baseline
Bind-Mounted
NFS
Amostras
288.000
4.800
288.000
4.800
288.000
4.800
Média
38,06820
38,08489
33,42976
33,40216
22,03257
22,02696
IC min
38,05029
37,94630
33,40917
33,24077
22,01919
21,92205
IC max
38,08612
38,22349
33,45034
33,56354
22,04596
22,13188
Máximo
62,50
59,14
100,00
100,00
44,39
40,32
Mínimo
5,56
20,92
-1,00
-1,00
0,00
10,34
Desvio
Padrão
4,904528
4,897924
5,637106
5,703357
3,664335
3,70767
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
31/34
4.2.3 - Conclusões
Resumo dos Dados
Baseline
Bind-Mounted
NFS
Amostras
288.000
4.800
288.000
4.800
288.000
4.800
Média
38,06820
38,08489
33,42976
33,40216
22,03257
22,02696
IC min
38,05029
37,94630
33,40917
33,24077
22,01919
21,92205
IC max
38,08612
38,22349
33,45034
33,56354
22,04596
22,13188
Máximo
62,50
59,14
100,00
100,00
44,39
40,32
Mínimo
5,56
20,92
-1,00
-1,00
0,00
10,34
Desvio
Padrão
4,904528
4,897924
5,637106
5,703357
3,664335
3,70767
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
32/34
4.2.3 - Conclusões
Gráfico box sem outliers
Análise de Performabilidade de uma aplicação I/O Bound em um
Cluster de Sistemas Operacionais baseado em Containers
33/34
Pós-graduação em Ciência da Computação
Princípios e Técnicas da Análise Estatística Experimental
Análise de Performabilidade de aplicação I/O Bound em um Cluster de Sistemas
Operacionais baseado em Containers
Erico Augusto C. Guedes <[email protected]>
Estêvão Chaves Monteiro <[email protected]>

Documentos relacionados