Modeling hardware and software fault-tolerant systems
Lorrie A. Tomek, Kishor Shridharbhai Trivedi · 1996
Analytical modeling is an accurate and cost-effective method for determining the performance and reliability of fault tolerant systems. The classes of fault tolerant systems include (1) queue based systems, (2) software-fault tolerant systems, (3) real-time systems, (4) life-critical systems, and (5) nearly independent systems. In this dissertation, we examine the characteristics of these systems, the representation of these characteristics using analytic modeling techniques, the measures associated with these systems, and the numerical solution of system models. The first type of fault-tolerant system we consider is a queue based system with server failure and repair. Such systems have differing characteristics: single/multiple servers, exponential/general service time distributions, job preemption policies, and finite/infinite buffer space. We study the capability of several techniques (job completion, spectral expansion, matrix geometric, performability, and state space aggregation) to represent these systems and provide composite performance and reliability measures. Software fault-tolerant systems are the second type of system considered. We study the safety, reliability and performance of the three key multi-variant software fault tolerant techniques (N-version programming, software recovery blocks, and N-self checking programming) by developing stochastic reward net models. We parameterize the non-independent (or common-mode) failures of the software variants using experimental data, and by developing a discrete intensity function using the average pairwise correlation of software failures. The third type of fault-tolerant system we study is both real-time and life-critical. We study the capability of Markov models and Markov regenerative models to represent the characteristics of these systems, and to provide accurate safety and reliability measures. We propose different phase-type expansions for modeling hard versus soft deadlines. The feasibility of modeling real time, life critical systems is demonstrated by a nuclear coolant system model. In our final topic, we consider nearly independent systems. The large number of states in Markov models of such systems often necessitates the use of iterative solution techniques. We study a fixed point iterative technique for steady state analysis and an iterative technique for transient analysis. The significant computation time savings of the iterative methods in obtaining nearly exact results is analyzed.