Modeling execution time of multi-stage N-version fault-tolerant software
نویسندگان
چکیده
An N-version system can be subdivided into stages for the purpose of forward error recovery through voting after each stage. In the simplest case at each stage the whole system waits for the slowest version to finish before a vote is taken. A better solution is to use a scheme we call Expedient Voting in which the voting takes place as soon as an adequate number of components have finished in a stage. The concept of a "runahead" is introduced the faster versions are allowed to run ahead of the rest of the slower versions by one or more stages, with synchronized re-start in the event of a failure. If the versions are highly reliable, inter-version failure dependence is small, and the difference between the fastest and the slowest successful components in each stage is large, then the execution speed-up through Expedient Voting may be substantial. Runaheads exceeding 3 stages offer diminishing returns. Speed-up deteriorates with reduction in the version reliability and independence. The advantages and the limitations of Expedient Voting are discussed.
منابع مشابه
Incorporating Code Coverage in the Reliability Estimation for Fault-Tolerant Software
We present a technique that uses coverage measures in reliability estimation for fault tolerant programs, particularly N-version software. This technique exploits both coverage and time measures collected during testing phases for the individual program versions and the N-version software system for reliability prediction. The application of this technique on the single-version software was pre...
متن کاملThe Methodology of N-Version Programming
AnN -version software (NVS) unit is a fault tolerant software unit that depends on a generic decision algorithm to determine a consensus result from the results delivered by two or more member versions of the NVS unit. The process by which the NVS versions are produced is called N -version programming (NVP). The major objectives of the NVP process are to maximize the independence of version dev...
متن کاملSystem-Level Reliability and Sensitivity Analyses for Three Fault-Tolerant System Architectures
This paper discusses the modeling and analysis of three major fault-tolerant software system architec-tures: DRB (Distributed Recovery Blocks), NVP (N-Version Programming) and NSCP (N Self-Checking Programming). In the system-level reliability modeling domain, fault tree analysis techniques and Markov reward modeling techniques are combined to incorporate transient and permanent hardware faults...
متن کاملComparative Performability Evaluation of RB, NVP and SCOP
An adaptive scheme for software fault-tolerance is evaluated from the point of view of performability, comparing it with previously published analyses of the more popular schemes, recovery blocks and multiple version programming. In the case considered, this adaptive scheme, "Self-Configuring Optimistic Programming" (SCOP), is equivalent to N-version programming in terms of the probability of d...
متن کاملDependability Analysis of Iterative Fault Tolerant Software Considering Correlation
We consider the dependability of fault tolerant software executed iteratively, as e.g. in process control applications. We recall the models usually adopted for evaluating the probability of mission survival (reliability at a certain time) and performability, and show the results obtained by applying these models to the adaptive scheme for software fault-tolerance SCOP, "Self-Configuring Optima...
متن کامل