A feedback control approach for preventing system resource exhaustion caused by software aging
© 2019 Taiwan Academic Network Management Committee. All rights reserved. The dynamic behavior of software systems attracts widened attention through the phenomenon of software aging. Software aging is caused by runtime environment deterioration, such as the gradual loss of memory or CPU cycles. The dynamic behavior of aged software systems can be described by a set of evolving resource variables, including CPU usage, I/O bandwidth, available memory and the like. From this point of view, an aging software system can be analogous to a dynamic system. Control theory provides sound and rigorous mathematical principles to analyze dynamic systems and build controllers for them. This paper introduces control theory to analyze and build a control model and apply control techniques to an aged web server. First, we treated the software system as a black box, and conducted controlled experiments to build the relationship between input and output. Then, these input-output couples are used to build a control model via a system identification method. Finally, a PI (proportional-integral) controller is designed to adjust the aged state of the software system, and software rejuvenation techniques are customized to target the web server. Performance testing shows that our approach can accurately track the reference value set by the website administrator.