ZZ and the art of practical BFT execution
Timothy Wood, Rahul Singh, Arun Venkataramani, Prashant J. Shenoy, Emmanuel Cecchet · 2011
The high replication cost of Byzantine fault-tolerance (BFT) methods has been a major barrier to their widespread adop-tion in commercial distributed applications. We present ZZ, a new approach that reduces the replication cost of BFT ser-vices from 2f + 1 to practically f + 1. The key insight in ZZ is to use f + 1 execution replicas in the normal case and to activate additional replicas only upon failures. In data cen-ters where multiple applications share a physical server, ZZ reduces the aggregate number of execution replicas running in the data center, improving throughput and response times. ZZ relies on virtualization—a technology already employed in modern data centers—for fast replica activation upon fail-ures, and enables newly activated replicas to immediately be-gin processing requests by fetching state on-demand. A pro-totype implementation of ZZ using the BASE library and Xen shows that, when compared to a system with 2f + 1 repli-cas, our approach yields lower response times and up to 33% higher throughput in a prototype data center with four BFT web applications. We also show that ZZ can handle simulta-neous failures and achieve sub-second recovery. 1