Control theory for model-based performance-driven software adaptation

Self-adaptive techniques have been introduced in the last few years to tackle the growing complexity of software systems, where a major complexity factor leans on their dynamic nature subject to sudden and unpredictable changes that can heavily impact on the software architecture quality. Nonfunctional models, as generated from architectural descriptions of software, have been proven as effective instruments to support designers meeting non-functional requirements since the early architectural phases. However, such models still lack of intrinsic support for adaptable software. Goal of this paper is to extend the modeling capabilities to the case of software adaptation aimed at satisfying performance requirements. In particular, we illustrate how control theory can solve the problem of keeping within pre-defined ranges the indices of a Queueing Network model (such as queue length) through software adaptation actions (such as replacing software services with less resource-demanding ones), while the model is subject to disturbances (such as workload and/or operational profile variations). For this goal we first introduce a library of Modelica components that represent Queueing Network (QN) elements with adaptable parameters (that can be used as knobs for adaptation actions). Then we use such components to build “adaptable” QN models that are subject to disturbances. Finally, in the same framework, we introduce controllers that drive the QN adaptation. We demonstrate the soundness of our approach on a simple representative example in two ways: (i) on one end, we provide a formal proof of controller performance guarantees, and (ii) on the other end we show the sensitivity over time of software adaptation actions to different (types and intensities of) disturbances.

[1]  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.

[2]  R. Firoozian Feedback Control Theory , 2009 .

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

[4]  Myron Hlynka,et al.  Queueing Networks and Markov Chains (Modeling and Performance Evaluation With Computer Science Applications) , 2007, Technometrics.

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

[6]  Radu Calinescu,et al.  Adaptive model learning for continual verification of non-functional properties , 2014, ICPE.

[7]  Astrom Computer Controlled Systems , 1990 .

[8]  K. Shin,et al.  Performance Guarantees for Web Server End-Systems: A Control-Theoretical Approach , 2002, IEEE Trans. Parallel Distributed Syst..

[9]  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.

[10]  Naresh K. Sinha,et al.  Modern Control Systems , 1981, IEEE Transactions on Systems, Man, and Cybernetics.

[11]  Samuel Kounev,et al.  Towards Self-Aware Performance and Resource Management in Modern Service-Oriented Systems , 2010, 2010 IEEE International Conference on Services Computing.

[12]  Jeff S. Shamma,et al.  An Overview of LPV Systems , 2012 .

[13]  Carlo Ghezzi,et al.  A formal approach to adaptive software: continuous assurance of non-functional requirements , 2011, Formal Aspects of Computing.

[14]  Joseph L. Hellerstein,et al.  Applying control theory in the real world: experience with building a controller for the .NET thread pool , 2010, PERV.

[15]  Sem C. Borst,et al.  Beyond processor sharing , 2007, PERV.

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

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

[18]  Naga K. Govindaraju,et al.  Auto-tuning of fast fourier transform on graphics processors , 2011, PPoPP '11.

[19]  Woongki Baek,et al.  Green: a framework for supporting energy-conscious programming using controlled approximation , 2010, PLDI '10.

[20]  Alan Edelman,et al.  PetaBricks: a language and compiler for algorithmic choice , 2009, PLDI '09.

[21]  Tore Hägglund,et al.  Advanced PID Control , 2005 .

[22]  Alberto Leva,et al.  Control-Based Operating System Design , 2013, IET Control Engineering Series.

[23]  Carlo Ghezzi,et al.  Reliability-driven dynamic binding via feedback control , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[24]  Javad Mohammadpour,et al.  Control of linear parameter varying systems with applications , 2012 .

[25]  Marin Litoiu,et al.  Integrated estimation and tracking of performance model parameters with autoregressive trends , 2011, ICPE '11.

[26]  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).

[27]  Gunter Bolch,et al.  Queueing Networks and Markov Chains - Modeling and Performance Evaluation with Computer Science Applications, Second Edition , 1998 .

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

[29]  Karl Johan Åström,et al.  Computer-Controlled Systems: Theory and Design , 1984 .

[30]  Maria Kihl,et al.  Control-theoretic Analysis of Admission Control Mechanisms for Web Server Systems , 2007, World Wide Web.

[31]  Daniel Liberzon,et al.  Common Lyapunov functions and gradient algorithms , 2004, IEEE Transactions on Automatic Control.

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

[33]  Lieven Eeckhout,et al.  Quantifying the Impact of Input Data Sets on Program Behavior and its Applications , 2003, J. Instr. Level Parallelism.

[34]  Vincenzo Grassi,et al.  MOSES: A Framework for QoS Driven Runtime Adaptation of Service-Oriented Systems , 2012, IEEE Transactions on Software Engineering.

[35]  Cesare Pautasso,et al.  Kriging Controllers for Cloud Applications , 2013, IEEE Internet Computing.

[36]  Peter Fritzson,et al.  Modelica - A Unified Object-Oriented Language for System Modelling and Simulation , 1998, ECOOP.

[37]  Carlo Ghezzi,et al.  Self-adaptive software needs quantitative verification at runtime , 2012, CACM.

[38]  George Kurian,et al.  Self-aware computing in the Angstrom processor , 2012, DAC Design Automation Conference 2012.

[39]  Joseph L. Hellerstein,et al.  Using Control Theory to Achieve Service Level Objectives In Performance Management , 2002, Real-Time Systems.

[40]  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).

[41]  Marco Lovera,et al.  LPV model identification for power management of Web service systems , 2008, 2008 IEEE International Conference on Control Applications.

[42]  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.

[43]  Raffaela Mirandola,et al.  On the relationships between QoS and software adaptability at the architectural level , 2014, J. Syst. Softw..

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

[45]  Alberto Leva,et al.  Tuning of event-based industrial controllers with simple stability guarantees , 2013 .

[46]  Dilma Da Silva,et al.  K42: building a complete operating system , 2006, EuroSys.

[47]  Chenyang Lu,et al.  Feedback performance control in software services , 2003 .

[48]  Jichi Guo,et al.  Automated empirical tuning of scientific codes for performance and power consumption , 2011, HiPEAC.

[49]  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).

[50]  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.

[51]  Kang G. Shin,et al.  What does control theory bring to systems research? , 2009, OPSR.

[52]  Gunter Bolch,et al.  Queueing Networks and Markov Chains , 2005 .

[53]  Qilu Sun,et al.  LPV Model and Its Application in Web Server Performance Control , 2008, 2008 International Conference on Computer Science and Software Engineering.

[54]  Peter F. Sweeney,et al.  Performance and environment monitoring for continuous program optimization , 2006, IBM J. Res. Dev..

[55]  Nancy M. Amato,et al.  A framework for adaptive algorithm selection in STAPL , 2005, PPoPP.