14
Hardwar Hardwar e e Softwar Softwar e e Success Success Failure Failure Input Input Output Output

HardwareSoftware Success Failure Input Output. N-Version Programming Fault-Tolerant Programming Version 1 Version 2 Version N … Voter M Identical Outputs

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

HardwareHardware SoftwareSoftware

SuccessSuccess

FailureFailure

InputInput

OutputOutput

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

T*

Software Structure Optimization

RR((T*T*) ) MAX |MAX | C < C*C < C*

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