32
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

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

  • Upload
    jeff

  • View
    28

  • Download
    2

Embed Size (px)

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

Citation preview

Page 1: 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

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

CmpE 516

Outline

• Introduction • Related Work

• Voting Algorithms• Proposed Voter : Smoothing Voter • Experimental Method

• Error Model• Scenario• Performance criteria

• Experimental Results• Conclusion

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

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

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

CmpE 516

Introduction

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

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

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

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

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

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

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

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

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

CmpE 516

Smoothing Voter

• Basic Smoothing Voter(Fixed β)Example :

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

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

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

CmpE 516

Smoothing Voter

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

CmpE 516

Experimental Method

• Error Model• Each voter input is defined as a tuple : (c,ε+-,AT +-)

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

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

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

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

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

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

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

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

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

CmpE 516

Experimental Results

• 1-Results using triple error injection• ε between 1 and 10 case (large errors)

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

CmpE 516

Experimental Results

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

CmpE 516

Experimental Results

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

CmpE 516

Experimental Results

• ε <=1.2 case (small errors)

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

CmpE 516

Experimental Results

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

CmpE 516

Experimental Results

• Comparison of Smooting Voter and Majority Voter• q = nd(MAJ)-nd(SM)

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

CmpE 516

Experimental Results

• 2-Results using double error injection• ε between 1 and 10 case (large errors)

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

CmpE 516

Experimental Results

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

CmpE 516

Experimental Results

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

CmpE 516

Experimental Results

• Comparison of Smooting Voter and Majority Voter• q = nd(MAJ)-nd(SM)

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

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

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

CmpE 516

Experimental Results

• Te : [10,15]• emax : [-10,+10]

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

CmpE 516

Experimental Results

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

CmpE 516

Experimental Results

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

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

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

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