Dissertação

Generalized Paxos made Byzantine, Visigoth and Less Complex EVALUATED

Um dos membros mais recentes da família de protocolos Paxos é o protocolo Generalized Paxos. Esta variante tem a característica de se separar da especificação original de consenso, o que lhe permite ter uma condição de consistência mais fraca onde diferentes processos podem ter noções diferentes da sequência de comandos que está a ser concordada. No entanto, tal como o Paxos original, o protocolo Generalized Paxos não tem uma implementação simples. Para além disso, com a recente adoção prática de protocolos de tolerância a faltas Bizantinas, é relevante entender como é que o Generalized Paxos pode ser implementado no modelo Bizantino. O mesmo pode ser dito relativamente ao modelo Visigoth que tem como alvos ambientes semelhantes a datacenters ao permitir assunções de faltas e sincronia parametrizáveis. Esta dissertação faz várias contribuições. Em primeiro lugar, fornecemos uma descrição do protocolo Generalized Paxos mais fácil de entender, baseada numa especificação de consenso simplificada, juntamente com uma especificação em pseudocódigo que pode ser prontamente implementada. Em segundo lugar, estendemos o protocolo para o modelo de faltas Bizantino, fornecendo também uma descrição em pseudocódigo para facilitar o seu mapeamento numa linguagem de programação. Esta contribuição é suplementada com provas de correção e uma discussão de extensões e otimizações relevantes. Em terceiro lugar, expandimos esta implementação para o modelo de faltas Visigoth, fornecendo também uma descrição acessível em pseudocódigo e provas de correção.
Paxos, Consenso, Tolerância a faltas, Modelo de Faltas Bizantinas

novembro 2, 2017, 17:0

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Rodrigo Seromenho Miragaia Rodrigues

Departamento de Engenharia Informática (DEI)

Professor Catedrático