Contribuições para escalabilidade em replicação máquina de estados
Autor(a) principal: | |
---|---|
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 |