Abstract

Software rejuvenation is a proactive fault management technique widely used for preventing performance degradation and failures due to software aging. It works by proactively terminating the system, cleaning the internal state of the system, and restarting the system. Since rejuvenation incurs extra system overhead and downtime cost, it is important to determine the optimal time to trigger rejuvenation. This paper proposes a two-layer model to characterize the system failure behavior and rejuvenation process under aging condition, planning a time-based rejuvenation policy maximizing the system availability and minimizing downtime cost. The lower layer is a failure model that uses an analytical model and runtime measurements to build the failure distribution of the aging system. The upper layer is a rejuvenation model that takes the failure distribution from the lower layer as input to formulate the availability function and downtime cost function. Taking these two functions as optimization targets, we can obtain the optimal rejuvenation time. Compared with the traditional analytical model, the two-layer model modeling software failure considers runtime measurements, which can describe the aging behavior more accurately. In the experimental part, we comprehensively evaluate the two-layer model by studying the aging of the web search system. The results show that the two-layer model reduces unavailability by 18.18% and reduces downtime cost by 31.22% in comparison with the traditional analytical model.

Highlights

  • Software systems tend to suffer from performance degradation after a long period of uninterrupted operation

  • We propose a two-layer model for the analysis of software rejuvenation considering runtime measurements, the availability function and cost function are respectively established and solved to obtain the optimal rejuvenation time

  • This paper proposes a two-layer model that takes into account runtime measurements to model the rejuvenation process of the aging software system and plans rejuvenation policy in terms of maximizing the system availability and minimizing downtime cost

Read more

Summary

INTRODUCTION

Software systems tend to suffer from performance degradation after a long period of uninterrupted operation. J. Li et al.: Planning Optimal Rejuvenation Policy for Aging Software Systems via a Two-Layer Model garbage collection mechanism in software programs fails to completely release the occupied resource. To prevent performance degradation and failures caused by aging, software rejuvenation technique is widely used, which works by proactively freeing up system resources and removing accumulated error conditions [9]. The methods to plan rejuvenation policy can be categorized into model-based and measurement-based approaches. We propose a two-layer model for the analysis of software rejuvenation considering runtime measurements, the availability function and cost function are respectively established and solved to obtain the optimal rejuvenation time. Based on the two-layer model, we plan the periodic rejuvenation policy in terms of maximizing availability and minimizing downtime cost.

RELEVANT WORK
MODEL DESCRIPTION
THE REJUVENATION MODEL AND OPTIMAL REJUVENATION POLICY
CASE STUDY
EVALUATION OF THE FAILURE MODEL
EVALUATION OF THE REJUVENATION MODEL
COMPARISON
Findings
CONCLUSION
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