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

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...

Descripción completa

Detalles Bibliográficos
Autor: BRITO, Andrey Elísio Monteiro.
Tipo de recurso: tesis de maestría
Estado:Versión publicada
Fecha de publicación:2004
País:Brasil
Institución:Universidade Católica de Brasília (UCB)
Repositorio:Repositório Institucional da UCB
Idioma:portugués
OAI Identifier:oai:localhost:riufcg/11009
Acceso en línea:http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/11009
Access Level:acceso abierto
Palabra clave:Sistemas Distribuídos
Tolerância a Falhas
Sistemas Síncronos
Protocolos de Consenso
Sistemas Embarcados
Distributed Systems
Fault Tolerance
Synchronous Systems
Consensus Protocols
Embedded Systems
Ciência da Computação
Descripción
Sumario: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.