Contribuições para escalabilidade em replicação máquina de estados

Detalhes bibliográficos
Autor(a) principal: Ceolin Junior, Tarcisio
Data de Publicação: 2023
Tipo de documento: Tese
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da PUC_RS
Texto Completo: https://tede2.pucrs.br/tede2/handle/tede/10975
Resumo: 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.
id P_RS_bcc88980c3bea7c4f3d12060f0f07547
oai_identifier_str oai:tede2.pucrs.br:tede/10975
network_acronym_str P_RS
network_name_str Biblioteca Digital de Teses e Dissertações da PUC_RS
repository_id_str
spelling Dotti, Fernando Luíshttp://lattes.cnpq.br/3145198954829457http://lattes.cnpq.br/9529171152182807Ceolin Junior, Tarcisio2023-08-31T14:07:39Z2023-03-28https://tede2.pucrs.br/tede2/handle/tede/10975The 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.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.Submitted by PPG Ciência da Computação (ppgcc@pucrs.br) on 2023-08-18T13:53:23Z No. of bitstreams: 1 TARCISIO CEOLIN JUNIOR_TES.pdf: 876445 bytes, checksum: 98a04e054675d2be540fa95f03864813 (MD5)Approved for entry into archive by Sarajane Pan (sarajane.pan@pucrs.br) on 2023-08-31T13:47:24Z (GMT) No. of bitstreams: 1 TARCISIO CEOLIN JUNIOR_TES.pdf: 876445 bytes, checksum: 98a04e054675d2be540fa95f03864813 (MD5)Made available in DSpace on 2023-08-31T14:07:39Z (GMT). No. of bitstreams: 1 TARCISIO CEOLIN JUNIOR_TES.pdf: 876445 bytes, checksum: 98a04e054675d2be540fa95f03864813 (MD5) Previous issue date: 2023-03-28application/pdfhttps://tede2.pucrs.br/tede2/retrieve/188846/TARCISIO%20CEOLIN%20JUNIOR_TES.pdf.jpgporPontifícia Universidade Católica do Rio Grande do SulPrograma de Pós-Graduação em Ciência da ComputaçãoPUCRSBrasilEscola PolitécnicaReplicação Máquina de EstadosEscalabilidadeExecução ParalelaMulticast AtômicoState Machine ReplicationScalabilityParallel ExecutionAtomic MulticastCIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAOContribuições para escalabilidade em replicação máquina de estadosContributions to scalable state machine replicationinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisTrabalho não apresenta restrição para publicação-4570527706994352458500500-862078257083325301info:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da PUC_RSinstname:Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)instacron:PUC_RSTHUMBNAILTARCISIO CEOLIN JUNIOR_TES.pdf.jpgTARCISIO CEOLIN JUNIOR_TES.pdf.jpgimage/jpeg5374https://tede2.pucrs.br/tede2/bitstream/tede/10975/4/TARCISIO+CEOLIN+JUNIOR_TES.pdf.jpg9969a2e6ece62cbc083d5497405a0e2bMD54TEXTTARCISIO CEOLIN JUNIOR_TES.pdf.txtTARCISIO CEOLIN JUNIOR_TES.pdf.txttext/plain177729https://tede2.pucrs.br/tede2/bitstream/tede/10975/3/TARCISIO+CEOLIN+JUNIOR_TES.pdf.txt3437391968f81350d3c3488d4559d3feMD53ORIGINALTARCISIO CEOLIN JUNIOR_TES.pdfTARCISIO CEOLIN JUNIOR_TES.pdfapplication/pdf876445https://tede2.pucrs.br/tede2/bitstream/tede/10975/2/TARCISIO+CEOLIN+JUNIOR_TES.pdf98a04e054675d2be540fa95f03864813MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-8590https://tede2.pucrs.br/tede2/bitstream/tede/10975/1/license.txt220e11f2d3ba5354f917c7035aadef24MD51tede/109752023-08-31 12:00:17.968oai:tede2.pucrs.br:tede/10975QXV0b3JpemE/P28gcGFyYSBQdWJsaWNhPz9vIEVsZXRyP25pY2E6IENvbSBiYXNlIG5vIGRpc3Bvc3RvIG5hIExlaSBGZWRlcmFsIG4/OS42MTAsIGRlIDE5IGRlIGZldmVyZWlybyBkZSAxOTk4LCBvIGF1dG9yIEFVVE9SSVpBIGEgcHVibGljYT8/byBlbGV0cj9uaWNhIGRhIHByZXNlbnRlIG9icmEgbm8gYWNlcnZvIGRhIEJpYmxpb3RlY2EgRGlnaXRhbCBkYSBQb250aWY/Y2lhIFVuaXZlcnNpZGFkZSBDYXQ/bGljYSBkbyBSaW8gR3JhbmRlIGRvIFN1bCwgc2VkaWFkYSBhIEF2LiBJcGlyYW5nYSA2NjgxLCBQb3J0byBBbGVncmUsIFJpbyBHcmFuZGUgZG8gU3VsLCBjb20gcmVnaXN0cm8gZGUgQ05QSiA4ODYzMDQxMzAwMDItODEgYmVtIGNvbW8gZW0gb3V0cmFzIGJpYmxpb3RlY2FzIGRpZ2l0YWlzLCBuYWNpb25haXMgZSBpbnRlcm5hY2lvbmFpcywgY29ucz9yY2lvcyBlIHJlZGVzID9zIHF1YWlzIGEgYmlibGlvdGVjYSBkYSBQVUNSUyBwb3NzYSBhIHZpciBwYXJ0aWNpcGFyLCBzZW0gP251cyBhbHVzaXZvIGFvcyBkaXJlaXRvcyBhdXRvcmFpcywgYSB0P3R1bG8gZGUgZGl2dWxnYT8/byBkYSBwcm9kdT8/byBjaWVudD9maWNhLgo=Biblioteca Digital de Teses e Dissertaçõeshttp://tede2.pucrs.br/tede2/PRIhttps://tede2.pucrs.br/oai/requestbiblioteca.central@pucrs.br||opendoar:2023-08-31T15:00:17Biblioteca Digital de Teses e Dissertações da PUC_RS - Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)false
dc.title.por.fl_str_mv Contribuições para escalabilidade em replicação máquina de estados
dc.title.alternative.eng.fl_str_mv Contributions to scalable state machine replication
title Contribuições para escalabilidade em replicação máquina de estados
spellingShingle Contribuições para escalabilidade em replicação máquina de estados
Ceolin Junior, Tarcisio
Replicação Máquina de Estados
Escalabilidade
Execução Paralela
Multicast Atômico
State Machine Replication
Scalability
Parallel Execution
Atomic Multicast
CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO
title_short Contribuições para escalabilidade em replicação máquina de estados
title_full Contribuições para escalabilidade em replicação máquina de estados
title_fullStr Contribuições para escalabilidade em replicação máquina de estados
title_full_unstemmed Contribuições para escalabilidade em replicação máquina de estados
title_sort Contribuições para escalabilidade em replicação máquina de estados
author Ceolin Junior, Tarcisio
author_facet Ceolin Junior, Tarcisio
author_role author
dc.contributor.advisor1.fl_str_mv Dotti, Fernando Luís
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/3145198954829457
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/9529171152182807
dc.contributor.author.fl_str_mv Ceolin Junior, Tarcisio
contributor_str_mv Dotti, Fernando Luís
dc.subject.por.fl_str_mv Replicação Máquina de Estados
Escalabilidade
Execução Paralela
Multicast Atômico
topic Replicação Máquina de Estados
Escalabilidade
Execução Paralela
Multicast Atômico
State Machine Replication
Scalability
Parallel Execution
Atomic Multicast
CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO
dc.subject.eng.fl_str_mv State Machine Replication
Scalability
Parallel Execution
Atomic Multicast
dc.subject.cnpq.fl_str_mv CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO
description 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.
publishDate 2023
dc.date.accessioned.fl_str_mv 2023-08-31T14:07:39Z
dc.date.issued.fl_str_mv 2023-03-28
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://tede2.pucrs.br/tede2/handle/tede/10975
url https://tede2.pucrs.br/tede2/handle/tede/10975
dc.language.iso.fl_str_mv por
language por
dc.relation.program.fl_str_mv -4570527706994352458
dc.relation.confidence.fl_str_mv 500
500
dc.relation.cnpq.fl_str_mv -862078257083325301
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Pontifícia Universidade Católica do Rio Grande do Sul
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Ciência da Computação
dc.publisher.initials.fl_str_mv PUCRS
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Escola Politécnica
publisher.none.fl_str_mv Pontifícia Universidade Católica do Rio Grande do Sul
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da PUC_RS
instname:Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
instacron:PUC_RS
instname_str Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
instacron_str PUC_RS
institution PUC_RS
reponame_str Biblioteca Digital de Teses e Dissertações da PUC_RS
collection Biblioteca Digital de Teses e Dissertações da PUC_RS
bitstream.url.fl_str_mv https://tede2.pucrs.br/tede2/bitstream/tede/10975/4/TARCISIO+CEOLIN+JUNIOR_TES.pdf.jpg
https://tede2.pucrs.br/tede2/bitstream/tede/10975/3/TARCISIO+CEOLIN+JUNIOR_TES.pdf.txt
https://tede2.pucrs.br/tede2/bitstream/tede/10975/2/TARCISIO+CEOLIN+JUNIOR_TES.pdf
https://tede2.pucrs.br/tede2/bitstream/tede/10975/1/license.txt
bitstream.checksum.fl_str_mv 9969a2e6ece62cbc083d5497405a0e2b
3437391968f81350d3c3488d4559d3fe
98a04e054675d2be540fa95f03864813
220e11f2d3ba5354f917c7035aadef24
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da PUC_RS - Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
repository.mail.fl_str_mv biblioteca.central@pucrs.br||
_version_ 1799765362760220672