A Multi-leader Approach to Byzantine Fault Tolerance : Achieving Higher Throughput Using Concurrent Consensus

Byzantine Fault Tolerant protocols are complicated and hard to implement.Today’s software industry is reluctant to adopt these protocols because of thehigh overhead of message exchange in the agreement phase and the high resourceconsumption necessary to tolerate faults (as 3 f + 1 replicas are requi...

Full description

Bibliographic Details
Main Author: Abid, Muhammad Zeeshan
Format: Others
Language:English
Published: KTH, Skolan för informations- och kommunikationsteknik (ICT) 2015
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-170553
id ndltd-UPSALLA1-oai-DiVA.org-kth-170553
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-kth-1705532018-01-12T05:10:43ZA Multi-leader Approach to Byzantine Fault Tolerance : Achieving Higher Throughput Using Concurrent ConsensusengAbid, Muhammad ZeeshanKTH, Skolan för informations- och kommunikationsteknik (ICT)Technische Universität Braunschweig2015Byzantine FailuresFault TolerancePerformanceReliabilitySoftware EngineeringProgramvaruteknikByzantine Fault Tolerant protocols are complicated and hard to implement.Today’s software industry is reluctant to adopt these protocols because of thehigh overhead of message exchange in the agreement phase and the high resourceconsumption necessary to tolerate faults (as 3 f + 1 replicas are required totolerate f faults). Moreover, total ordering of messages is needed by mostclassical protocols to provide strong consistency in both agreement and executionphases. Research has improved throughput of the execution phase by introducingconcurrency using modern multicore infrastructures in recent years. However,improvements to the agreement phase remains an open area. Byzantine Fault Tolerant systems use State Machine Replication to tolerate awide range of faults. The approach uses leader based consensus algorithms for thedeterministic execution of service on all replicas to make sure all correct replicasreach same state. For this purpose, several algorithms have been proposed toprovide total ordering of messages through an elected leader. Usually, a singleleader is considered to be a bottleneck as it cannot provide the desired throughputfor real-time software services. In order to achieve a higher throughput there is aneed for a solution which can execute multiple consensus rounds concurrently. We present a solution that enables multiple consensus rounds in parallel bychoosing multiple leaders. By enabling concurrent consensus, our approach canexecute several requests in parallel. In our approach we incorporate applicationspecific knowledge to split the total order of events into multiple partial orderswhich are causally consistent in order to ensure safety. Furthermore, a dependencycheck is required for every client request before it is assigned to a particular leaderfor agreement. This methodology relies on optimistic prediction of dependenciesto provide higher throughput. We also propose a solution to correct the course ofexecution without rollbacking if dependencies were wrongly predicted. Our evaluation shows that in normal cases this approach can achieve upto 100% higher throughput than conventional approaches for large numbers ofclients. We also show that this approach has the potential to perform better incomplex scenarios Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-170553TRITA-ICT-EX ; 2015:137application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
topic Byzantine Failures
Fault Tolerance
Performance
Reliability
Software Engineering
Programvaruteknik
spellingShingle Byzantine Failures
Fault Tolerance
Performance
Reliability
Software Engineering
Programvaruteknik
Abid, Muhammad Zeeshan
A Multi-leader Approach to Byzantine Fault Tolerance : Achieving Higher Throughput Using Concurrent Consensus
description Byzantine Fault Tolerant protocols are complicated and hard to implement.Today’s software industry is reluctant to adopt these protocols because of thehigh overhead of message exchange in the agreement phase and the high resourceconsumption necessary to tolerate faults (as 3 f + 1 replicas are required totolerate f faults). Moreover, total ordering of messages is needed by mostclassical protocols to provide strong consistency in both agreement and executionphases. Research has improved throughput of the execution phase by introducingconcurrency using modern multicore infrastructures in recent years. However,improvements to the agreement phase remains an open area. Byzantine Fault Tolerant systems use State Machine Replication to tolerate awide range of faults. The approach uses leader based consensus algorithms for thedeterministic execution of service on all replicas to make sure all correct replicasreach same state. For this purpose, several algorithms have been proposed toprovide total ordering of messages through an elected leader. Usually, a singleleader is considered to be a bottleneck as it cannot provide the desired throughputfor real-time software services. In order to achieve a higher throughput there is aneed for a solution which can execute multiple consensus rounds concurrently. We present a solution that enables multiple consensus rounds in parallel bychoosing multiple leaders. By enabling concurrent consensus, our approach canexecute several requests in parallel. In our approach we incorporate applicationspecific knowledge to split the total order of events into multiple partial orderswhich are causally consistent in order to ensure safety. Furthermore, a dependencycheck is required for every client request before it is assigned to a particular leaderfor agreement. This methodology relies on optimistic prediction of dependenciesto provide higher throughput. We also propose a solution to correct the course ofexecution without rollbacking if dependencies were wrongly predicted. Our evaluation shows that in normal cases this approach can achieve upto 100% higher throughput than conventional approaches for large numbers ofclients. We also show that this approach has the potential to perform better incomplex scenarios
author Abid, Muhammad Zeeshan
author_facet Abid, Muhammad Zeeshan
author_sort Abid, Muhammad Zeeshan
title A Multi-leader Approach to Byzantine Fault Tolerance : Achieving Higher Throughput Using Concurrent Consensus
title_short A Multi-leader Approach to Byzantine Fault Tolerance : Achieving Higher Throughput Using Concurrent Consensus
title_full A Multi-leader Approach to Byzantine Fault Tolerance : Achieving Higher Throughput Using Concurrent Consensus
title_fullStr A Multi-leader Approach to Byzantine Fault Tolerance : Achieving Higher Throughput Using Concurrent Consensus
title_full_unstemmed A Multi-leader Approach to Byzantine Fault Tolerance : Achieving Higher Throughput Using Concurrent Consensus
title_sort multi-leader approach to byzantine fault tolerance : achieving higher throughput using concurrent consensus
publisher KTH, Skolan för informations- och kommunikationsteknik (ICT)
publishDate 2015
url http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-170553
work_keys_str_mv AT abidmuhammadzeeshan amultileaderapproachtobyzantinefaulttoleranceachievinghigherthroughputusingconcurrentconsensus
AT abidmuhammadzeeshan multileaderapproachtobyzantinefaulttoleranceachievinghigherthroughputusingconcurrentconsensus
_version_ 1718605524028620800