Um modelo híbrido e adaptativo para sistemas distribuídos tolerantes a falhas - Gorender, Sérgio (2005)
Um sistema distribuído pode ser definido como um conjunto de processos que se comunicam através de canais de comunicação. Modelos para sistemas distribuídos determinam características do funcionamento destes sistemas, em especial com relação a aspectos temporais e de confiabilidade. O resultado da impossibilidade de se obter o consenso nos sistemas distribuídos assíncronos (modelo assíncrono), tolerando falhas, mesmo que apenas um processo possa falhar de forma silenciosa, estimulou o desenvolvimento de diversos modelos parcialmente síncronos de sistemas distribuídos. Estes modelos assumem algumas características síncronas, com o objetivo de evitar esta impossibilidade. Por outro lado, as novas arquiteturas para prover extitQoS são utilizadas para construir ambientes de execução híbridos, nos quais é possível fornecer serviços de comunicação com características síncronas para alguns canais de comunicação. O desafio que se apresenta é o de desenvolver um modelo para sistemas distribuídos adequado a executar em um ambiente equipado com arquiteturas para prover extitQoS. Este modelo deve considerar os aspectos síncronos e assíncronos do ambiente de execução, e ser adaptável às alterações dinâmicas que são características de arquiteturas para prover extitQoS. Nós respondemos a este desafio apresentando um novo modelo híbrido e adaptativo para sistemas distribuídos parcialmente síncronos, que é adaptável a alterações no estado do ambiente de execução, comuns em ambientes de execução com extitQoS cite{modelo,dsn2002,wtdladc2003,wtf2004,tecreportmodelo,sbrc2005}. Este modelo é híbrido ao assumir a coexistência de processos com características síncronas e assíncronas. O modelo apresentado também permite que os processos alterem o seu estado dinamicamente, sem prejuízo para a consistência dos sistemas em execução. Foi desenvolvida uma implementação do modelo proposto baseada em um ambiente de execução com extitQoS. Para viabilizar a execução desta implementação, foi desenvolvida uma infra-estrutura de comunicação, a qual denominamos QoS Provider, (QoSP), cujo objetivo principal é gerar uma interface padrão entre o nosso modelo e arquiteturas para prover extitQoS existentes. Um novo protocolo de consenso para o modelo de sistemas distribuídos proposto é apresentado nesta tese. Este protocolo de consenso apresenta resultados ótimos com relação à tolerância a falhas em sistemas parcialmente síncronos (tolera $f < n$ falhas de processos em algumas situações), e a complexidade (apresenta um limite inferior de dois passos de comunicação, resultado mínimo para o consenso em sistemas parcialmente síncronos). Foram realizados experimentos com o consenso, que comprovaram o bom desempenho deste protocolo, associado a uma tolerância a falhas ajustada ao nível de sincronismo representado no modelo