Automated multi-objective control for self-adaptive software design

While software is becoming more complex everyday, the requirements on its behavior are not getting any easier to satisfy. An application should offer a certain quality of service, adapt to the current environmental conditions and withstand runtime variations that were simply unpredictable during the design phase. To tackle this complexity, control theory has been proposed as a technique for managing software's dynamic behavior, obviating the need for human intervention. Control-theoretical solutions, however, are either tailored for the specific application or do not handle the complexity of multiple interacting components and multiple goals. In this paper, we develop an automated control synthesis methodology that takes, as input, the configurable software components (or knobs) and the goals to be achieved. Our approach automatically constructs a control system that manages the specified knobs and guarantees the goals are met. These claims are backed up by experimental studies on three different software applications, where we show how the proposed automated approach handles the complexity of multiple knobs and objectives.

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

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

[3]  J. Wrench Table errata: The art of computer programming, Vol. 2: Seminumerical algorithms (Addison-Wesley, Reading, Mass., 1969) by Donald E. Knuth , 1970 .

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

[5]  Donald E. Knuth The Art of Computer Programming 2 / Seminumerical Algorithms , 1971 .

[6]  Stephen R. Marsland,et al.  Machine Learning - An Algorithmic Perspective , 2009, Chapman and Hall / CRC machine learning and pattern recognition series.

[7]  Christian P. Robert,et al.  Monte Carlo Statistical Methods (Springer Texts in Statistics) , 2005 .

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

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

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

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

[12]  Albert Y. Zomaya,et al.  On Using Pattern Matching Algorithms in MapReduce Applications , 2011, 2011 IEEE Ninth International Symposium on Parallel and Distributed Processing with Applications.

[13]  Donald Ervin Knuth,et al.  The Art of Computer Programming, Volume II: Seminumerical Algorithms , 1970 .

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

[15]  Engin Ipek,et al.  Coordinated management of multiple interacting resources in chip multiprocessors: A machine learning approach , 2008, 2008 41st IEEE/ACM International Symposium on Microarchitecture.

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

[17]  Marin Litoiu,et al.  Performance Model Estimation and Tracking Using Optimal Filters , 2008, IEEE Transactions on Software Engineering.

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

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

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

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

[22]  Shivnath Babu,et al.  Towards automatic optimization of MapReduce programs , 2010, SoCC '10.

[23]  Henry Hoffmann,et al.  Racing and Pacing to Idle : Minimizing Energy Under Performance Constraints , 2014 .

[24]  Mark D. Corner,et al.  Eon: a language and runtime system for perpetual systems , 2007, SenSys '07.

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

[26]  Srinivas Devadas,et al.  Selecting Spatiotemporal Patterns for Development of Parallel Applications , 2012, IEEE Transactions on Parallel and Distributed Systems.

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

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

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

[30]  Brian A. Carter,et al.  Advanced Encryption Standard , 2007 .

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

[32]  Hoon Kim,et al.  Monte Carlo Statistical Methods , 2000, Technometrics.

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

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

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

[36]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

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

[38]  Gerald W. Evans,et al.  Kriging Metamodeling in Multi-objective Simulation Optimization , 2009, WSC.

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

[40]  Engin Ipek,et al.  Core fusion: accommodating software diversity in chip multiprocessors , 2007, ISCA '07.

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

[42]  HoffmannHenry,et al.  Dynamic knobs for responsive power-aware computing , 2011 .

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

[44]  Gerd Brewka,et al.  Artificial intelligence - a modern approach by Stuart Russell and Peter Norvig, Prentice Hall. Series in Artificial Intelligence, Englewood Cliffs, NJ , 1996, The Knowledge Engineering Review.

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

[46]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[47]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[48]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[49]  Carlo Ghezzi,et al.  Further steps towards efficient runtime verification: Handling probabilistic cost models , 2012, 2012 First International Workshop on Formal Methods in Software Engineering: Rigorous and Agile Approaches (FormSERA).

[50]  Henry Hoffmann,et al.  Minimizing energy under performance constraints on embedded platforms: resource allocation heuristics for homogeneous and single-ISA heterogeneous multi-cores , 2015, SIGBED.

[51]  Onur Mutlu,et al.  Accelerating critical section execution with asymmetric multi-core architectures , 2009, ASPLOS.

[52]  Victor Pankratius,et al.  Run-Time Automatic Performance Tuning for Multicore Applications , 2011, Euro-Par.

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

[54]  Thomas L. Magnanti,et al.  Applied Mathematical Programming , 1977 .

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

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

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

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

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

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

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

[62]  R. Laddaga Creating robust software through self-adaptation , 1999, IEEE Intelligent Systems and their Applications.

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

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

[65]  Lars Grunske,et al.  Software Architecture Optimization Methods: A Systematic Literature Review , 2013, IEEE Transactions on Software Engineering.

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