IEEE Access (Jan 2020)

Planning Optimal Rejuvenation Policy for Aging Software Systems via a Two-Layer Model

  • Jingwei Li,
  • Yong Qi,
  • Guanghua Wang,
  • Jinwei Lin

DOI
https://doi.org/10.1109/ACCESS.2020.3011813
Journal volume & issue
Vol. 8
pp. 136725 – 136735

Abstract

Read online

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.

Keywords