Supr: Adaptive Byzantine Fault-Tolerant Replication

In the last decade, numerous Byzantine fault-tolerant (BFT) replication protocols have been proposed in the literature. However, practically all of these solutions were designed and optimized only for certain, typically very limited set of environment conditions. Despite previous efforts, no existing BFT replication protocol can guarantee stable and reasonable performance in both correct and faulty environments. In this article we attempt to address this problem by introducing Supr, a novel method for effortlessly combining multiple replication protocols into adaptive BFT solutions, which accommodate to a much wider spectrum of environment conditions than the existing BFT systems. Unlike previous approaches, Supr uses a fine-grained mechanism to monitor the parameters of the execution environment, which enables detecting and counteracting arbitrary faults exhibited in the system. To demonstrate its potential, we use Supr to create a sample BFT solution combining three existing replication protocols, each optimized for different conditions. The performed experiments demonstrate that our approach not only significantly outperforms existing solutions in varying environment conditions, but also does not introduce an observable overhead in stable environments.

[1]  Michael Dahlin,et al.  Making Byzantine Fault Tolerant Systems Tolerate Byzantine Faults , 2009, NSDI.

[2]  Miguel Oom Temudo de Castro,et al.  Practical Byzantine fault tolerance , 1999, OSDI '99.

[3]  Miguel Correia,et al.  Efficient Byzantine Fault-Tolerance , 2013, IEEE Transactions on Computers.

[4]  Rachid Guerraoui,et al.  Making BFT Protocols Really Adaptive , 2015, 2015 IEEE International Parallel and Distributed Processing Symposium.

[5]  Johannes Behl,et al.  CheapBFT: resource-efficient byzantine fault tolerance , 2012, EuroSys '12.

[6]  Maciej Zbierski,et al.  Cost-Aware Request Batching for Byzantine Fault-Tolerant Replication , 2015, DepCoS-RELCOMEX.

[7]  Liuba Shrira,et al.  HQ replication: a hybrid quorum protocol for byzantine fault tolerance , 2006, OSDI '06.

[8]  Ramakrishna Kotla,et al.  Zyzzyva: speculative byzantine fault tolerance , 2007, TOCS.

[9]  Janusz Sosnowski,et al.  Improving fault handling software techniques , 2010, 2010 IEEE 16th International On-Line Testing Symposium.

[10]  Karl N. Levitt,et al.  hBFT: Speculative Byzantine Fault Tolerance with Minimum Cost , 2015, IEEE Transactions on Dependable and Secure Computing.

[11]  Marko Vukolic,et al.  The next 700 BFT protocols , 2010, EuroSys '10.