View
223
Download
0
Tags:
Embed Size (px)
Citation preview
N-Version Programming
Fault-Tolerant Programming
Version 1
Version 2
Version N
…
Voter
M Identical Outputs
Correct Result
Failure
Recovery Blocks Scheme
Version 1 ATCorrect Result
+
-
Version 2 ATCorrect Result
+
-…
Version N ATCorrect Result
+
-Failure
t1
t1 t2 t3 t4 t5
t2t3
t4t5
T T
failuresuccess
voting
N-Version Programming
M=3
Parallel Execution of Versions
Consecutive Execution of Versions
Fault-Tolerant System Structure
…
… …
Software Running on Different Hardware Blocks
Software Running on Single Hardware Block
t1+t4
t1+t3
1 3
2 4 5
t1+t2+t3+t4
1 2 3 4 5
3
1 4
2 5
t3
1
2
3
4
5
t3
1
2
3
4
5
L=1 L=2
L=3 L=4 L=5
Effect of Parallel Versions Execution
Characteristics of Version
Execution Time
Computational Resources
Reliability
Characteristics of System
Expected Execution Time E(T)
Reliability Pr{ T < T* }
Conditional Expected Execution Time
E(T) | T < T*
Reliability/Performance Analysis Problem
Distribution of System Execution Time
Q(k/n)=Pr{ k out of n first versions succeed }
])1(
...)1()1(
)][1([1
2
11
1
1 112 2
2
1 1
1
n
ii i
ikn
ii i
in
i
kn
i i
ii
kk k
k
r
r
r
r
r
rr
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)
UGF Approach
01 )1()( zrzrzu iii Single version i:
j
k
kk
j
iij zzuzU
01)()( j first versions:
MM
MM
M
k
kkM zzzzU
1
1
2
0)(
For j = M:
PM
)()()( 1 zuzUzU jjj
Pj-1Pj
UGF Approach
For each component c: PcM , PcM+1 ,…, Pcn
TcM , TcM+1 ,…, Tcn
n
Mk
Tckckc zPzU )(
For the entire system:
C
cc zUzU
1)()(
C
ccTT
1
t1+t3
1 3
2 4 512
3
4
5
3
21 5
43
12
5
4
Effect of Versions Sequencing
t2+t4+t5
t3+t4 t1+t2+t5
3-out-of-5 system
No ofcomponent
ncMcversions
12345
141t17203275
r0.710.850.890.98-
232t285558--
r0.850.850.93--
353t1720384163
r0.800.800.860.980.98
432t172032--
r0.750.930.97--
531t305470--
r0.700.800.89--
Parameters of Software System
M=1 M=2 M=3 M=2 M=1
0
0.2
0.4
0.6
0.8
1
170 220 270 320 370 420T*
R
1 2 3 4
NoProblem
formulationSequence of versionsTminTmaxE(T)R(300(
1Min E(T)2134|132|54321|213|132 183429211.910.914
2Max R(300)2314|312|43521|321|123 198429220.220.915
3increasing t1234|123|12345|123|123 177449213.840.909
4Max E(T)4312|213|52134|132|231 247432277.670.776
Optimal Version Sequences
0
0.2
0.4
0.6
0.8
1
160 190 220 250 280 310T*
R
C*=160 C*=140
C*=120 C*=100
C*Sequence of versionsCTminTmax)T(ER(250)
160231|541|37162|324|214159166307188.340.913
14034|241|64231|234|123140173301194.430.868
1205|431|31562|43|21119205249217.070.752
1003|241|4562|43|41100205270220.520.598
Optimal Fault-Tolerant System Structures
80
120
160
200
240
0 0.2 0.4 0.6 0.8 1R
C