Modelagem e avaliação da indisponibilidade do serviço devido ao tempo de resposta longo Magnos Martinello**, Mohamed Kaâniche*, Karama Kanoun* e Carlos A. Melchor* **UFES WPerformance (SBC) – Campo Grande/Julho 2006 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. 2 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. 3 Causas de indisponibilidade do serviço Múltiplos fatores causam indisponibilidade Quanto a localização Quanto aos tipos Falhas de hardware e software Performance: perda de pacotes, sobrecarga de servidores, etc; Ponto de vista do usuário Falhas no host do usuário Falhas na Internet Falhas nos provedores de serviço 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 ? 4 Plano 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 5 Indisponibilidade do serviço devido ao tempo de resposta longo 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. 6 Definição formal Partição dos estados do serviço em dois grupos Ω : conjunto dos estados Serviço disponível (A) 1 i K Serviço indisponível (UA) Ω pi : probabilidade que o serviço esteja no estado i Cada estado recebe uma recompensa (denotada por ri) 7 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 8 Sistema mono servidor K μ i Distribuição de probabilidade do tempo de resposta condicional P[R(i) < d] = Soma de i+1 V.A. i.i.d 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 9 Probabilidade do tempo de resposta K = threshold K=7 K=18 K=63 K=40 P [R(i) < d] Délai (d)=1 Taxa de serviço (μ) μ=12.5 μ=25 μ=50 Qualidade de serviço (Φ=0.9) μ=75 Número de requisições 10 Efeitos da carga em UA Taxa de serviço (μ) Threshold (K) ρ=0.9 ρ=0.8 Carga (ρ) μ K ρ=0.7 12.5 7 4.3e-01 1.6e-01 25 18 1.3e-01 50 40 1.3e-02 1.0e-04 4.4e-07 75 63 1.2e-03 5.7e-02 1.4e-02 1.1e-03 6.2e-07 1.2e-10 11 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) 12 Aproximação de K a partir de P[R(i) < d] Délai(d)=1 Taxa de serviço(μ) P [R(ud) < d] μd=12.5 μd=25 μd=50 μd=75 P[R(K = ud) < d] ~ 0.5 P[R(Existe um K = ????) < d] ~θ Número de requisições 13 Aproximação de UA De fato, após vários testes, obtivemos Onde α é uma constante configurável Por exemplo, para Φ=0.9 -> α=1.35 14 Aproximação de UA K d - √d ( = 1.35 for = 0.9) UA=K+1 Aproximação = 0.95 0.9 0.8 0.6 μd 15 Plano 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 16 Sistema multi servidor 1 K μ μ i c μ i < c nova chegada é processada imediatamente Tempo 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. 17 Distribuição do tempo de resposta P[R(i) ≤ d] Φ=0.9 μd=75 c=1 c=2 c=3 c=4 c=5 18 Indisponibilidade do serviço (UA por ano) Taxa de serviço agregada cμ = 150 requisições / seg Configuration A B C D E # servers, c μ ρ = 0.8 ρ = 0.9 ρ = 0.95 12 12.5 0 5s 32 h; 28 mins 6 25 0 1s 15 h; 17 mins 3 50 0 0 11 h; 07 mins 2 75 0 0 10 h; 16 mins 1 150 0 0 09 h; 04 mins 19 Indisponibilidade do serviço (UA por ano) = 0.9 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 20 Conclusão Abordagem baseada em modelagem analítica Expressões analíticas fechadas em sistemas mono e multiservidor 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 21 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 22 Avaliação quantitativa 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. 23