Enhancing early scheduling in parallel state machine replication

Detalhes bibliográficos
Ano de defesa: 2020
Autor(a) principal: Batista, Eliã Rafael de Lima
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Pontifícia Universidade Católica do Rio Grande do Sul
Escola Politécnica
Brasil
PUCRS
Programa de Pós-Graduação em Ciência da Computação
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://tede2.pucrs.br/tede2/handle/tede/9165
Resumo: 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.
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 Enhancing early scheduling in parallel state machine replicationEscalonamento antecipadoReplicação máquina de estadosRoubo de trabalhoEspera ocupadaEarly SchedulingState machine replicationWork-stealingBusy-waitCIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAOState 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.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.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPESPontifícia Universidade Católica do Rio Grande do SulEscola PolitécnicaBrasilPUCRSPrograma de Pós-Graduação em Ciência da ComputaçãoDotti, Fernando Luíshttp://lattes.cnpq.br/3145198954829457Pedone, Fernandohttp://lattes.cnpq.br/0009664169018101Batista, Eliã Rafael de Lima2020-07-16T20:10:00Z2020-03-18info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://tede2.pucrs.br/tede2/handle/tede/9165enginfo: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_RS2020-07-16T23:01:30Zoai:tede2.pucrs.br:tede/9165Biblioteca 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.none.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.none.fl_str_mv Dotti, Fernando Luís
http://lattes.cnpq.br/3145198954829457
Pedone, Fernando
http://lattes.cnpq.br/0009664169018101
dc.contributor.author.fl_str_mv Batista, Eliã Rafael de Lima
dc.subject.por.fl_str_mv 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
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
description 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.
publishDate 2020
dc.date.none.fl_str_mv 2020-07-16T20:10:00Z
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.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
Escola Politécnica
Brasil
PUCRS
Programa de Pós-Graduação em Ciência da Computação
publisher.none.fl_str_mv Pontifícia Universidade Católica do Rio Grande do Sul
Escola Politécnica
Brasil
PUCRS
Programa de Pós-Graduação em Ciência da Computação
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
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_ 1850041298882396160