Microprocessors and Microsystems 2003 G.Latif-Shabgahi,S.Bennett,J.M.Bass Presented by Kübra Ekin

Post on 14-Jan-2016

28 views 2 download

description

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 - PowerPoint PPT Presentation

Transcript of Microprocessors and Microsystems 2003 G.Latif-Shabgahi,S.Bennett,J.M.Bass Presented by Kübra Ekin

Smooting voter : a novel voting algorithm for handling multiple errors in fault-tolerant control

systems

Microprocessors and Microsystems 2003G.Latif-Shabgahi,S.Bennett,J.M.Bass

Presented byKübra Ekin

CmpE516 26.05.2005

CmpE 516

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 matchOtherwise 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,1x2 : 1,3x3 : 1,5w1 = d(1,1-1,3)+d(1,1-1,5) = 0,6w2 = d(1,3-1,1)+d(1,3-1,5) = 0,4w3 = 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