云计算在简化用户访问资源方式的同时导致了支撑系统开发部署的复杂,软件错误、部署管理失误导致的拜占庭故障已经成为影响系统可靠性的重要原因.对于在大部分运行周期都满足良性故障模型的系统,拜占庭容错协议在通信复杂度、安全等方面的开销以及其在攻击场景下性能鲁棒性方面的缺陷都限制了其在实际系统中的使用.如何满足实际系统对多种故障模型的需求,已经成为系统设计的一个重要问题.针对这一现状,设计了Nova-BFT,一种有效支持多种故障模型的副本状态机协议,通过牺牲部分峰值吞吐率的方式满足拜占庭容错协议对性能鲁棒性的要求,采用配置参数方式自适应满足良性故障的性能需求.实验表明,Nova-BFT在拜占庭故障模型下吞吐率为4~5kop/s,同时其对良性故障模型的支持可以有效满足大多数实际应用的需求.
Cloud computing has greatly simplified the ways that the clients can access the resources, and the pain is the increasing complexity of the supporting system development and deployment. The Byzantine faults caused by software bugs, management misbehaviors have become a major source that affects the reliability of the system. The cost in communication, security and the robustness issue under attack result in that the Byzantine fault tolerance technology can't be used directly in the practical systems which satisfy the benign fault model in most period of their lifecycle. How to satisfy the requirements of multiple fault-model has become an important problem in system design. To deal with the situation, we design Nova-BFT, a replicated state machine protocol which can support multiple fault models effectively. Nova-BFT fulfills performance robustness under attack by sacrificing some peak throughput in the fault-free scenario, and adaptively supports the benign fault model by adjusting configuration parameters. Experiments show that Nova BFT prototype has a 4-5 kop/s throughput in the Byzantine fault model assumption and it can also fulfill the benign fault model requirements of most practical systems.