Abstract

Computer systems experience failures the most frequent causes of which are software faults. After an “infant mortality” period, software failures occur in a non-deterministic manner. As a consequence, stochastic modeling is required to capture the behavior of software systems. Also, aging phenomena are observed in software systems or software applications designed to run continuously in time, which are generated by error conditions accumulation. Proactive solutions are needed to counteract such phenomena effectively. Software rejuvenation is a proactive fault management technique. It is a scheduled action that occasionally terminates a software application or a system, cleans its internal state and immediately restarts it in a state where it has regained its full capacity. Software rejuvenation has been modeled in various computer systems to prevent software failures that might cause financial loss or even to human loss. Rejuvenation can be performed at two different levels, partial or full, or a combination of the two. Usually, rejuvenation manages to prevent software failures caused by aging phenomena. Nevertheless, under certain conditions, rejuvenation may fail. In this thesis, the concept of failed rejuvenation is introduced, which refers to the failure cases imputable to an abnormal function during the rejuvenation procedure. Rejuvenation is modeled in systems which suffer from resource exhaustion. Free physical memory can be used as a measure of the resources that degrade gracefully. Rejuvenation under the optimal schedule manages to release system resources and hence to improve the system’s performance. Moreover, rejuvenation effects on resource availability optimization combined with resource reservation techniques are also studied. The efficiency of software rejuvenation in improving a system’s performance is studied by employing classic dependability measures. Rejuvenation is modeled on redundant, cluster and distributed computing systems and it aims to improve their availability and service reliability. Moreover, improvements of dependability measures due to software rejuvenation are highlighted in the context of the VoIP telecommunication application. In all the above cases, the key goal is to determine the optimal rejuvenation policy which contributes to the systems’ performance. Explicit approximate inverse preconditioning is adopted for efficiently solving sparse linear systems of algebraic equations, so as to derive the software systems performance and dependability measures. The appropriate modeling framework for studying further the impact of rejuvenation on various computer systems is provided in this thesis. Rejuvenation is the next step for self-healing systems, since it contributes to autonomic computing, whether the systems in question are large technological ones such as the Grid, or lower scale software systems such as the ones used in today’s mobile phones.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call