Exportar este item: EndNote BibTex

Use este identificador para citar ou linkar para este item: https://tede2.pucrs.br/tede2/handle/tede/10975
Tipo do documento: Tese
Título: Contribuições para escalabilidade em replicação máquina de estados
Título(s) alternativo(s): Contributions to scalable state machine replication
Autor: Ceolin Junior, Tarcisio 
Primeiro orientador: Dotti, Fernando Luís
Resumo: O uso crescente de serviços online tem gerado a necessidade de arquiteturas que ofereçam alta disponibilidade e desempenho. No contexto de alta disponibilidade, a técnica de Replicação Máquina de Estados (RME) é uma solução amplamente utilizada em diversos setores da computação, como computação em nuvem, sistemas de banco de dados, mecanismos de sincronização e comunicação confiável. O conceito de RME é simples: como todas as réplicas iniciam com um mesmo estado e executam comandos deterministicamente na mesma ordem, as mesmas mudanças de estado após a execução de cada comando são realizadas entre todas as réplicas do sistema, garantindo consistência forte. No entanto, esse mesmo modelo básico de funcionamento da RME limita o seu desempenho. Para aumentar a escalabilidade da técnica de RME foram propostas diferentes estratégias. Uma possível estratégia para obter ganhos com a técnica é através do melhor aproveitamento dos múltiplos núcleos de processamento comumente disponíveis em servidores modernos. Diferentes arquiteturas paralelas de RME foram formuladas com soluções que introduzem concorrência na ordenação e execução de comandos, considerando que requisições não conflitantes podem ser processadas em paralelo sem afetar a consistência forte. Protocolos de consenso generalizado trabalham com a mesma noção de conflito: comandos que não conflitam não necessitam de ordenação durante o consenso. Nesta primeira parte do trabalho propõe-se, o uso de informações de conflito provenientes do consenso generalizado para a subsequente execução paralela de comandos na RME. Esta proposta, ainda não encontrada na literatura, foi descrita, implementada e avaliada, mostrando ganhos de desempenho. Outra estratégia utilizada para aumentar a escalabilidade da técnica de RME é com o particionamento do estado, permitindo que partições trabalhem de forma independentes. Além da ordenação de comandos para cada partição, comandos multi-partição necessitam de ordenação entre as partições envolvidas. Neste contexto o multicast atômico é uma abstração fundamental, pois captura os requisitos de confiabilidade e ordenação. ByzCast foi o primeiro protocolo de multicast atômico tolerante a falhas bizantinas. Para reusar soluções de ordenação para o caso bizantino, ByzCast faz uso de uma estrutura em árvore para disseminação de mensagens entre as partições envolvidas, sendo cada partição implementada por um conjunto de réplicas atuando em consenso bizantino. Na segunda parte deste trabalho estendemos ByzCast de um protocolo de multicast atômico tolerante a falhas bizantinas para uma RME particionada com tolerância a falhas bizantinas. Para tal, definimos e discutimos diferentes estratégias de tratamento da requisição e do retorno da resposta aos clientes da RME.
Abstract: The increasing use of online services has created the need for architectures that offer high availability and performance. In the context of high availability, the technique of State Machine Replication (SMR) is one of the most widely used solutions in diferent áreas such as cloud computing, database systems, synchronization mechanisms, and reliable communication. The concept of SMR is simple: since all replicas start with the same state and execute commands deterministically in the same order, the same changes in the state after the execution of each command are applied across all replicas of the system, ensuring strong consistency. However, this functioning model of SMR limits its performance. To increase the scalability of the SMR technique, different strategies have been proposed. One possible strategy to gain benefits from the technique is through better utilization of processor cores commonly available in modern servers. Different parallel architectures for SMR have been formulated with solutions that introduce concurrency in the ordering and execution of commands, considering that non-conflicting requests can be processed in parallel without affecting strong consistency. Generalized consensus protocols work with the same notion of conflict: non-conflicting commands do not require ordering during consensus. In the first part of this thesis, we propose the use of conflict information from generalized consensus protocols to enable parallel execution of commands in SMR. This proposal, not yet found in the literature, has been described, implemented, and evaluated, showing performance gains. Another strategy used to increase the scalability of the SMR technique is through state partitioning, allowing partitions to work independently. In addition to command ordering for each partition, multi-partition commands require ordering between the involved partitions. In this context, atomic multicast is a fundamental abstraction as it captures reliability and ordering requirements. ByzCast is the first atomic multicast protocol tolerant to Byzantine faults. To reuse ordering solutions for the Byzantine case, ByzCast uses a overlay tree for message dissemination between the involved partitions, with each partition implemented by a set of replicas operating under Byzantine consensus. In the second part of this thesis, we extend ByzCast from a Byzantine faulttolerant atomic multicast protocol to a partitioned SMR with Byzantine fault tolerance. To do so, we define and discuss different strategies for handling request and response return to SMR clients.
Palavras-chave: Replicação Máquina de Estados
Escalabilidade
Execução Paralela
Multicast Atômico
State Machine Replication
Scalability
Parallel Execution
Atomic Multicast
Área(s) do CNPq: CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO
Idioma: por
País: Brasil
Instituição: Pontifícia Universidade Católica do Rio Grande do Sul
Sigla da instituição: PUCRS
Departamento: Escola Politécnica
Programa: Programa de Pós-Graduação em Ciência da Computação
Tipo de acesso: Acesso Aberto
Restrição de acesso: Trabalho não apresenta restrição para publicação
URI: https://tede2.pucrs.br/tede2/handle/tede/10975
Data de defesa: 28-Mar-2023
Aparece nas coleções:Programa de Pós-Graduação em Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
TARCISIO CEOLIN JUNIOR_TES.pdfTARCISIO_CEOLIN_JUNIOR_TES855,9 kBAdobe PDFThumbnail

Baixar/Abrir Pré-Visualizar


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.