• Nenhum resultado encontrado

Análise em cenários com falhas de membros do grupo

5.4 O mecanismo autonômico

5.4.1 Sensoriamento do ambiente e do protocolo de comunicação em grupo

5.5.2.4 Análise em cenários com falhas de membros do grupo

Neste experimento é observado como a abordagem autonômica reage a falhas de proces- sos durante a execução – quando comparada as diferentes configurações do protocolo básico, CB(ts = 20ms) e CB(ts = 200ms). Para tanto, considera-se o comportamento dos protocolos em um cenário de simulação, envolvendo uma aplicação distribuída com perfil de carga de trabalho moderada e um grupo de processos com 5 membros. Nesse cenário, é injetada uma falha em dois processos no instante t = 1000ms – o que causa a execução do procedimento de mudança de visão e exclusão desses processos da visão do grupo (ver A Figura 5.16).

(a) Sobrecarga de mensagens (%)

(b) Tempo de bloqueio (ms)

Figura 5.16. Resposta para falha de processos no instante t = 1000ms

Como pode ser observado na Figura 5.16, existe um incremento no tempo de bloqueio (Figura 5.16(b)) e na sobrecarga do protocolo (Figura 5.16(a)), um pouco após a ocorrência das falhas (em t = 1000ms) – isto por conta da troca de mensagem necessária para que uma nova visão seja instalada. Nesse ponto, a abordagem autonômica, graças ao ajuste dinâmico do time-silence, produz uma convergência rápida para um novo ponto de operação em termos de sobrecarga, conforme explicado a seguir.

sais, não são geradas por tais processos, o que explica os picos após t = 1000ms, nas curvas do gráfico da Figura 5.16(b). Por outro lado, quando as falhas são detectadas, as mensagens geradas, pelo procedimento de mudança de visão, causam um aumento na sobrecarga do pro- tocolo, o que explica os picos nas curvas do gráfico da Figura 5.16(a). Após a nova visão de grupo ser instalada, a abordagem autonômica percebe a mudança no número de membros do grupo e o controlador executa duas ações simultâneas: i) Uma vez que o número de processos diminui de 5 para 3, a sobrecarga máxima estimada pelo controlador decresce de 80% para 66, 7% (i.e. de 4/5 para 2/3) – esse fato força um decréscimo no ponto de operação em termos de sobrecarga; ii) o decréscimo no número de membros do grupo causa um decréscimo no per- centual de consumo médio de recursos no ambiente – esse segundo fato força um incremento no ponto de operação em termos de sobrecarga do protocolo, por conta da existência de uma maior disponibilidade de recursos no ambiente computacional.

O algoritmo implementado pelo controlador combina esses dois efeitos e promove um ajuste moderado no ponto de operação em termos da sobrecarga de 15% para 14%, o que explica o comportamento em termos da sobrecarga média apresentada pela abordagem autonômica na Figura 5.16(a). Além disso, a redução do consumo de recursos no ambiente, por conta da diminuição do número de membros no grupo, leva o controlador também a decrementar o time- silence, o que conseqüentemente causa um decréscimo no tempo de bloqueio para entrega das mensagens – ver Figura 5.16(b).

Com isso, esse experimento demonstra que, quando comparada com as diferentes configu- rações do protocolo básico de comunicação em grupo, a abordagem autonômica consegue se adequar rapidamente às mudanças no ambiente de execução, não apenas perseguindo com efe- tividade os requisitos definidos pelas aplicações, mas também atendendo de forma adequada à relação de compromisso entre tempo de bloqueio e sobrecarga.

5.6 CONSIDERAÇÕES FINAIS

As abordagens de comunicação em grupo tradicionais para sistemas distribuídos não supor- tam a auto-configuração de seus parâmetros operacionais a partir de requisitos definidos pelo usuário. Entretanto, quando o comportamento do ambiente computacional é desconhecido e pode mudar com o tempo, ou quando os requisitos das aplicações podem mudar dinamica- mente, a auto-configuração é uma questão básica que é requerida para lidar com a relação de compromisso entre os requisitos de desempenho tais como velocidade (e.g. latência de entrega das mensagens) e custo (i.e. sobrecarga do protocolo).

A habilidade de auto-configuração requer a modelagem do comportamento dinâmico do sis- tema distribuído, o que é um grande desafio quando o ambiente computacional pode mudar em tempo de execução. Para tratar esses desafios, este Capítulo introduziu um novo protocolo au- tonômico de comunicação em grupo, baseado em teoria de controle, que é capaz de, em tempo de execução, auto-configurar seus parâmetros de operação a partir dos requisitos de desempe-

nho dinamicamente especificados. A abordagem proposta integra mecanismos de detecção de defeitos, ordenação de mensagens e reconfiguração de grupo, o que facilita a construção do me- canismo de auto-configuração, o que seria mais difícil se, por exemplo, a detecção de defeitos fosse um mecanismo separado – o que é a razão da escolha do projeto com blocos causais.

Foram realizadas uma série de simulações para verificar o desempenho da proposta auto- gerenciável de comunicação em grupo, em termos da velocidade (tempo de bloqueio) e do custo (sobrecarga). Esses experimentos mostraram o desempenho do protocolo em diferentes cenários, demonstrando também como o protocolo pode ajustar dinamicamente sua operação de acordo com os set-points desejados (i.e. requisitos definidos em termos de consumo de recursos). Quando comparado com as versões não auto-gerenciáveis, a abordagem proposta produziu um desempenho aceitável em termos de latência de entrega e sobrecarga de mensa- gens em condições normais de operação e um melhor desempenho em condições de falhas ou mudanças dinâmicas dos requisitos.

Apesar de a abordagem autonômica ter sido apresentada para um protocolo de comunica- ção em grupo específico, seus princípios básicos e mecanismos podem ser aplicados a qualquer protocolo de comunicação em grupo existente, uma vez que as ações de controle são realizadas na freqüência de transmissão de mensagens de controle (ou monitoramento) – o que é um re- quisito básico para qualquer protocolo de comunicação em grupo que precise atualizar as visão do grupo (membership).

Como trabalhos futuros, planeja-se a avaliação da abordagem auto-gerenciável de comuni- cação em grupo em cenários reais, além da integração do mesmo com outros mecanismos rela- cionados à gestão de aplicações autonômicas em desenvolvimento no LaSiD7, ver por exemplo Andrade e Macêdo (2009) e Sá e Macêdo (2010b).

7Laboratório de Sistemas Distribuídos, Departamento de Ciência da Computação, Universidade Federal da Bahia.

6

Este capítulo apresenta algumas considerações gerais sobre as contribuições desta Tese, fazendo um apanhado das principais contribuições e comentando as pesquisas relacionadas em andamento e futuras.

CONSIDERAÇÕES FINAIS

6.1 PRINCIPAIS CONTRIBUIÇÕES

As facilidades computacionais oriundas das novas tecnologias têm promovido o surgimento de novas modalidades de ambientes distribuídos. Estes ambientes são caracterizados pela di- namicidade em suas composições, no provisionamento de seus recursos e nas características e requisitos de suas aplicações.

Esta dinamicidade traz novos desafios à confiabilidade, um atributo essencial à grande mai- oria dos sistemas distribuídos modernos. Um destes desafios está na incapacidade dos meca- nismos tradicionais de tolerância a falhas em atender aos requisitos de desempenho, ao mesmo tempo em que suportam a confiabilidade do sistema. Isto porque, em geral, o projeto destes mecanismos requer um conhecimento prévio das características dos ambientes e de suas apli- cações, para que possam oferecer configurações adequadas ao atendimento dos requisitos es- pecificados – isto representa um problema, uma vez que, nos ambientes distribuídos modernos, estas informações mudam dinamicamente. Neste contexto, nem mesmo os mecanismos adapta- tivos de tolerância falhas obtêm sucesso, pois realizam a sua configuração dinamicamente, mas confiam em comportamentos e requisitos definidos em tempo de projeto.

Para enfrentar este desafio, esta Tese introduz os mecanismos autonômicos de tolerância a falhas, baseados em teoria de controle e capazes de se auto-configurar face às mudanças dinâmicas nas características do ambiente ou nos requisitos de suas aplicações. Com o intuito de demonstrar a viabilidade destes mecanismos, foram implementados e avaliados, como estudo de caso, detectores autonômicos de defeitos e protocolos autonômicos de comunicação em grupo, dois mecanismos básicos à construção de sistemas distribuídos confiáveis.

Os detectores autonômicos de defeitos são os primeiros capazes de configurar dinamica- mente seus períodos de monitoramento e timeouts de detecção, a partir de expectativas de consumo de recursos e requisitos de qualidade de serviço de detecção, i.e. tempo máximo

de detecção, intervalos mínimo entre falsas suspeitas e duração máxima das falsas suspeitas. Estes detectores foram avaliados, através de simulações, em cenários com condições de carga variadas. Além disto, os detectores autonômicos foram comparados com detectores adaptati- vos com períodos de monitoramento manualmente fixados. As avaliações demonstraram que os detectores autonômicos propostos possuem um desempenho superior em todos os cenários, quando comparados aos detectores adaptativos considerados. Outra contribuição importante na concepção deste mecanismo autonômico é a introdução das métricas operacionais: atraso de interação, intervalo de incerteza e disponibilidade de detecção. O atraso de interação e o intervalo de incertezapermitem mensurar a natureza das interações entre os processos do sis- tema distribuído, considerando nesta medida o impacto de perda de mensagens e o desempenho dos processos e canais, sem assumir distribuições de probabilidade ou outra estratégia definida em tempo de projeto. A disponibilidade de detecção permite avaliar a confiabilidade do de- tector sem a necessidade de um conhecimento prévio das naturezas dos atrasos dos canais de comunicação.

O protocolo autonômico de comunicação em grupo é o primeiro capaz de configurar dina- micamente seu timeout de bloqueio (i.e. time-silence) a partir requisitos de desempenho espe- cificados pelo usuário, e.g. percentual de consumo de recursos. Este protocolo autonômico foi implementado a partir da especialização de um protocolo de comunicação em grupo baseado em blocos causais (Macêdo; Ezhilchelvan; Shrivastava, 1993). A escolha deste protocolo se deve ao fato do mesmo disponibilizar, em um framework integrado, mecanismos de detecção de defeitos, ordenação de mensagens e reconfiguração de grupo – o que facilitou a construção da aborda- gem autonômica. O protocolo autonômico foi avaliado, através de simulações, em cenários com condições de carga variadas e falhas de membros do grupo. Além disto, esta abordagem autonô- mica foi comparada com sua versão não autonômica, configurada com timeouts de bloqueios manualmente fixados. As avaliações demonstraram um desempenho compatível em condições normais de operação e um desempenho superior quando existem reconfigurações no grupo ou mudanças nos requisitos.

As facilidades de auto-configuração, implementadas nos mecanismos autonômicos propos- tos, usam estratégias que permitem que tais facilidades possam ser re-utilizadas em abordagens tradicionais que disponibilizem serviços da mesma natureza (i.e. serviços de detecção de defei- tos e de comunicação em grupo). Além disto, uma vez que a modelagem do sistema distribuído considera um abordagem caixa-preta, é possível usar os mecanismos em diferentes ambientes, sem a necessidade de modificações nos algoritmos apresentados.