• Nenhum resultado encontrado

4.3 A proposta de detecção autonômica de defeitos

4.3.2 Regulação do timeout de detecção

Na detecção de defeitos em sistemas distribuídos, o timeout de detecção é um elemento chave, pois determina o prazo para que o processo monitorado responda antes que se torne suspeito de falha (ver Seção 2.4.1). Além disso, em ambientes com atrasos variados, qualquer estratégia de ajuste de timeout de detecção deve atender à relação de compromisso entre veloci- dadee precisão na detecção de defeitos. Isto é, timeouts de detecção (i.e. prazos) muito longos diminuem a ocorrência de falsas suspeitas, mas implicam em altas latências de detecção. Por outro lado, timeouts muito curtos, implicam em baixas latências de detecção, mas aumentam o número de falsas suspeitas.

Evidentemente que, em um ambiente com características dinâmicas e atrasos variados, qual- quer estimador de atraso, usado no ajuste dos timeouts de detecção, cometerá erros – seja su- gerindo estimativas maiores que o atraso observado (prejudicando o tempo de detecção), seja sugerindo estimativas menores que o atraso observado (prejudicando a confiabilidade do detec- tor).

Com isso, as abordagens de detecção de defeitos, existentes na literatura, vêm privilegi- ando o atendimento ao requisito de confiabilidade6, uma vez que, na grande maioria dos casos, as estratégias de ajuste de timeout usam estimadores que se adaptam as variações do atraso, mas utilizam alguma margem de segurança para prevenir falsas suspeitas – o que prejudica a velocidade da detecção.

Naturalmente, é razoável beneficiar a confiabilidade do detector, pois falsas suspeitas podem implicar em altos custos computacionais, oriundos da ativação de procedimentos de reconfigu- ração ou de recuperação, que demandam processamento e troca de mensagens adicionais.

6ver, por exemplo, Macêdo (2000), Chen, Toueg e Aguilera (2002), Bertier, Marin e Sens (2002), Falai e Bondavalli (2005), Satzger et al. (2007) etc.

Para reduzir o prejuízo ao tempo de detecção, alguns trabalhos têm usado margens de se- gurança adaptativas, em que a adaptação é realizada de acordo com as variações do atraso. A abordagem de Jacobson (1988), por exemplo, usa uma estratégia baseada em médias móveis para estimar (ambos) o atraso e sua variação. Então, a mesma ajusta o timeout de detecção como sendo a média do atraso mais duas vezes sua variação7– o que pode garantir uma taxa de acerto de cerca de 95, 45%, contando ainda com latências de detecção menores em momentos de estabilidade (isto é, nos quais as variações do atraso são menores). A mesma consideração vale para estratégias como a de Bertier, Marin e Sens (2002), por exemplo. Esta estratégia também trabalha com média móvel (para a estimativa do atraso e da margem de segurança), considerando, entretanto, uma mobilidade de média menor que a usada em Jacobson (1988). Mais precisamente, enquanto Bertier, Marin e Sens (2002) consideram o histórico dos últimos 1000 atrasos, Jacobson (1988) baseia sua estimativa observando os dois últimos atrasos (ver Seção 2.4.1.4). Note que o tamanho do histórico (i.e. a mobilidade da média) determina a velocidade com que a estimativa converge, acompanhando as variações dos atrasos.

Quando as características do ambiente podem mudar, o desafio dessas estratégias é encontrar uma mobilidade de média que permita uma convergência adequada, atendendo ao compromisso entre velocidade e precisão das detecções. Isto é, se a estratégia confia em um histórico muito longo de atrasos (i.e. baixa convergência), a mesma pode demorar muito para responder às mu- danças nas características do atraso (podendo, a depender da situação, prejudicar a velocidade ou a confiabilidade do detector)8. Por outro lado, se a estratégia confia em um histórico limitado de atrasos (i.e. convergência alta), a mesma estará mais suscetível a variações esporádicas do atraso (podendo cometer um maior número de falsas suspeitas) – como é verificado em muitos experimentos que usam o estimador de Jacobson (1988) para implementar o detector adaptativo. Mais ainda, tentar estimar as características (i.e. distribuições) dos atrasos em tempo de execução, como é feito em Dixit e Casimiro (2010), por exemplo, pode implicar em soluções complexas e que, em alguns casos, desperdiçam recursos computacionais e não detectam a distribuição – ou quando detectam, a distribuição detectada não corresponde mais a distribuição que caracteriza o comportamento do ambiente.

4.3.2.2 O algoritmo proposto para a regulação de timeout

A proposta de regulação de timeout, apresentada nesta Tese, não apenas aproveita os be- nefícios trazidos pelas abordagens de adaptação de timeout existentes, mas também realiza correções nos timeouts sugeridos, considerando as mudanças dinâmicas nas características do ambiente e nos requisitos definidos pelo usuário.

7Estatisticamente, se os dados são normalmente distribuídos, a média mais duas vezes o desvio padrão abrange 95, 45% das dados – isto é conhecido como uma regra de ouro, nomeada regra dos três sigma ou regra “68-95- 99, 7”, ver Dai e Wang (1992).

8Neste caso, a confiabilidade da detecção é prejudicada quando o comportamento dos atrasos muda de uma variabilidade menos acentuada para uma variabilidade mais acentuada; e prejudica o tempo de detecção, caso contrário.

Para isto, esta proposta de regulação usa um controlador integral que monitora a confiabili- dade do detector, a partir da disponibilidade de detecção (ver Seção 4.3.1.2). Então, sugere uma margem de segurança a ser adicionada ao timeout de detecção, de modo a atender à disponibi- lidade mínima definida pelo usuário, com um menor prejuízo para o tempo de detecção. Mais precisamente, se o detector é impreciso (i.e. a disponibilidade AV é menor que a mínima), então a margem de segurança α é incrementada para tornar a detecção mais precisa. Por outro lado, se a disponibilidade AV é alta (disponibilidade observada maior que a disponibilidade mínima), então a margem de segurança α é decrementada para tornar a detecção mais rápida.

Para não comprometer o desempenho do detector, é importante estabelecer os limites para a margem de segurança (α) sugerida pelo regulador de timeout. No estilo de monitoramento Pull9, o menor timeout de detecção (i.e. prazo) possível é o atraso de comunicação mínimo (dL). Então, α deve ser menor ou igual a T DU− dL, de modo a não extrapolar o tempo máximo

de detecção (T DU) definido pelo usuário. Além disso, α deve ser maior ou igual a zero, para não induzir o detector a cometer falsas suspeitas.

Algoritmo 4.2:Regulação do timeout de detecção define α0= 0;

1

before event ayaksendingdo 2 compute AVL=T MR L− T MU T MRL ; 3 compute AVk= T MRk− T Mk T MRk ; 4 obtain errork= AVL− AVk; 5 compute αk= αk−1+ δk−1∗ errork; 6 if αk< 0 then αk= 0; 7 if αk> T DU− dLthen 8 αk= T DU− dL; 9 end if 10 obtain rtoCk; 11

compute rtok= rtoCk+ αk; 12

end event 13

O Algoritmo 4.2 apresenta o procedimento usado na regulação do timeout de detecção. Antes do envio de cada mensagem de monitoramento, a disponibilidade mínima (AVL) e a disponibilidade atual (AVk) do detector são calculadas (Linhas 3–4). Então, baseado no desvio

(error) entre AVL e AVk, o regulador calcula a ação de controle integral (Linhas 5–6), isto é: 9ver Seção 4.2.

αk+1= k

i=0

(∆t ∗ errori) = αk+ ∆t ∗ errork (4.9)

em que ∆t representa o intervalo de tempo entre duas ativações consecutivas do procedimento (i.e. ∆t = δk−1).

Em seguida, o regulador limita a margem de segurança entre seus valores máximo e mínimo (Algoritmo 4.2, Linhas 7–9). Então, uma estratégia de adaptação de timeout é ativada para estimar o timeout (rtoC) de acordo com o atraso observado (Linha 11). Por fim, o procedimento define o timeout de detecção (rto) a ser usado pelo detector, i.e. a soma do timeout (rtoC), sugerido a partir dos atrasos, com a margem de segurança (α), obtida a partir da disponibilidade (Linha 12).

Note que o mecanismo de regulação de timeout não faz restrições com relação à estratégia de adaptação de timeout, baseada em atraso, que será usada para determinar rtoC. Nesse sentido, o regulador de timeout encapsula a estratégia de adaptação de timeout usada por um detector adaptativo.

O diagrama em blocos da Figura 4.8 representa o laço de controle implementado pelo me- canismo de regulação do timeout – em que: (i) as entradas do regulador são, respectivamente, os requisitos de qualidade de serviço de detecção definidos pelo usuário (i.e. T MRL, T MU e T DU); (ii) os requisitos T MRL e T MU são usados para definir o set-point do controlador, em termos da disponibilidade mínima de detecção (AVL); (iii) o tempo máximo de detecção (T DU) é usado para limitar a margem de segurança; (iv) o desempenho do detector, em termos da disponibilidade de detecção, é obtido a partir de um componente de sensor que implementa a atividade de sensoriamento da QoS de detecção (ver Seção 4.3.1.2); e (v) o timeout de detec- ção, sugerido pelo mecanismo de regulação de timeout, é implantado no monitor do detector de defeitos.

4.3.3 Regulação do período de monitoramento