140 likes | 228 Views
Hardware. Software. Input. ?. Success. Failure. Output. Fault-Tolerant Programming. N-Version Programming. Recovery Blocks Scheme. +. Correct Result. Version 1. AT. -. Version 1. M Identical Outputs. +. Correct Result. Version 2. AT. Version 2. Correct Result. Voter. -. ….
E N D
Hardware Software Input ? Success Failure Output
Fault-Tolerant Programming N-Version Programming Recovery Blocks Scheme + Correct Result Version 1 AT - Version 1 M Identical Outputs + Correct Result Version 2 AT Version 2 Correct Result Voter - … … + Version N Failure Correct Result Version N AT - Failure
N-Version Programming Parallel Execution of Versions Consecutive Execution of Versions t1 t2 t1 t2 t3 t4 t5 t3 M=3 t4 t5 T T failure success voting
Fault-Tolerant System Structure Software Running on Different Hardware Blocks Software Running on Single Hardware Block … … …
Effect of Parallel Versions Execution 1 3 1 2 3 4 5 2 4 5 t1+t2+t3+t4 t1+t3 L=1 L=2 1 5 1 4 1 2 2 2 5 3 3 3 4 4 5 t1+t4 t3 t3 L=3 L=4 L=5
Reliability/Performance Analysis Problem Characteristics of Version Characteristics of System Reliability Reliability Pr{ T < T* } Expected Execution Time E(T) Execution Time Conditional Expected Execution Time E(T) | T < T* Computational Resources
Distributionof System Execution Time Q(k/n)=Pr{ k out of n first versions succeed } i1: {1…n-k+1} i2: {i1+1…n-k+2} Pj=Pr{ system succeeds after execution of version j } = rj Q(M-1/j-1)
j first versions: UGF Approach Single version i: For j = M: PM Pj Pj-1
For the entire system: UGF Approach For each component c: PcM , PcM+1 ,…, Pcn TcM , TcM+1 ,…, Tcn
Effect of Versions Sequencing 3-out-of-5 system 5 3 1 3 4 2 2 4 5 1 t2+t4+t5 t1+t3 5 3 3 4 4 2 1 2 5 1 t1+t2+t5 t3+t4
M=1 M=2 M=3 M=2 M=1 Parameters of Software System
T* Software Structure Optimization R(T*) MAX |C < C*