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 “runaway” 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 insta...
Jin Heo, Tarek F. Abdelzaher