modelagem e avaliação da indisponibilidade do serviço devido ao tempo de resposta longo...
TRANSCRIPT
Modelagem e avaliação da indisponibilidade
do serviço devido ao tempo de resposta longo
WPerformance (SBC) – Campo Grande/Julho 2006
Magnos Martinello**, Mohamed Kaâniche*, Karama Kanoun* e Carlos A. Melchor*
**UFES
2
Introdução
Servidores bem gerenciados atingem uma disponibilidade de 99% a 99.9% (de 8 a 80 horas de indisponibilidade por ano)
Indisponibilidade do serviço web pode custar milhões dependendo da importância e da duração*
No caso da Amazon, cada hora pode custar $200.000*
* Patterson et all, “Recovery Oriented Computing – ROC project”, 2002.
3
Introdução
É difícil acessar o site de um grande jornal depois de uma notícia extremamente impactante
Esses períodos são usualmente mais importantes para o provedor
Indisponibilidade não planejada custa mais caro do que indisponibilidade planejada*
* E. A. Brewer, “ Lessons from Giant-Scale Services” , IEEE Internet Computing 2001.
4
Múltiplos fatores causam indisponibilidade Quanto a localização
Falhas no host do usuário Falhas na Internet Falhas nos provedores de serviço
Quanto aos tipos Falhas de hardware e software Performance: perda de pacotes, sobrecarga de servidores, etc;
Ponto de vista do usuário Serviço é percebido como degradado ou indisponível se o tempo de
resposta é longo comparado com sua expectativa Tempo de resposta longo desencoraja usuários
Tempo de resposta longo representa uma causa considerável de indisponibilidade do serviço ?
Causas de indisponibilidade do serviço
5
Definição da medida usando recompensa
Avaliação da medida baseada em teoria de filas
Sistema mono servidor
Sistema multi servidor
Conclusão e perspectivas
Plano
6
Probabilidade que o serviço seja provido dentre de um delay aceitável (d), com uma qualidade de serviço (Φ), ambos especificados à priori P[ R < d] > Φ
Supondo que desejamos que 90% das requisições tenham um tempo de resposta (R) inferior a 5 segundos, então Φ =0.9 e d=5.
Indisponibilidade do serviço devido ao tempo de resposta longo
7
Definição formal
Serviço disponível (A)
i K1
Serviço indisponível (UA)
Ω
Partição dos estados do serviço em dois grupos Ω : conjunto dos estados
pi : probabilidade que o serviço esteja no estado i Cada estado recebe uma recompensa (denotada por
ri)
8
Avaliação da medida
Passo 1 : Avaliar a distribuição do tempo de resposta a fim de determinar o threshold K
Passo 2 : Avaliar UA a partir da probabilidade de ocupação dos estados pi
Visto que a recompensa ri = 1, i=0…K
9
i
Sistema mono servidor
Distribuição de probabilidade do tempo de resposta condicionalP[R(i) < d] = Soma de i+1 V.A. i.i.d
μK
Distribuição de probabilidade do tempo de resposta : Erlang
UA para um sistema mono servidor
fila infinita (M/M/1) fila finita de tamanho b (M/M/1/b)
onde ρ denota a carga ou utilização
10
Probabilidade do tempo de resposta
Número de requisições
P [R
(i) < d
]
μ=12.5 μ=25 μ=50 μ=75
Délai (d)=1Taxa de
serviço (μ)
K=7K=18 K=40 K=63
K = threshold
Qualidade de
serviço (Φ=0.9)
11
Efeitos da carga em UA
μ K ρ=0.9 ρ=0.8 ρ=0.7
12.5 7 4.3e-01
1.6e-01
5.7e-02
25 18 1.3e-01
1.4e-02
1.1e-03
50 40 1.3e-02
1.0e-04
4.4e-07
75 63 1.2e-03
6.2e-07
1.2e-10
Taxa de serviço (μ) Threshold (K) Carga (ρ)
12
Aproximação de UA
Simplificar o procedimento de avaliação de UA
Interessante eliminar a etapa intermediária
Expressar UA diretamente em função de parâmetros conhecidos tais como taxa de serviço (μ) e delay aceitável (d)
13
Aproximação de K a partir de P[R(i) < d]
Número de requisições
P [R
(ud
) <
d]
μd=12.5 μd=25 μd=50 μd=75
Délai(d)=1Taxa de serviço(μ)
[ ( = ) < ] ~ 0.5P R K ud d[ ( = ????) < P R Existe um K
] ~ d θ
14
Aproximação de UA
De fato, após vários testes, obtivemos
Onde α é uma constante configurável Por exemplo, para Φ=0.9 -> α=1.35
15
Aproximação de UA
= 0.95
0.9
0.8
0.6
Aproximação
μd
UA=K+1
K d - √d( = 1.35 for = 0.9)
16
Definição da medida usando recompensa
Avaliação da medida baseada em teoria de filas
Sistema mono servidor
Sistema multi servidor
Conclusão e perspectivas
Plano
17
Sistema multi servidor
μK i
μ
μ1
c
i < c nova chegada é processada imediatamenteTempo de resposta é exponencialmente distribuído com taxa μ
i ≥ c nova chegada deve esperar (i-c+1) serviços terminarem Tempo de resposta é a soma (convolução) de uma V.A. Erlangiana com uma V.A. exponencial
As provas das expressões analíticas fechadas e a implementação em maple são apresentadas no artigo.
18
Distribuição do tempo de resposta P[R(i) ≤ d]
Φ=0.9
μd=75
c = 1
c = 5c = 2 c = 3 c = 4
19
Indisponibilidade do serviço (UA por ano)
Configuration
# servers, c μ ρ = 0.8 ρ = 0.9 ρ = 0.95
A12 12.5 0 5 s 32 h; 28
mins
B6 25 0 1 s 15 h; 17
mins
C3 50 0 0 11 h; 07
mins
D2 75 0 0 10 h; 16
mins
E1 150 0 0 09 h; 04
mins
Taxa de serviço agregada cμ = 150 requisições / seg
20
Indisponibilidade do serviço (UA por ano)
c μ = 25 μ = 50 μ = 75
1 49 d; 07 h; 22 mins
4 d; 20 h; 29 mins
10 h; 16 mins
2 6 d; 07 h; 24 mins
01 h; 09 mins
0
3 15 h; 51 mins
0 0
4 01 h; 38 mins
0 0
5 07 mins
0 0
= 0.9
21
Conclusão
Abordagem baseada em modelagem analítica
Expressões analíticas fechadas em sistemas mono e multi-servidor Distribuição do tempo de resposta Indisponibilidade devido ao tempo de resposta longo
Resultados Para cargas relativamente pesadas (ρ≤ 0.7), UA mostrou-se
desprezível Sistemas com pouca capacidade de serviço sujeitos a cargas
pesadas (ρ≥ 0.9) são potenciais candidatos à indisponibilidade devido ao tempo de resposta longo
Capacidade agregada equivalente: UA mono servidor < UA multi-server
22
Perspectivas
Indisponibilidade devido ao tempo de resposta Visão de uma única fila Análise assume que todos os servidores estão disponíveis Indisponibilidade de serviço fim-a-fim
Medições ativas na internet Analisar a dispersão de pares de pacotes Usar o modelo analítico para verificar indisponibilidade no gargalo do
caminho
23
Tempo de resposta longo como fonte de indisponibilidade Derivar a distribuição do tempo de resposta não é trivial
É importante ressaltar o fato que a abordagem não distingue explicitamente as causas que conduzem a um tempo de resposta longo. Entretanto, a abordagem permite avaliar quantitativamente os efeitos do tempo de resposta longo na indisponibilidade do serviço.
Avaliação quantitativa