Protocolos multicoordenados de acordo e o serviço de log

Detalhes bibliográficos
Autor(a) principal: Camargos, Lásaro Jonas
Data de Publicação: 2008
Tipo de documento: Tese
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
Texto Completo: https://hdl.handle.net/20.500.12733/1609473
Resumo: Orientador: Edmundo R. M. Madeira, Fernando Pedone
id UNICAMP-30_b5c71b155972eb62efa98e381c0765e5
oai_identifier_str oai::444356
network_acronym_str UNICAMP-30
network_name_str Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
repository_id_str
spelling Protocolos multicoordenados de acordo e o serviço de logMulticoordinated agreement problems and the log serviceSistemas distribuídosRedes de computadores - ProtocolosTolerância à falha (Computação)Distributed processingComputer network protocolsFault-tolerant computingOrientador: Edmundo R. M. Madeira, Fernando PedoneTese (doutorado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: Problemas de acordo, como Consenso, Terminação Atômica e Difusão Atômica, são abstrações comuns em sistemas distribuídos. Eles ocorrem quando os componentes do sistema precisam concordar em reconfigurações, mudanças de estado ou em linhas de ação em geral. Nesta tese, investigamos estes problemas no contexto do ambiente e aplicações em que serão utilizados. O modelo geral é o assíncrono sujeito a quebras com possível posterior recuperação. Nossa meta é desenvolver protocolos que explorem esta informação contextual para prover maior disponibilidade, e que se mantenham corretos mesmo que algumas das prerrogativas do contexto tornem-se inválidas. Na primeira parte da tese, exploramos a seguinte propriedade: mensagens difundidas em pequenas redes tendem a ser entregues ordenada e confiavelmente. Nós fazemos três contribuições nesta parte da tese. A primeira é a transformação de algoritmos conhecidos para o modelo quebra-e-pára, que utilizam a propriedade de ordenação mencionada, em protocolos práticos. Isto é, protocolos que toleram perda de mensagens e recuperação após a quebra. Nossos protocolos garantem progresso na presença de falhas, contanto que mensagens sejam espontaneamente ordenadas freqüentemente. Na ausência de ordenação expontânea, outras prerrogativas são necessárias para contornar falhas. A segunda contribuição é a generalização de um dos algoritmos citados acima em um modo de execução "multi-coordenado" em um protocolo híbrido de consenso, que usa ou ordenação expontânea ou detecção de falhas para progredir. Em comparação a outros protocolos, o nosso provê maior disponibilidade sem comprometer resiliência. A terceira contribuição é a utilização do modo multi-coordenado para resolver Consenso Generalizado, um problema que generaliza uma série de outros e que, portanto, é de grande interesse prático. Além disso, fizemos diversas considerações sobre aspectos práticos da utilização deste protocolo. Como resultado, nosso protocolo perde desempenho gradualmente no caso de condições desfavoráveis, permite o balanceamento de carga sobre os coordenadores, e acessa a memória estável parcimoniosamente. Na segunda parte da tese, consideramos problemas de acordo no contexto de redes organizadas hierarquicamente. Em específico, nós consideramos uma topologia usada nos data centers de grandes cooporações: grupos de máquinas conectadas internamente por links de baixa latência, mas por links mais lentos entre grupos. Em tais cenários, latência é claramente um fator importante e reconfigurações, onerosas aos protocolos, devem ser evitadas tanto quanto possível. Nossa contribuição neste tópico está em evitar reconfigurações e melhorar a disponibilidade de um protocolo de acordo que é rápido a despeito de colisões. Isto é, um protocolo que consegue chegar a uma decisão em dois passos inter-grupos mesmo quando várias propostas são feitas concorrentementes. Além do uso da técnica de multicoordenação, nós usamos primitivas de multicast e consenso para conter algumas reconfigurações dentro dos grupos, onde seus custos são menores. Na última parte da tese nós estudamos o problema de terminação de transações distribuídas. O problema consiste em garantir que os vários participantes da transação concordem em aplicar ou cancelar de forma consistente as suas operações no contexto da transação. Além disso, é necessário garantir a durabilidade das alterações feitas por transações terminadas com sucesso. Nossa contribuição neste tópico é um serviço de log que abstrai e desassocia a terminação de transações dos processos que executam tais transações. O serviço funciona como uma caixa preta e permite que resource managers lentos ou falhos sejam reiniciados em servidores diferentes, sem dependências na memória estável do servidor em que executava anteriormente. Nós apresentamos e avaliamos experimentalmente duas implementações do serviço.Abstract: Agreement problems are a common abstraction in distributed systems. They appear when the components of the system must concur on reconfigurations, changes of state, or in lines of action in general. Examples of agreement problems are Consensus, Atomic Commitment, and Atomic Broadcast. In this thesis we investigate these abstractions in the context of the environment in which they will run and the applications that they will serve; in general, we consider the asynchronous crash-recovery model. The goal is to devise protocols that explore the contextual information to deliver improved availability. The correctness of our protocols holds even when the extra assumptions do not. In the first part of this thesis we explore the following property: messages broadcast in small networks tend to be delivered in order and reliably. We make three contributions in this part. The first contribution is to turn known Consensus algorithms that harness this ordering property to reach agreement in the crash-stop model into practical protocols. That is, protocols that tolerate message losses and recovery after crashes, efficiently. Our protocols ensure progress even in the presence of failures, if spontaneous ordering holds frequently. In the absence of spontaneous ordering, some other assumption is required to cope with failures. The second contribution of this thesis is to generalize one of our crash-recovery consensus protocols as a "multicoordinated" mode of a hybrid Consensus protocol, that may use spontaneous ordering or failure detection to progress. Compared to other protocols, ours provide improved availability with no price in resilience. The third contribution is to employ this new mode to solve Generalized Consensus, a problem that generalizes a series of other agreement problems and, hence, is of much practical interest. Moreover, we considered several aspects of solving this problem in practice, which had not been considered before. As a result, our Generalized Consensus protocol features graceful degradation, load balancing, and is parsimonious in accessing stable storage. In the second part of this thesis we have considered agreement problems in wide area networks organized hierarchically. More specifically, we considered a topology that is commonplace in the data centers of large corporations: groups of nodes, with large-bandwidth low-latency links connecting the nodes in the same group, and slow and limited links connecting nodes in different groups. In such environments, latency is clearly a major concern and reconfiguration procedures that render the agreement protocol momentarily unavailable must be avoided as much as possible. Our contribution here is in avoiding reconfigurations and improving the availability of a collision fast agreement protocol. That is, a protocol that can reach agreement in two intergroup communication steps, irrespectively to concurrent proposals. Besides the use of a multicoordinated approach, we employed multicast primitives and consensus to restrict some reconfigurations to within groups, where they are less expensive. In the last part of this thesis we study the problem of terminating distributed transactions. The problem consists of enforcing agreement among the parties on whether to commit or rollback the transaction and ensuring the durability of committed transactions. Our contribution in this topic is an abstract log service that detaches the termination problem from the processes actually performing the transactions. The service works as a black box and abstracts its implementation details from the application utilizing it. Moreover, it allows slow and failed resource managers be re-started on different hosts without relying on the stable storage of the previous host. We provide two implementations of the service, which we evaluated experimentally.DoutoradoDoutor em Ciência da Computação[s.n.]Madeira, Edmundo Roberto Mauro, 1958-Pedone Junior, Fernando LopesBrasileiro, Francisco VilarPorto, Ingrid Eleonora Schreiber JanschAnido, Ricardo de OliveiraGarcia, Islene CalciolariUniversidade Estadual de Campinas. Instituto de ComputaçãoPrograma de Pós-Graduação em Ciência da ComputaçãoUNIVERSIDADE ESTADUAL DE CAMPINASCamargos, Lásaro Jonas20082008-12-12T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdf248 p. : il.https://hdl.handle.net/20.500.12733/1609473CAMARGOS, Lásaro Jonas. Protocolos multicoordenados de acordo e o serviço de log. 2008. 248 p. Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1609473. Acesso em: 15 mai. 2024.https://repositorio.unicamp.br/acervo/detalhe/444356porreponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)instname:Universidade Estadual de Campinas (UNICAMP)instacron:UNICAMPinfo:eu-repo/semantics/openAccess2017-02-18T05:32:17Zoai::444356Biblioteca Digital de Teses e DissertaçõesPUBhttp://repositorio.unicamp.br/oai/tese/oai.aspsbubd@unicamp.bropendoar:2017-02-18T05:32:17Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)false
dc.title.none.fl_str_mv Protocolos multicoordenados de acordo e o serviço de log
Multicoordinated agreement problems and the log service
title Protocolos multicoordenados de acordo e o serviço de log
spellingShingle Protocolos multicoordenados de acordo e o serviço de log
Camargos, Lásaro Jonas
Sistemas distribuídos
Redes de computadores - Protocolos
Tolerância à falha (Computação)
Distributed processing
Computer network protocols
Fault-tolerant computing
title_short Protocolos multicoordenados de acordo e o serviço de log
title_full Protocolos multicoordenados de acordo e o serviço de log
title_fullStr Protocolos multicoordenados de acordo e o serviço de log
title_full_unstemmed Protocolos multicoordenados de acordo e o serviço de log
title_sort Protocolos multicoordenados de acordo e o serviço de log
author Camargos, Lásaro Jonas
author_facet Camargos, Lásaro Jonas
author_role author
dc.contributor.none.fl_str_mv Madeira, Edmundo Roberto Mauro, 1958-
Pedone Junior, Fernando Lopes
Brasileiro, Francisco Vilar
Porto, Ingrid Eleonora Schreiber Jansch
Anido, Ricardo de Oliveira
Garcia, Islene Calciolari
Universidade Estadual de Campinas. Instituto de Computação
Programa de Pós-Graduação em Ciência da Computação
UNIVERSIDADE ESTADUAL DE CAMPINAS
dc.contributor.author.fl_str_mv Camargos, Lásaro Jonas
dc.subject.por.fl_str_mv Sistemas distribuídos
Redes de computadores - Protocolos
Tolerância à falha (Computação)
Distributed processing
Computer network protocols
Fault-tolerant computing
topic Sistemas distribuídos
Redes de computadores - Protocolos
Tolerância à falha (Computação)
Distributed processing
Computer network protocols
Fault-tolerant computing
description Orientador: Edmundo R. M. Madeira, Fernando Pedone
publishDate 2008
dc.date.none.fl_str_mv 2008
2008-12-12T00:00:00Z
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://hdl.handle.net/20.500.12733/1609473
CAMARGOS, Lásaro Jonas. Protocolos multicoordenados de acordo e o serviço de log. 2008. 248 p. Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1609473. Acesso em: 15 mai. 2024.
url https://hdl.handle.net/20.500.12733/1609473
identifier_str_mv CAMARGOS, Lásaro Jonas. Protocolos multicoordenados de acordo e o serviço de log. 2008. 248 p. Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1609473. Acesso em: 15 mai. 2024.
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv https://repositorio.unicamp.br/acervo/detalhe/444356
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
248 p. : il.
dc.publisher.none.fl_str_mv [s.n.]
publisher.none.fl_str_mv [s.n.]
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
instname:Universidade Estadual de Campinas (UNICAMP)
instacron:UNICAMP
instname_str Universidade Estadual de Campinas (UNICAMP)
instacron_str UNICAMP
institution UNICAMP
reponame_str Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
collection Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)
repository.mail.fl_str_mv sbubd@unicamp.br
_version_ 1799138454064332800