Automated control of multiple software goals using multiple actuators

Modern software should satisfy multiple goals simultaneously: it should provide predictable performance, be robust to failures, handle peak loads and deal seamlessly with unexpected conditions and changes in the execution environment. For this to happen, software designs should account for the possibility of runtime changes and provide formal guarantees of the software's behavior. Control theory is one of the possible design drivers for runtime adaptation, but adopting control theoretic principles often requires additional, specialized knowledge. To overcome this limitation, automated methodologies have been proposed to extract the necessary information from experimental data and design a control system for runtime adaptation. These proposals, however, only process one goal at a time, creating a chain of controllers. In this paper, we propose and evaluate the first automated strategy that takes into account multiple goals without separating them into multiple control strategies. Avoiding the separation allows us to tackle a larger class of problems and provide stronger guarantees. We test our methodology's generality with three case studies that demonstrate its broad applicability in meeting performance, reliability, quality, security, and energy goals despite environmental or requirements changes.

[1]  Fan Wu,et al.  Genetic improvement for adaptive software engineering (keynote) , 2014, SEAMS 2014.

[2]  Henry Hoffmann,et al.  Automated design of self-adaptive software with control-theoretical formal guarantees , 2014, Software Engineering & Management.

[3]  Thomas Vogel,et al.  Software Engineering Meets Control Theory , 2015, 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.

[4]  Mary Shaw,et al.  Engineering Self-Adaptive Systems through Feedback Loops , 2009, Software Engineering for Self-Adaptive Systems.

[5]  Henry Hoffmann,et al.  Self-Adaptive Video Encoder: Comparison of Multiple Adaptation Strategies Made Simple , 2017, 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[6]  Danny Weyns,et al.  Keep it SIMPLEX: satisfying multiple goals with guarantees in control-based self-adaptive systems , 2016, SIGSOFT FSE.

[7]  Yixin Diao,et al.  Feedback Control of Computing Systems , 2004 .

[8]  Isis Truck,et al.  From Data Center Resource Allocation to Control Theory and Back , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

[9]  Sam Malek,et al.  A Systematic Survey of Self-Protecting Software Systems , 2014, ACM Trans. Auton. Adapt. Syst..

[10]  Henry Hoffmann,et al.  Automated multi-objective control for self-adaptive software design , 2015, ESEC/SIGSOFT FSE.

[11]  Stephen P. Boyd,et al.  Fast Model Predictive Control Using Online Optimization , 2010, IEEE Transactions on Control Systems Technology.

[12]  Luciano Baresi,et al.  A discrete-time feedback controller for containerized cloud applications , 2016, SIGSOFT FSE.

[13]  Jun Han,et al.  A systematic survey on the design of self-adaptive software systems using control engineering approaches , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[14]  Henry Hoffmann,et al.  Controlling software applications via resource allocation within the heartbeats framework , 2010, 49th IEEE Conference on Decision and Control (CDC).

[15]  Henry Hoffmann,et al.  Power Optimization in Embedded Systems via Feedback Control of Resource Allocation , 2013, IEEE Transactions on Control Systems Technology.

[16]  Amin Ansari,et al.  Using Multiple Input, Multiple Output Formal Control to Maximize Resource Efficiency in Architectures , 2016, 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA).

[17]  Carlo Ghezzi,et al.  A journey to highly dynamic, self-adaptive service-based applications , 2008, Automated Software Engineering.

[18]  Manfred Morari,et al.  Computational Complexity Certification for Real-Time MPC With Input Constraints Based on the Fast Gradient Method , 2012, IEEE Transactions on Automatic Control.

[19]  Jan M. Maciejowski,et al.  Predictive control : with constraints , 2002 .

[20]  Henry Hoffmann,et al.  A generalized software framework for accurate and efficient management of performance goals , 2013, 2013 Proceedings of the International Conference on Embedded Software (EMSOFT).

[21]  William S. Levine,et al.  The Control Handbook , 2005 .

[22]  Sebastián Uchitel,et al.  Hope for the best, prepare for the worst: multi-tier control for adaptive systems , 2014, ICSE.

[23]  Manfred Morari,et al.  Embedded Online Optimization for Model Predictive Control at Megahertz Rates , 2013, IEEE Transactions on Automatic Control.

[24]  Lennart Ljung,et al.  System Identification: Theory for the User , 1987 .

[25]  Manfred Morari,et al.  On real-time robust model predictive control , 2014, Autom..

[26]  Carlo Ghezzi,et al.  Self-adaptive software meets control theory: A preliminary approach supporting reliability requirements , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[27]  Sang Hyuk Son,et al.  Feedback Control Architecture and Design Methodology for Service Delay Guarantees in Web Servers , 2006, IEEE Transactions on Parallel and Distributed Systems.

[28]  Simon Oberthür,et al.  Dynamic online reconfiguration for customizable and self-optimizing operating systems , 2005, EMSOFT.

[29]  Jing Xu,et al.  QoS-Driven Cloud Resource Management through Fuzzy Model Predictive Control , 2015, 2015 IEEE International Conference on Autonomic Computing.

[30]  Carlo Ghezzi,et al.  Supporting Self-Adaptation via Quantitative Verification and Sensitivity Analysis at Run Time , 2016, IEEE Transactions on Software Engineering.

[31]  Eric C. Kerrigan,et al.  A sparse and condensed QP formulation for predictive control of LTI systems , 2012, Autom..

[32]  Michel Verhaegen,et al.  Closed-loop subspace identification methods: an overview , 2013 .

[33]  Marin Litoiu,et al.  Replica Placement in Cloud through Simple Stochastic Model Predictive Control , 2014, 2014 IEEE 7th International Conference on Cloud Computing.

[34]  Marko Bacic,et al.  Model predictive control , 2003 .

[35]  Eero P. Simoncelli,et al.  Image quality assessment: from error visibility to structural similarity , 2004, IEEE Transactions on Image Processing.

[36]  Gail E. Kaiser,et al.  Self-managing systems: a control theory foundation , 2005, 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05).

[37]  John Mylopoulos,et al.  Model Predictive Control for Software Systems with CobRA , 2016, 2016 IEEE/ACM 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[38]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

[39]  Lars Grunske,et al.  Lightweight Adaptive Filtering for Efficient Learning and Updating of Probabilistic Models , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[40]  Danny Weyns,et al.  A survey of formal methods in self-adaptive systems , 2012, C3S2E '12.

[41]  Amin Ansari,et al.  Using Multiple Input, Multiple Output Formal Control to Maximize Resource Efficiency in Architectures , 2016, 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA).

[42]  V. Verdult,et al.  Filtering and System Identification: A Least Squares Approach , 2007 .

[43]  Jeff Magee,et al.  Self-Managed Systems: an Architectural Challenge , 2007, Future of Software Engineering (FOSE '07).

[44]  Quanyan Zhu,et al.  Dynamic Service Placement in Geographically Distributed Clouds , 2012, IEEE Journal on Selected Areas in Communications.

[45]  Bradley R. Schmerl,et al.  Proactive self-adaptation under uncertainty: a probabilistic model checking approach , 2015, ESEC/SIGSOFT FSE.

[46]  Henry Hoffmann,et al.  Self-Adaptive Video Encoder: Comparison of Multiple Adaptation Strategies Made Simple (Artifact) , 2017, Dagstuhl Artifacts Ser..

[47]  Carlo Ghezzi,et al.  Run-time efficient probabilistic model checking , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[48]  Ladan Tahvildari,et al.  Self-adaptive software: Landscape and research challenges , 2009, TAAS.

[49]  Basil Kouvaritakis,et al.  Model Predictive Control: Classical, Robust and Stochastic , 2015 .

[50]  Thomas Vogel,et al.  Control Strategies for Self-Adaptive Software Systems , 2017, ACM Trans. Auton. Adapt. Syst..

[51]  Vincent Rijmen,et al.  The Design of Rijndael , 2002, Information Security and Cryptography.

[52]  Henry Hoffmann,et al.  A Generalized Software System for Accurate and Efficient Management of Application Performance Goals , 2013, EMSOFT 2013.

[53]  Henry Hoffmann,et al.  CoAdapt: Predictable Behavior for Accuracy-Aware Applications Running on Power-Aware Systems , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[54]  Gunter Saake,et al.  On essential configuration complexity: Measuring interactions in highly-configurable systems , 2016, 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE).

[55]  Henry Hoffmann,et al.  Racing and Pacing to Idle: Theoretical and Empirical Analysis of Energy Optimization Heuristics , 2015, 2015 IEEE 3rd International Conference on Cyber-Physical Systems, Networks, and Applications.

[56]  Naim A. Kheir,et al.  Control system design , 2001, Autom..

[57]  Xiaoyun Zhu,et al.  Designing Controllable Computer Systems , 2005, HotOS.

[58]  Nagarajan Kandasamy,et al.  Power and performance management of virtualized computing environments via lookahead control , 2008, 2008 International Conference on Autonomic Computing.

[59]  Sebastián Uchitel,et al.  Runtime controller synthesis for self-adaptation: be discrete! , 2016, SEAMS@ICSE.

[60]  Henry Hoffmann,et al.  MEANTIME: Achieving Both Minimal Energy and Timeliness with Approximate Computing , 2016, USENIX Annual Technical Conference.

[61]  Nagarajan Kandasamy,et al.  Risk-aware limited lookahead control for dynamic resource provisioning in enterprise computing systems , 2006, 2006 IEEE International Conference on Autonomic Computing.

[62]  Henry Hoffmann,et al.  JouleGuard: energy guarantees for approximate applications , 2015, SOSP.

[63]  Henry Hoffmann,et al.  POET: a portable approach to minimizing energy under soft real-time constraints , 2015, 21st IEEE Real-Time and Embedded Technology and Applications Symposium.