BFT-Bench: A Framework to Evaluate BFT Protocols · DivyaGupta *, Lucas Perronne , Sara Bouchenak +...
Transcript of BFT-Bench: A Framework to Evaluate BFT Protocols · DivyaGupta *, Lucas Perronne , Sara Bouchenak +...
Divya Gupta*, Lucas Perronne*, Sara Bouchenak+
*Univ. Grenoble Alpes, LIG Grenoble, France, +Univ. Lyon, INSA Lyon, LIRIS, Lyon, France
[email protected], [email protected], [email protected]
BFT-Bench: A Framework to Evaluate BFT ProtocolsLucas Perronne
7th ACM/SPEC International Conference on Performance Engineering – 14/03/2016
Cloud Computing Outages
2 BFT-Bench: A Framework to Evaluate BFT Protocols
Fault Tolerance through State Machine Replication
request
reply
� The same state must be shared by correct replicas� Safety
� Correct requests must be eventually executed� Liveness
3 BFT-Bench: A Framework to Evaluate BFT Protocols
Byzantine Fault Tolerance
Malicious behaviors
4
Network failureNode crash
� Providing Byzantine Fault Tolerance is the ability to ensure Liveness and Safety in presence of any byzantine components.
BFT-Bench: A Framework to Evaluate BFT Protocols
Problem Statement
� Byzantine Fault Tolerance - Related works� BFT From Theory to Practice
� PBFT
� Performance Improvement in Fault-Free Conditions� Zyzzyva, Aliph, …
� Performance Improvement in Presence of Faults� Aardvark, RBFT, …
� Evaluating BFT protocols� Usage of micro-benchmarks
� Ad-hoc settings for evaluations
� No benchmarking environment dedicated to BFT
5 BFT-Bench: A Framework to Evaluate BFT Protocols
BFT-Bench
1. Several protocols implementations
2. Various fault scenarios
6
3. Configurable workload
4. Statistics monitoring
BFT-Bench: A Framework to Evaluate BFT Protocols
Network flooding
WorkloadNumber of clients: 10Request size: 4KbComputational time: 30 ms
FaultloadType of fault: Network FloodingFault trigger time: 300sFaulty node: Non-primary replicaMessage size: 4Kb
7 BFT-Bench: A Framework to Evaluate BFT Protocols
Replica Crash
WorkloadNumber of clients: 5Request size: 4KbComputational time: 10 ms
FaultloadType of fault: Replica CrashFault trigger time: 300sFaulty node: Primary replica
8 BFT-Bench: A Framework to Evaluate BFT Protocols
Message delay
WorkloadNumber of clients: 2Request size: 4KbComputational time: 100 μs
FaultloadType of fault: Message delayFault trigger time: 300sFaulty node: Primary replicaDelay time: 100 ms
9 BFT-Bench: A Framework to Evaluate BFT Protocols
Conclusion & Perspectives
� BFT-bench includes several state-of-the-art BFT protocols
� It implements many faulty behaviors on different workloads
Perspectives
• Additional Protocols
10
Additional Protocols
• More faulty scenarios
• https://bftbench.gforge.liris.cnrs.fr/
BFT-Bench: A Framework to Evaluate BFT Protocols