Enhancing early scheduling in parallel state machine replication
Autor(a) principal: | |
---|---|
Data de Publicação: | 2020 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Biblioteca Digital de Teses e Dissertações da PUC_RS |
Texto Completo: | http://tede2.pucrs.br/tede2/handle/tede/9165 |
Resumo: | Replicação Máquina de Estados é uma abordagem bem difundida cujo objetivo é fornecer tolerância a falhas em sistemas distribuídos. Baseia-se na ideia de que réplicas devem executar operações de forma determinística e, portanto, sequencial. No entanto, para se beneficiar de arquiteturas multi-core, técnicas têm sido propostas para permitir execução paralela. Elas se baseiam no fato de que operações independentes (que não compartilham nem alteram estado compartilhado) podem executar em paralelo. Early Scheduling (escalonamento antecipado) é uma técnica promissora que abre mão de concorrência em troca de rápidas decisões de escalonamento. Nela, requisições são agrupadas em classes, e um sub-conjunto de threads é atribuído a cada classe, respeitando dependências entre requisições. Early Scheduling apresentou ganhos significativos de performance em replicação máquina de estados, apesar das restrições impostas pelas definições de classes e mapeamentos para threads. Neste trabalho avaliamos os impactos causados por tais restrições. A partir dos resultados observados, propomos e implementamos melhorias, apresentamos os resultados e comparamos com outras abordagens clássicas. Nossa contribuição se dá no uso de técnicas de sincronização alternativas, como adaptações de espera ocupada e aplicação de conceitos de work-stealing (roubo de trabalho) ao algoritmo original. |
id |
P_RS_d293171c9d4f7dacc2a04c35ef65ee6c |
---|---|
oai_identifier_str |
oai:tede2.pucrs.br:tede/9165 |
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/3145198954829457Pedone, Fernandohttp://lattes.cnpq.br/0009664169018101http://lattes.cnpq.br/0582773415603867Batista, Eliã Rafael de Lima2020-07-16T20:10:00Z2020-03-18http://tede2.pucrs.br/tede2/handle/tede/9165Replicação Máquina de Estados é uma abordagem bem difundida cujo objetivo é fornecer tolerância a falhas em sistemas distribuídos. Baseia-se na ideia de que réplicas devem executar operações de forma determinística e, portanto, sequencial. No entanto, para se beneficiar de arquiteturas multi-core, técnicas têm sido propostas para permitir execução paralela. Elas se baseiam no fato de que operações independentes (que não compartilham nem alteram estado compartilhado) podem executar em paralelo. Early Scheduling (escalonamento antecipado) é uma técnica promissora que abre mão de concorrência em troca de rápidas decisões de escalonamento. Nela, requisições são agrupadas em classes, e um sub-conjunto de threads é atribuído a cada classe, respeitando dependências entre requisições. Early Scheduling apresentou ganhos significativos de performance em replicação máquina de estados, apesar das restrições impostas pelas definições de classes e mapeamentos para threads. Neste trabalho avaliamos os impactos causados por tais restrições. A partir dos resultados observados, propomos e implementamos melhorias, apresentamos os resultados e comparamos com outras abordagens clássicas. Nossa contribuição se dá no uso de técnicas de sincronização alternativas, como adaptações de espera ocupada e aplicação de conceitos de work-stealing (roubo de trabalho) ao algoritmo original.State machine replication is a well-established approach to provide fault tolerance. One of its key assumptions is that eplicas must execute operations deterministically and thus serially. However, to benefit from multi-core servers, some techniques were built to allow concurrent execution of operations in state machine replication. Invariably, such techniques are based on the fact that independent operations (which do not share common state or do not update shared state) can execute in parallel. Early Scheduling is a promising technique that trades concurrency for expeditious scheduling decisions. In this technique, requests are grouped in classes and a fixed subset of threads is assigned to each class, respecting request dependencies. Early scheduling has been shown to provide significant performance improvements in state machine replication. Although early scheduling shows performance gains, it restricts concurrency according to the class definitions and class-to-threads mapping. We evaluate the impact of these restrictions imposed by the early scheduling technique. Out of the observations, we propose and implement improvements to the basic technique, present their results and compare the resulting system to more classic approaches. Our main contribution concern the use of alternative synchronization techniques, such as busy wait adaptations and application of work-stealing techniques within the former Early Scheduling algorithm.Submitted by PPG Ciência da Computação (ppgcc@pucrs.br) on 2020-05-06T16:31:13Z No. of bitstreams: 1 ELIÃ RAFAEL DE LIMA BATISTA_DIS.pdf: 2141349 bytes, checksum: 9896d0045d2f96ac7d460bef8bd09f5c (MD5)Approved for entry into archive by Lucas Martins Kern (lucas.kern@pucrs.br) on 2020-07-16T19:15:06Z (GMT) No. of bitstreams: 1 ELIÃ RAFAEL DE LIMA BATISTA_DIS.pdf: 2141349 bytes, checksum: 9896d0045d2f96ac7d460bef8bd09f5c (MD5)Made available in DSpace on 2020-07-16T20:10:00Z (GMT). No. of bitstreams: 1 ELIÃ RAFAEL DE LIMA BATISTA_DIS.pdf: 2141349 bytes, checksum: 9896d0045d2f96ac7d460bef8bd09f5c (MD5) Previous issue date: 2020-03-18Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPESapplication/pdfhttp://tede2.pucrs.br:80/tede2/retrieve/178307/ELI%c3%83%20RAFAEL%20DE%20LIMA%20BATISTA_DIS.pdf.jpgengPontifícia Universidade Católica do Rio Grande do SulPrograma de Pós-Graduação em Ciência da ComputaçãoPUCRSBrasilEscola PolitécnicaEscalonamento antecipadoReplicação máquina de estadosRoubo de trabalhoEspera ocupadaEarly SchedulingState machine replicationWork-stealingBusy-waitCIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAOEnhancing early scheduling in parallel state machine replicationinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisTrabalho não apresenta restrição para publicação-4570527706994352458500500600-8620782570833253013590462550136975366info: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_RSTHUMBNAILELIÃ RAFAEL DE LIMA BATISTA_DIS.pdf.jpgELIÃ RAFAEL DE LIMA BATISTA_DIS.pdf.jpgimage/jpeg4844http://tede2.pucrs.br/tede2/bitstream/tede/9165/4/ELI%C3%83+RAFAEL+DE+LIMA+BATISTA_DIS.pdf.jpgaa9d235cf9df4eaaf827d698c2b15db5MD54TEXTELIÃ RAFAEL DE LIMA BATISTA_DIS.pdf.txtELIÃ RAFAEL DE LIMA BATISTA_DIS.pdf.txttext/plain140248http://tede2.pucrs.br/tede2/bitstream/tede/9165/3/ELI%C3%83+RAFAEL+DE+LIMA+BATISTA_DIS.pdf.txtec1817591c42c0e59bc1e23178b8c106MD53ORIGINALELIÃ RAFAEL DE LIMA BATISTA_DIS.pdfELIÃ RAFAEL DE LIMA BATISTA_DIS.pdfapplication/pdf2141349http://tede2.pucrs.br/tede2/bitstream/tede/9165/2/ELI%C3%83+RAFAEL+DE+LIMA+BATISTA_DIS.pdf9896d0045d2f96ac7d460bef8bd09f5cMD52LICENSElicense.txtlicense.txttext/plain; charset=utf-8590http://tede2.pucrs.br/tede2/bitstream/tede/9165/1/license.txt220e11f2d3ba5354f917c7035aadef24MD51tede/91652020-07-16 20:01:30.315oai:tede2.pucrs.br:tede/9165QXV0b3JpemE/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:2020-07-16T23:01:30Biblioteca 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 |
Enhancing early scheduling in parallel state machine replication |
title |
Enhancing early scheduling in parallel state machine replication |
spellingShingle |
Enhancing early scheduling in parallel state machine replication Batista, Eliã Rafael de Lima Escalonamento antecipado Replicação máquina de estados Roubo de trabalho Espera ocupada Early Scheduling State machine replication Work-stealing Busy-wait CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO |
title_short |
Enhancing early scheduling in parallel state machine replication |
title_full |
Enhancing early scheduling in parallel state machine replication |
title_fullStr |
Enhancing early scheduling in parallel state machine replication |
title_full_unstemmed |
Enhancing early scheduling in parallel state machine replication |
title_sort |
Enhancing early scheduling in parallel state machine replication |
author |
Batista, Eliã Rafael de Lima |
author_facet |
Batista, Eliã Rafael de Lima |
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.advisor-co1.fl_str_mv |
Pedone, Fernando |
dc.contributor.advisor-co1Lattes.fl_str_mv |
http://lattes.cnpq.br/0009664169018101 |
dc.contributor.authorLattes.fl_str_mv |
http://lattes.cnpq.br/0582773415603867 |
dc.contributor.author.fl_str_mv |
Batista, Eliã Rafael de Lima |
contributor_str_mv |
Dotti, Fernando Luís Pedone, Fernando |
dc.subject.por.fl_str_mv |
Escalonamento antecipado Replicação máquina de estados Roubo de trabalho Espera ocupada |
topic |
Escalonamento antecipado Replicação máquina de estados Roubo de trabalho Espera ocupada Early Scheduling State machine replication Work-stealing Busy-wait CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO |
dc.subject.eng.fl_str_mv |
Early Scheduling State machine replication Work-stealing Busy-wait |
dc.subject.cnpq.fl_str_mv |
CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO |
description |
Replicação Máquina de Estados é uma abordagem bem difundida cujo objetivo é fornecer tolerância a falhas em sistemas distribuídos. Baseia-se na ideia de que réplicas devem executar operações de forma determinística e, portanto, sequencial. No entanto, para se beneficiar de arquiteturas multi-core, técnicas têm sido propostas para permitir execução paralela. Elas se baseiam no fato de que operações independentes (que não compartilham nem alteram estado compartilhado) podem executar em paralelo. Early Scheduling (escalonamento antecipado) é uma técnica promissora que abre mão de concorrência em troca de rápidas decisões de escalonamento. Nela, requisições são agrupadas em classes, e um sub-conjunto de threads é atribuído a cada classe, respeitando dependências entre requisições. Early Scheduling apresentou ganhos significativos de performance em replicação máquina de estados, apesar das restrições impostas pelas definições de classes e mapeamentos para threads. Neste trabalho avaliamos os impactos causados por tais restrições. A partir dos resultados observados, propomos e implementamos melhorias, apresentamos os resultados e comparamos com outras abordagens clássicas. Nossa contribuição se dá no uso de técnicas de sincronização alternativas, como adaptações de espera ocupada e aplicação de conceitos de work-stealing (roubo de trabalho) ao algoritmo original. |
publishDate |
2020 |
dc.date.accessioned.fl_str_mv |
2020-07-16T20:10:00Z |
dc.date.issued.fl_str_mv |
2020-03-18 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://tede2.pucrs.br/tede2/handle/tede/9165 |
url |
http://tede2.pucrs.br/tede2/handle/tede/9165 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.program.fl_str_mv |
-4570527706994352458 |
dc.relation.confidence.fl_str_mv |
500 500 600 |
dc.relation.cnpq.fl_str_mv |
-862078257083325301 |
dc.relation.sponsorship.fl_str_mv |
3590462550136975366 |
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 |
http://tede2.pucrs.br/tede2/bitstream/tede/9165/4/ELI%C3%83+RAFAEL+DE+LIMA+BATISTA_DIS.pdf.jpg http://tede2.pucrs.br/tede2/bitstream/tede/9165/3/ELI%C3%83+RAFAEL+DE+LIMA+BATISTA_DIS.pdf.txt http://tede2.pucrs.br/tede2/bitstream/tede/9165/2/ELI%C3%83+RAFAEL+DE+LIMA+BATISTA_DIS.pdf http://tede2.pucrs.br/tede2/bitstream/tede/9165/1/license.txt |
bitstream.checksum.fl_str_mv |
aa9d235cf9df4eaaf827d698c2b15db5 ec1817591c42c0e59bc1e23178b8c106 9896d0045d2f96ac7d460bef8bd09f5c 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_ |
1799765344554844160 |