320 likes | 459 Views
Smooting voter : a novel voting algorithm for handling multiple errors in fault-tolerant control systems. Microprocessors and Microsystems 2003 G.Latif-Shabgahi,S.Bennett,J.M.Bass Presented by Kübra Ekin CmpE516 26 .0 5 .200 5. Outline. Introduction Related Work Voting Algorithms
E N D
Smooting voter : a novel voting algorithm for handling multiple errors in fault-tolerant control systems Microprocessors and Microsystems 2003 G.Latif-Shabgahi,S.Bennett,J.M.Bass Presented by Kübra Ekin CmpE516 26.05.2005
Outline • Introduction • Related Work • Voting Algorithms • Proposed Voter : Smoothing Voter • Experimental Method • Error Model • Scenario • Performance criteria • Experimental Results • Conclusion CmpE 516
Introduction • Goal : increasing system dependability • Fault Tolerant Computing • Not to allow a fault to result of a failure of the entire system • Fault Masking • N modular redundancy • N-version programming CmpE 516
Introduction CmpE 516
Related Work • Voting Algorithms • N input Majority voter • Returns a correct result if • (N+1)/2 voter inputs match • Otherwise returns an exception flag • Formalised plurality voter • Returns a correct result if m out of n match • E.g. 2-out of-5 voting • Median Voter • Mid-value selection algrorithm CmpE 516
Related Work • Weighted Average voter • Voter output = • ∑wixi/ ∑xi • Calculating weights • Distance metric between voter inputs : • x1 : 1,1 • x2 : 1,3 • x3 : 1,5 • w1 = d(1,1-1,3)+d(1,1-1,5) = 0,6 • w2 = d(1,3-1,1)+d(1,3-1,5) = 0,4 • w3 = d(1,5-1,1)+d(1,5-1,3)= 0,6 CmpE 516
Smoothing Voter • Extended version of majority voter • Previos cycle’s result is used in case of disagreement • Smoothing threshold is introduced (β) • Inexact voting : voter threshold (ε) • Selection of smooting threshold is critical CmpE 516
Smoothing Voter • Algorithm • A= {d1d2d3...dn} set of n voter inputs • AS={x1x2x3...xn} sorted A(ascending) • Partitions : Vj ={xjxj+1xj+m-1}, j=1:m ,m=(n+1)/2 • If at least one of Vj’s satisfies the property d(xj,xj+m-1)<=ε then the majority is satisfied and the output is produced • If none of the partitions satisfy the above constraint, then determine the output xk such that : d(xk,X) = min{d(x1,X),d(x2,X)...d(xn,X)} • X: previous successful voter result • If d(xk,X)<=β then xk is selected as voter’s output otherwise no result is selected CmpE 516
Smoothing Voter • Basic Smoothing Voter(Fixed β) • Example : CmpE 516
Smoothing Voter • Modified Smoothing Voter(Dynamically adjusted β) • More rapid recovery from an error • Cumulative smooting threshold • Adjusted when no result is found • Β is added to the smooting threshold when each successive result is more positive • B is subtracted from the smooting threshold when each successive result is more negative CmpE 516
Smoothing Voter CmpE 516
Experimental Method • Error Model • Each voter input is defined as a tuple : (c,ε+-,AT +-) CmpE 516
Experimental Method • Assumptions • The voter used in a cyclic system : a relationship between correct results of cycles • The perturbations below some predifined accuracy threshold in voter inputs are considered as acceptable inaccuracies, otherwise errors • There exist a notional correct result which can be calculated from the current inputs and the system states CmpE 516
Experimental Method • Assumptions (cont’d) • The notional correct result is the desired voter result • A comparator used to check the agreement between the notional correct result and the voter output • An accuracy threshold is used to determine if the distance between notional correct result and the voter output is within acceptable limits • MAJ : Majority Voter • SM : Smoothing Voter • MED : Median Voter • WA : Weighted Average Voter CmpE 516
Experimental Method • Parameters : • Input to variants : u(t) = 100sin(t)+100 sampled at 0.1sec • Voter-threshold value,ε = 0.5 • Accuracy threshold value, AT=0,5 • Two/three variants were perturbed using uniform error distribution with amplitude varies from 0.5 to 10 • Smooting threshold is set to a fixed value CmpE 516
Experimental Method • Performance criteria • Described as a tuple : (nc/n,nic/n,nd/n) where • n : total number of runs • nc : normalised correct results • nic : normalised incorrect results • nd : normalised disagreed results(no result) • nc/n : measure of availability • nic/n : measure of catastrophic outputs(safety) • nd/n : benign results, initiate a safe shutdown CmpE 516
Experimental Results • 1-Results using triple error injection • ε between 1 and 10 case (large errors) CmpE 516
Experimental Results CmpE 516
Experimental Results CmpE 516
Experimental Results • ε <=1.2 case (small errors) CmpE 516
Experimental Results CmpE 516
Experimental Results • Comparison of Smooting Voter and Majority Voter • q = nd(MAJ)-nd(SM) CmpE 516
Experimental Results • 2-Results using double error injection • ε between 1 and 10 case (large errors) CmpE 516
Experimental Results CmpE 516
Experimental Results CmpE 516
Experimental Results • Comparison of Smooting Voter and Majority Voter • q = nd(MAJ)-nd(SM) CmpE 516
Experimental Results • 3-Results using double transient errors • More realistic • Transient errors are smiluated by : • Two arbitrary values from [-emax....+emax] • Randomly selected saboteurs every Te voting cycle CmpE 516
Experimental Results • Te : [10,15] • emax : [-10,+10] CmpE 516
Experimental Results CmpE 516
Experimental Results CmpE 516
Experimental Results • Comparison of Smooting Voter and Majority Voter • q = nd(MAJ)-nd(SM) • Parameters emax = 2 • q 100 • qic(SM) 26 • gc(SM) 74 • 75% are converted to correct outputs CmpE 516
Conclusion • Nature and requirements of the application decides the voter type • Median voter is best when availability is the main concern, majority is best when safety is the main concern • Trade off between the above cases can be achieved by means of smoothing voter • Smoothing voter extends the majority voter by introducing a smoothing threshold to be used for disagreement cases and median voter by decreasing the catastrophic results with no result outputs • In double transient error case smoothing voter outperforms the other voting techniques CmpE 516