200 likes | 296 Views
Behavior of Byzantine Algorithm. Chun Zhang. Index . Introduction Experimental Setup Behavior Observation Result Analysis Conclusion Future Work. Introduction---B yzantine Algorithm. Commanding-general & lieutenants each general (process) may be either loyalty or traitor (faulty)
E N D
Behavior of Byzantine Algorithm Chun Zhang
Index • Introduction • Experimental Setup • Behavior Observation • Result Analysis • Conclusion • Future Work
Introduction---Byzantine Algorithm Commanding-general & lieutenants • each general (process) may be either loyalty or traitor (faulty) • commanding-general sends two types of orders: attack and retreat Problem • all lieutenants decide on the order to obey • all loyal lieutenants decide on the same order • if the commanding-general is loyal, then every loyal lieutenant obeys the order he sends Faulty tolerance: n>= 3m+1: the algorithm can solve the problem n <3m+1: the algorithm won’t work properly
Experimental Setup • m=4 n=1: started by the number of 4 nodes, 1 of 4 nodes is traitor. • Running 60 times for each pair of input number • Input number according to n>=3m+1 and n<3m+1 • Range: general numbers are between 4 and 10
Result Analysis: No. of Decisions Based on Varying Input Number
Result Analysis: No. of Decisions Based on Varying Input Number
Result Analysis: No. of Decisions Based on Varying Input Number
Conclusion n>=3m+1 • The retreat has large portion of the decision and the change is smooth. • The attack and wait has small portion of the decision, most of the time, the change is smooth. n<3m+1 • The retreat is still in large portion of the decision but the change is a little bit sharp comparing the change in n>3m+1. • The attack and wait still is in small portion of the decision, but the change is a little bit sharp comparing the change in n>3m+1.
Future Work • To test my program with much larger no. of processes. • To test my program on a real distributed network.
Reference • Lamport L., ShostakR., and Pease M. “The Byzantine Generals Problem”, ACM transactions on Programming Languages and Systems 4(3), 1982