6 research outputs found

    On Collision-fast Atomic Broadcast

    Get PDF
    Atomic Broadcast, an important abstraction in dependable distributed computing, is usually implemented by many instances of the well-known consensus problem. Some asynchronous consensus algorithms achieve the optimal latency of two (message) steps but cannot guarantee this latency even in good runs, with quick message delivery and no crashes. This is due to collisions, a result of concurrent proposals. Collision-fast consensus algorithms, which decide within two steps in good runs, exist under certain conditions. Their direct application to solving atomic broadcast, though, does not guarantee delivery in two steps for all messages unless a single failure is tolerated. We show a simple way to build a fault-tolerant collision-fast Atomic Broadcast algorithm based on a variation of the consensus problem we call M-Consensus. Our solution to M-Consensus extends the Paxos protocol to allow multiple processes, instead of the single leader, to have their proposals learned in two steps

    Implementação e análise de desempenho de algoritmos de difusão atômica tolerantes a falhas bizantinas

    Get PDF
    Trabalho de Conclusão de Curso (graduação)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2019.O uso de protocolos baseado em Consenso é prejudicado pela presença de colisões (propostas concorrentes) que geram a necessidade de refazer essas propostas, isso leva a uma ineficiência do protocolo. O CFABCAST é um protocolo rápido, isso é, consegue decidir valores mesmo na presença de propostas concorrentes, porém ele não é tolerante a falhas bizantinas, por isso, [1] proporam o USIG-BCFABCAST, uma variação do CFABCAST que o consegue ser, porém esse protocolo não foi testado experimentalmente. Nesse trabalho fazemos uma análise experimental da eficiência desse protocolo e apresentamos os resultados obtidos.The use of protocols based on the Consensus is harmed because of the presence of collisions (concurrent proposals), this proposals then need to be re-proposed, causing a inefficacy of the protocol. The CFACBCAST is a collision fast protocol, which means it can be fast even in the presence of collision, but it is not Byzantine fault-tolerant. [1] proposed the USIG-BFABCAST, a protocol which is a modified version of the CFABCAST to handle Byzantine fault-tolerant, but this protocol has not be tested experimentally. On this paper we make a experimental analysis of the efficiency e present the results

    Leaderless State-Machine Replication: Specification, Properties, Limits

    Get PDF
    Modern Internet services commonly replicate critical data across several geographical locations using state-machine replication (SMR). Due to their reliance on a leader replica, classical SMR protocols offer limited scalability and availability in this setting. To solve this problem, recent protocols follow instead a leaderless approach, in which each replica is able to make progress using a quorum of its peers. In this paper, we study this new emerging class of SMR protocols and states some of their limits. We first propose a framework that captures the essence of leaderless state-machine replication (Leaderless SMR). Then, we introduce a set of desirable properties for these protocols: (R)eliability, (O)ptimal (L)atency and (L)oad Balancing. We show that protocols matching all of the ROLL properties are subject to a trade-off between performance and reliability. We also establish a lower bound on the message delay to execute a command in protocols optimal for the ROLL properties. This lower bound explains the persistent chaining effect observed in experimental results

    Deferred-update database replication:theory and algorithms

    Get PDF
    This thesis is about the design of high-performance fault-tolerant computer systems. More specifically, it focuses on how to develop database systems that behave correctly and with good performance even in the event of failures. Both performance and dependability can be improved by means of the same technique, namely replication. If several database replicas are available, performance can be improved by distributing the load among them. Moreover, if one of the replicas cannot be accessed due to failures, users can still rely on the other ones. However, providing the interface of a single database system out of several replicas is not an easy task since one has to ensure they are always consistent with each other. Allowing replicas to diverge would easily break the illusion of having a single high-performance fault-tolerant database system. Although we would like to have replicas as independent of each other as possible for performance and dependability reasons, we must keep them synchronized if we want to provide a consistent interface to users. In this work, we study how we can balance this trade-off to provide good performance and fault-tolerance without compromising consistency. Our basis is a widely used technique for database replication known as the deferred update technique. In this technique, transactions are initially executed in a single replica. Passive transactions, which do not change the state of the database, can commit locally to the replica they execute. Active transactions, which change the database state, must be synchronized with the transactions running on other replicas. This thesis makes four major contributions. First, we introduce an abstract specification that generalizes the deferred update technique. This specification provides a strong model to prove lower bounds on replication algorithms, design new correct-by-construction protocols tailor-made for specific settings, and prove existing protocols correct more easily, in a standard way. Using this model, we show that the problem of termination of active transactions in deferred-update protocols is highly related to the problem of sequence agreement among a set of processes. In this context, we study the problem of implementing latency-optimal fault-tolerant solutions to sequence agreement and present a novel, highly-dynamic, algorithm that can quickly adapt to system changes in order to preserve its optimal latency. Our algorithm is based on a new agreement problem we introduce that seems to be more suitable to solve problems like sequence agreement than previously used abstractions. Our last two contributions are in the context of specific deferred-update algorithms, where we present two new fault-tolerant protocols derived from our general abstraction. The first algorithm uses no extra assumptions about database replicas. Yet, it has very little overhead associated with the termination of active transactions, propagating only strictly necessary information to replicas. Our second protocol uses strong assumptions about the concurrency control mechanism used by database replicas to reduce even more the latency and the burden associated with transaction termination. These algorithms are good examples of how our general abstraction can be extended to create new protocols and prove them correct

    Implementation and evaluation of the Collision-fast Atomic Broadcast protocol

    No full text
    State Machine Replication, is a common technique for achieving fault tolerance that can be implemented by Atomic Broadcast primitives. Atomic Broadcast is usually implemented by solving infinitely many instances of the well-known consensus problem. This approach has the disadvantage of forcing the concurrent broadcast of messages that have not yet been decided, causing them to be re-proposed in new instances, therefore delaying execution. Collision-fast algorithms, which deliver many messages within two message steps in good runs, exist, but either make assumptions that may be too restrictive; require a certain degree of clock synchronization among nodes; do not deal efficiently with failures or have not been experimentally evaluated. In this work we propose an architecture to implement the Collision-fast Atomic Broadcast algoritm as part of a distributed service, exploring the parallelism in today’s machines, and also evaluating the performance of this protocol in a variety of scenarios, comparing it with other two protocols (Paxos and Multi-Ring Paxos). Moreover, this work aims at improving the protocol to allow speculative execution of delivered commands and make it resilient to Byzantine failures. Finally, we conjecture the impossibility of Byzantine failure tolerant Collision-fast protocols.CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível SuperiorDissertação (Mestrado)Replicação de Máquinas de Estados, uma técnica comum para se alcançar tolerância a falhas, pode ser implementada por meio de primitivas de Difusão Atômica (Atomic Broadcast). Difusão Atômica, por sua vez, é comumente implementada via algoritmos de Consensus: com infinitas instâncias de Consensus, totalmente ordenadas, decide-se por uma sequência de comandos a serem executados na máquina de estados replicada. Esta abordagem tem a desvantagem de forçar as propostas não decididas (comandos não entregues) a serem repropostas em novas instâncias, atrasando sua execução. Algoritmos que evitam tais problemas são denominados collision-fast e apresentam uma latência ótima de dois passos de comunicação. Os existentes, contudo, requerem um certo grau de sincronismo (Clock-RSM), ou não tratam falhas de forma eficiente (Mencius) ou ainda não foram avaliados experimentalmente (CFABCAST). Este trabalho objetiva primariamente a implementação do algoritmo Collision-fast Atomic Broadcast (CFABCAST), bem como uma avaliação de desempenho em relação ao modelo clássico de replicação de máquinas de estado baseado no Paxos, e a outro trabalho denominado Multi Ring Paxos. Além disso, este trabalho tem como objetivos adicionais, melhorar a eficiência do protocolo em sistemas que permitam execução especulativa e torná-lo resiliente a falhas bizantinas. Por fim, conjecturamos ser impossível existir um protocolo Collision-fast que tolere falhas bizantinas
    corecore