Abstract

In this paper, we design, implement and evaluate AdaptGuard, a software service for guarding adaptive systems, such as QoS-adaptive servers, from instability caused by software anomalies and faults. Adaptive systems are of growing importance due to the need to adjust performance to a larger range of changing environmental conditions without human intervention. Such systems, however, implicitly assume a model of system behavior that may be violated, causing adaptation loops to perform poorly or fail. The purpose of AdaptGuard is simple: in the absence of an a priori model of the adaptive software system, anticipate system instability, attribute it correctly to the right adaptation loop, and disconnect it, replacing it with conservative but stable open-loop control until further notice. We evaluate AdaptGuard by injecting various software faults into adaptive systems that are managed by typical adaptation loops. Results demonstrate that it can successfully anticipate instability caused by the injected faults and recover from performance degradation. Further, a case study is presented using an Apache Web server serving multiple classes of traffic. A performance anomaly is demonstrated, caused by unexpected interactions between an admission controller and the Linux anti-livelock mechanism. In the absence of a model that describes this mechanism, AdaptGuard is able to correctly attribute the unexpected problem to the right runaway loop and fix it.

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

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.