Improving Architecture-Based Self-Adaptation through Resource Prediction
Software Engineering for Self-Adaptive Systems
Load forecasting applied to soft real-time web clusters
Proceedings of the 2010 ACM Symposium on Applied Computing
Exploiting non-functional preferences in architectural adaptation for self-managed systems
Proceedings of the 2010 ACM Symposium on Applied Computing
Taming uncertainty in self-adaptive software
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Leveraging state-based user preferences in context-aware reconfigurations for self-adaptive systems
SEFM'11 Proceedings of the 9th international conference on Software engineering and formal methods
DAIS'10 Proceedings of the 10th IFIP WG 6.1 international conference on Distributed Applications and Interoperable Systems
A framework for managing uncertainty in self-adaptive software systems
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Stitch: A language for architecture-based self-adaptation
Journal of Systems and Software
Journal of Systems and Software
Hi-index | 0.00 |
Self-adapting systems based on multiple concurrent applications must decide how to allocate scarce resources to applications and how to set the quality parameters of each application to best satisfy the user. Past work has made those decisions with analytic models that used current resource availability information: they react to recent changes in resource availability as they occur, rather than anticipating future availability. These reactive techniques may model each local decision optimally, but the accumulation of decisions over time nearly always becomes less than optimal. In this paper, we propose an approach to selfadaptation, called anticipatory configuration that leverages predictions of future resource availability to improve utility for the user over the duration of the task. The approach solves the following technical challenges: (1) how to express resource availability prediction, (2) how to combine prediction from multiple sources, and (3) how to leverage predictions continuously while improving utility to the user. Our experiments show that when certain adaptation operations are costly, anticipatory configuration provides better utility to the user than reactive configuration, while being comparable in resource demand.