Uma arquitetura híbrida para o suporte de protocolos distribuídos tolerantes a falhas.

Detalhes bibliográficos
Ano de defesa: 2004
Autor(a) principal: BRITO, Andrey Elísio Monteiro.
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/11009
Resumo: A maioria das infra-estruturas disponíveis para implantação de aplicações distribuídas são caracterizadas pela ausência de limites superiores conhecidos nos atrasos de transmissão de mensagens e de escalonamento de processos, i.e. elas são sistemas assíncronos. Esses sistemas são tidos como o melhor ambiente para o desenvolvimento de aplicações devido à portabilidade e escalabilidade decorrente da falta de considerações temporais fortes sobre o sistema. Entretanto, alguns dos mais fundamentais problemas dos sistemas distribuídos não podem ser resolvidos nesses sistemas quando estes estão sujeitos a falhas. Os sistemas síncronos, por outro lado, permitem soluções triviais para os problemas básicos dos sistemas distribuídos tolerantes a falhas. Isso acontece porque eles garantem um atraso máximo conhecido no escalonamento de processos e nos atrasos na transmissão de mensagens. Entretanto, a maior parte dos sistemas práticos não são síncronos, e isso motivou a criação de modelos intermediários entre esse dois tipos, chamados de modelos parcialmente síncronos. Um dos mais populares modelos parcialmente síncronos é o modelo assíncrono equipado com detectores de falhas não confiáveis. Neste modelo cada processo possui acesso a um módulo que pode fornecer informações sobre quais processos falharam. Entre os detectores de falhas propostos, o detector de falhas com semântica perfeita é o mais forte e o único que não comete erros (por exemplo, suspeitando de processos que não falharam). Infelizmente, detectores de falhas perfeitos só podem ser implementados em sistemas síncronos. Como algumas aplicações exigem detectores de falhas perfeito, estes detectores têm recebido uma crescente atenção na literatura. Para implementá-los, subsistemas síncronos de capacidade bastante limitada têm sido desenvolvidos sob o sistema parcialmente síncrono onde as aplicações executam. Este trabalho detalha a implementação de um subsistema síncrono em um ambiente assíncrono formado por uma rede de PCs conectados por uma rede local e executando um sistema operacional de prateleira. Finalmente, embora a implementação de detectores de falhas perfeitos, por si só justifique a implementação de um subsistema síncrono, nós acreditamos que abstrações mais fortes que os detectores de falhas perfeitos podem ser desenvolvidas. Apresentamos uma destas abstrações, o Compilador de Estados Globais, que possibilita soluções mais rápidas para o problema do consenso, onde vários processos tentam entrar em acordo sobre um valor proposto.