Daniel Cason the Role of Synchrony on the Performance of Paxos O Papel Da Sincronia No Desempenho De Paxos
Total Page:16
File Type:pdf, Size:1020Kb
Universidade Estadual de Campinas Instituto de Computação INSTITUTO DE COMPUTAÇÃO Daniel Cason The role of synchrony on the performance of Paxos O papel da sincronia no desempenho de Paxos CAMPINAS 2017 Daniel Cason The role of synchrony on the performance of Paxos O papel da sincronia no desempenho de Paxos Tese apresentada ao Instituto de Computação da Universidade Estadual de Campinas como parte dos requisitos para a obtenção do título de Doutor em Ciência da Computação. Dissertation presented to the Institute of Computing of the University of Campinas in partial fulfillment of the requirements for the degree of Doctor in Computer Science. Supervisor/Orientador: Prof. Dr. Luiz Eduardo Buzato Este exemplar corresponde à versão final da Tese defendida por Daniel Cason e orientada pelo Prof. Dr. Luiz Eduardo Buzato. CAMPINAS 2017 Agência(s) de fomento e nº(s) de processo(s): FAPESP, 2011/23705-4 ORCID: http://orcid.org/0000-0003-1598-106X Ficha catalográfica Universidade Estadual de Campinas Biblioteca do Instituto de Matemática, Estatística e Computação Científica Ana Regina Machado - CRB 8/5467 Cason, Daniel, 1987- C27r CasThe role of synchrony on the performance of Paxos / Daniel Cason. – Campinas, SP : [s.n.], 2017. CasOrientador: Luiz Eduardo Buzato. CasTese (doutorado) – Universidade Estadual de Campinas, Instituto de Computação. Cas1. Sistemas distribuídos. 2. Tolerância a falha (Computação). 3. Consenso distribuído (Computação). 4. Algoritmos de ordenação total. 5. Sincronização. I. Buzato, Luiz Eduardo,1961-. II. Universidade Estadual de Campinas. Instituto de Computação. III. Título. Informações para Biblioteca Digital Título em outro idioma: O papel da sincronia no desempenho de Paxos Palavras-chave em inglês: Distributed systems Fault-tolerant computing Distributed consensus (Computer science) Total order algorithms Synchronization Área de concentração: Ciência da Computação Titulação: Doutor em Ciência da Computação Banca examinadora: Luiz Eduardo Buzato [Orientador] Fernando Pedone Fernando Luís Dotti Edmundo Roberto Mauro Madeira Islene Calciolari Garcia Data de defesa: 31-03-2017 Programa de Pós-Graduação: Ciência da Computação Powered by TCPDF (www.tcpdf.org) Universidade Estadual de Campinas Instituto de Computação INSTITUTO DE COMPUTAÇÃO Daniel Cason The role of synchrony on the performance of Paxos O papel da sincronia no desempenho de Paxos Banca Examinadora: • Prof. Dr. Luiz Eduardo Buzato Instituto de Computação / Universidade Estadual de Campinas • Prof. Dr. Fernando Pedone Faculty of Informatics / University of Lugano • Prof. Dr. Fernando Luís Dotti Faculdade de Informática / Pontifícia Universidade Católica do Rio Grande do Sul • Prof. Dr. Edmundo Roberto Mauro Madeira Instituto de Computação / Universidade Estadual de Campinas • Profa. Dra. Islene Calciolari Garcia Instituto de Computação / Universidade Estadual de Campinas A ata da defesa com as respectivas assinaturas dos membros da banca encontra-se no processo de vida acadêmica do aluno. Campinas, 31 de março de 2017 Living is a very dangerous business. The Devil to Pay in the Backlands João Guimarães Rosa This was our first, remote contact with the Plan. I could easily be somewhere else now if I hadn’t been in Belbo’s office that day. I could be—who knows?—selling sesame seeds in Samarkand, or editing a series of books in Braille, or heading the First National Bank of Francesco Giuseppe Land. Counterfactual conditionals are always true, because the premise is false. But I was there that day, so now I am where I am. Foucault’s Pendulum Umberto Eco “When I use a word,” Humpty Dumpty said, in rather a scornful tone, “it means just what I choose it to mean—neither more nor less.” “The question is,” said Alice, “whether you can make words mean so many different things.” “The question is,” said Humpty Dumpty, “which is to be master— that’s all.” Through the Looking Glass Lewis Carroll Resumo Algoritmos de consenso e de difusão totalmente ordenada são centrais para a implemen- tação de aplicações distribuídas tolerantes a falhas. Paxos é um algoritmo assíncrono de consenso comumente empregado para a implementação de difusão totalmente ordenada. De forma breve, Paxos proporciona que mensagens enviadas a um conjunto de processos sejam a eles entregues em uma mesma ordem total. Uma funcionalidade que é simples de se obter sob condições normais de operação de um sistema distribuído, mas que se torna reconhecidamente complicada quando se observa uma mescla de assincronia e falhas. O projeto assíncrono de Paxos visa assegurar um comportamento consistente sob condições particularmente adversas de operação: a robustez é o seu maior atributo. Mas quando se trata da operação regular do sistema, sem falhas e predominantemente síncrona, Paxos peca por não oferecer um desempenho compatível com os recursos disponíveis. A busca por formas de se melhorar o desempenho de Paxos ganha importância quando o algoritmo passa a compor o núcleo de várias soluções de replicação. De fato, múltiplas variações de Paxos destinadas a obter difusão totalmente ordenada de alto desempenho foram propostas em paralelo ao nosso Doutorado. Elas abordam limitações do algoritmo original e sugerem alterações, que vão desde a reorganização da topologia até otimizações no uso da rede pelos processos. A nossa abordagem difere das existentes, ou paralelas, por envolver a adoção explícita de pressupostos de sincronia como forma de aprimorar o desempenho de Paxos. Trata-se de incorporar a um algoritmo essencialmente assíncrono abordagens empregadas em modelos mais restritivos, como o modelo síncrono. Esta tese relata os resultados obtidos a partir da abordagem de agregar hipóteses de sincronia a Paxos como forma de aprimorar seu desempenho. Nossas contribuições podem ser sintetizadas da seguinte forma. Primeiramente, mostramos que uma rede local, dado que a ela se apliquem mecanismos de controle de carga, se comporta na maior parte do tempo de forma predominantemente síncrona. Este resultado é atestado por, e propiciou o desenvolvimento de dois algoritmos de difusão totalmente ordenada. O Time Hybrid Total Order Broadcast (THyTOB) representa a possiblidade efetiva de se implementar um algoritmo de difusão totalmente ordenada essencialmente síncrono que opera sobre um sistema tipicamente modelado como assíncrono. THyTOB não apenas apresenta um desempenho, na ausências de falhas, superior a implementações tradicionais de Paxos, como também se destacou por sua reduzida variação de latências: é um algoritmo estável com desempenho bastante previsível. Apresentamos também nosso On-Time Fast Paxos, um algoritmo que usa tempo para gerar uma ordenação total para a as mensagens, que é então ratificada por instâncias de Fast Paxos. On-Time Fast Paxos apresenta altas vazões, da ordem da capacidade da rede, enquanto provê latências baixas e bem condicionadas. Trata-se da comprovação de nossa tese: sincronia melhora o desempenho de Paxos. Abstract Algorithms of consensus and of total order broadcast are central for the implementation of fault-tolerant distributed applications. Paxos is an asynchronous consensus algorithm commonly used to implement total order broadcast. Briefly, Paxos provides that messages sent to a set of processes are delivered by them in the same total order. A functionality that is simple to implement under the normal operation of a distributed system, but which becomes admittedly complicated when a mix of asynchrony and failures is observed. The asynchronous design of Paxos aims to secure a consistent behavior under a particularly adverse ensemble of operating conditions: robustness is its major attribute. But when it comes to the regular, fail-free and predominantly synchronous, operation of the system, Paxos fails to deliver a performance compatible with the available resources. The quest for ways to improve the performance of Paxos gains importance when the algorithm progressively becomes part of the core of multiple replication solutions. In fact, several variations of Paxos designed for achieving high-performance total order broadcast were proposed in parallel with our PhD research. They address limitations of the original algorithm and suggest changes, from the reorganization of the topology to optimizations in the use of the network by the processes. Our approach differs from existing, or parallel approaches because it involves the explicit adoption of synchrony assumptions as a way to improve performance of Paxos. This is about incorporating to an essentially asynchronous algorithm approaches adopted by stricter models, such as the synchronous model. This thesis reports the results achieved from the approach of augmenting Paxos with synchronous assumptions as a way to improve its performance. Our contributions can be summarized as follows. First, we demonstrate that a local area network, given that load control mechanisms are adopted, behaves in a predominantly synchronously manner most of the time. This result is attested by, and lead to the development of two total order broadcast algorithms. Our Time Hybrid Total Order Broadcast (THyTOB) represents the ability of implementing an essentially synchronous total order broadcast algorithm atop of a system typically modelled as asynchronous. THyTOB not only performs, in the absence of failures, better than traditional implementations of Paxos, but also has a very low latency variation: it is a stable and very predictable algorithm. Then we have On- Time Fast Paxos, an algorithm that uses time to generate a total order for the broadcast