Hardware Software Input Success Failure Output FaultTolerant Programming

  • Slides: 14
Download presentation
Hardware Software Input Success Failure Output

Hardware Software Input Success Failure Output

Fault-Tolerant Programming N-Version Programming Recovery Blocks Scheme Version 1 Version 2 M Identical Outputs

Fault-Tolerant Programming N-Version Programming Recovery Blocks Scheme Version 1 Version 2 M Identical Outputs Correct Voter Result … Version N AT + Correct Result Version 2 AT + Correct Result … Failure Version N AT + Correct Failure Result

N-Version Programming Parallel Execution of Versions M=3 t 1 t 2 t 3 Consecutive

N-Version Programming Parallel Execution of Versions M=3 t 1 t 2 t 3 Consecutive Execution of Versions t 1 t 2 t 3 t 4 t 5 T T failure success voting t 5

Fault-Tolerant System Structure Software Running on Different Hardware Blocks Software Running on Single Hardware

Fault-Tolerant System Structure Software Running on Different Hardware Blocks Software Running on Single Hardware Block … … …

Effect of Parallel Versions Execution 1 2 3 4 1 5 3 2 4

Effect of Parallel Versions Execution 1 2 3 4 1 5 3 2 4 5 t 1+t 2+t 3+t 4 t 1+t 3 L=1 1 L=2 1 4 5 1 2 2 2 5 3 3 3 4 4 5 t 1+t 4 t 3 L=4 t 3 L=5

Reliability/Performance Analysis Problem Characteristics of Version Characteristics of System Reliability Execution Time Expected Execution

Reliability/Performance Analysis Problem Characteristics of Version Characteristics of System Reliability Execution Time Expected Execution Time Computational Resources Conditional Expected Execution Time Pr{ T < T* } E (T ) E(T) | T < T*

Distribution of System Execution Time Q(k/n)=Pr{ k out of n first versions succeed }

Distribution of System Execution Time Q(k/n)=Pr{ k out of n first versions succeed } i 1: {1…n-k+1} i 2: {i 1+1…n-k+2} Pj=Pr{ system succeeds after execution of version j } = rj Q(M-1/j-1)

UGF Approach Single version i : j first versions : For j = M:

UGF Approach Single version i : j first versions : For j = M: PM Pj Pj-1

UGF Approach For each component c : Pc. M , Pc. M+1 , …,

UGF Approach For each component c : Pc. M , Pc. M+1 , …, Pcn Tc. M , Tc. M+1 , …, Tcn For the entire system:

Effect of Versions Sequencing 3 -out-of-5 system 5 3 1 1 4 2 3

Effect of Versions Sequencing 3 -out-of-5 system 5 3 1 1 4 2 3 2 4 5 t 1+t 3 t 2+t 4+t 5 5 3 3 1 2 4 1 4 2 5 t 3+t 4 t 1+t 2+t 5

Parameters of Software System No of component nc 1 4 2 3 4 5

Parameters of Software System No of component nc 1 4 2 3 4 5 M=1 3 5 3 3 M=2 versions Mc 1 2 3 2 1 1 2 3 4 t 17 20 32 75 r 0. 71 0. 85 0. 89 0. 98 - t 28 55 58 - - r 0. 85 0. 93 - - t 17 20 38 41 63 r 0. 80 0. 86 0. 98 t 17 20 32 - - r 0. 75 0. 93 0. 97 - - t 30 54 70 - - r 0. 70 0. 89 - - M=3 M=2 5 M=1

Optimal Version Sequences No Problem formulation 1 Min E(T) 2 Sequence of versions Tmin

Optimal Version Sequences No Problem formulation 1 Min E(T) 2 Sequence of versions Tmin Tmax E(T) R)300) 132|213|54321|132|2134 183 429 211. 91 0. 914 Max R(300) 123|321|43521|312|2314 198 429 220. 22 0. 915 3 increasing t 123|12345|1234 177 449 213. 84 0. 909 4 Max E(T) 231|132|52134|213|4312 247 432 277. 67 0. 776

Software Structure Optimization R(T*) T* MAX | C < C*

Software Structure Optimization R(T*) T* MAX | C < C*

Optimal Fault-Tolerant System Structures C Tmin Tmax E (T ) R)250) 214|324|37162|541|231 159 166

Optimal Fault-Tolerant System Structures C Tmin Tmax E (T ) R)250) 214|324|37162|541|231 159 166 307 188. 34 0. 913 140 123|234|64231|241|34 140 173 301 194. 43 0. 868 120 21|43|31562|431|5 119 205 249 217. 07 0. 752 100 41|43|4562|241|3 100 205 270 220. 52 0. 598 C* Sequence of versions 160