PID-based controls in computing systems: a brief survey and some research directions <s> MINIMAL LITERATURE REVIEW <s> This paper presents a feedback control real-time scheduling (FCS) framework for adaptive real-time systems. An advantage of the FCS framework is its use of feedback control theory (rather than ad hoc solutions) as a scientific underpinning. We apply a control theory based methodology to systematically design FCS algorithms to satisfy the transient and steady state performance specifications of real-time systems. In particular, we establish dynamic models of real-time systems and develop performance analyses of FCS algorithms, which are major challenges and key steps for the design of control theory based adaptive real-time systems. We also present a FCS architecture that allows plug-ins of different real-time scheduling policies and QoS optimization algorithms. Based on our framework, we identify different categories of real-time applications where different FCS algorithms should be applied. Performance evaluation results demonstrate that our analytically tuned FCS algorithms provide robust transient and steady state performance guarantees for periodic and aperiodic tasks even when the task execution times vary by as much as 100% from the initial estimate. <s> BIB001 </s> PID-based controls in computing systems: a brief survey and some research directions <s> MINIMAL LITERATURE REVIEW <s> Preface. PART I: BACKGROUND. 1. Introduction and Overview. PART II: SYSTEM MODELING. 2. Model Construction. 3. Z-Transforms and Transfer Functions. 4. System Modeling with Block Diagrams. 5. First-Order Systems. 6. Higher-Order Systems. 7. State-Space Models. PART III: CONTROL ANALYSIS AND DESIGN. 8. Proportional Control. 9. PID Controllers. 10. State-Space Feedback Control. 11. Advanced Topics. Appendix A: Mathematical Notation. Appendix B: Acronyms. Appendix C: Key Results. Appendix D: Essentials of Linear Algebra. Appendix E: MATLAB Basics. References. Index. <s> BIB002 </s> PID-based controls in computing systems: a brief survey and some research directions <s> MINIMAL LITERATURE REVIEW <s> It is challenging to reduce resource over-provisioning for enterprise applications while maintaining service level objectives (SLOs) due to their time-varying and stochastic workloads. In this paper, we study the effect of prediction on dynamic resource allocation to virtualized servers running enterprise applications. We present predictive controllers using three different prediction algorithms based on a standard auto-regressive (AR) model, a combined ANOVA-AR model, as well as a multi-pulse (MP) model. We compare the properties of the predictive controllers with an adaptive integral (I) controller designed in our earlier work on controlling relative utilization of resource containers. The controllers are evaluated in a hypothetical virtual server environment where we use the CPU utilization traces collected on 36 servers in an enterprise data center. Since these traces were collected in an open-loop environment, we use a simple queuing algorithm to simulate the closed-loop CPU usage under dynamic control of CPU allocation. We also study the controllers by emulating the utilization traces on a test bed where a Web server was hosted inside a Xen virtual machine. We compare the results of these controllers from all the servers and find that the MP-based predictive controller performed slightly better statistically than the other two predictive controllers. The ANOVA-AR-based approach is highly sensitive to the existence of periodic patterns in the trace, while the other three methods are not. In addition, all the three predictive schemes performed significantly better when the prediction error was accounted for using a feedback mechanism. The MP-based method also demonstrated an interesting self-learning behavior <s> BIB003 </s> PID-based controls in computing systems: a brief survey and some research directions <s> MINIMAL LITERATURE REVIEW <s> Many real-time systems must control their CPU utilizations in order to meet end-to-end deadlines and prevent overload. Utilization control is particularly challenging in distributed real-time systems with highly unpredictable workloads and a large number of end-to-end tasks and processors. This paper presents the decentralized end-to-end utilization control (DEUCON) algorithm, which can dynamically enforce the desired utilizations on multiple processors in such systems. In contrast to centralized control schemes adopted in earlier works, DEUCON features a novel decentralized control structure that requires only localized coordination among neighbor processors. DEUCON is systematically designed based on advances in distributed model predictive control theory. Both control-theoretic analysis and simulations show that DEUCON can provide robust utilization guarantees and maintain global system stability despite severe variations in task execution times. Furthermore, DEUCON can effectively distribute the computation and communication cost to different processors and tolerate considerable communication delay between local controllers. Our results indicate that DEUCON can provide a scalable and robust utilization control for large-scale distributed real-time systems executing in unpredictable environments. <s> BIB004 </s> PID-based controls in computing systems: a brief survey and some research directions <s> MINIMAL LITERATURE REVIEW <s> Web sites are exposed to high rates of incoming requests. The servers may become overloaded during temporary traffic peaks when more requests arrive than the server is designed for. An admission control mechanism rejects some requests whenever the arriving traffic is too high and thereby maintains an acceptable load in the system. This paper presents how admission control mechanisms can be designed with a combination of queueing theory and control theory. In this paper we model an Apache web server as a GI/G/1-system and then design a PI-controller, commonly used in automatic control, for the server. The controller has been implemented as a module inside the Apache source code. Measurements from the laboratory setup show how robust the implemented controller is, and how it corresponds to the results from the theoretical analysis. <s> BIB005 </s> PID-based controls in computing systems: a brief survey and some research directions <s> MINIMAL LITERATURE REVIEW <s> Autonomic Computing is a concept that brings together many fields of computing with the purpose of creating computing systems that self-manage. In its early days it was criticised as being a “hype topic” or a rebadging of some Multi Agent Systems work. In this survey, we hope to show that this was not indeed ‘hype’ and that, though it draws on much work already carried out by the Computer Science and Control communities, its innovation is strong and lies in its robust application to the specific self-management of computing systems. To this end, we first provide an introduction to the motivation and concepts of autonomic computing and describe some research that has been seen as seminal in influencing a large proportion of early work. Taking the components of an established reference model in turn, we discuss the works that have provided significant contributions to that area. We then look at larger scaled systems that compose autonomic systems illustrating the hierarchical nature of their architectures. Autonomicity is not a well defined subject and as such different systems adhere to different degrees of Autonomicity, therefore we cross-slice the body of work in terms of these degrees. From this we list the key applications of autonomic computing and discuss the research work that is missing and what we believe the community should be considering. <s> BIB006 </s> PID-based controls in computing systems: a brief survey and some research directions <s> MINIMAL LITERATURE REVIEW <s> To deal with the increasing complexity of software systems and uncertainty of their environments, software engineers have turned to self-adaptivity. Self-adaptive systems are capable of dealing with a continuously changing environment and emerging requirements that may be unknown at design-time. However, building such systems cost-effectively and in a predictable manner is a major engineering challenge. In this paper, we explore the state-of-the-art in engineering self-adaptive systems and identify potential improvements in the design process. ::: ::: Our most important finding is that in designing self-adaptive systems, the feedback loops that control self-adaptation must become first-class entities. We explore feedback loops from the perspective of control engineering and within existing self-adaptive systems in nature and biology. Finally, we identify the critical challenges our community must address to enable systematic and well-organized engineering of self-adaptive and self-managing software systems. <s> BIB007 </s> PID-based controls in computing systems: a brief survey and some research directions <s> MINIMAL LITERATURE REVIEW <s> Control engineering approaches have been identified as a promising tool to integrate self-adaptive capabilities into software systems. Introduction of the feedback loop and controller into the management system potentially enables the software systems to achieve the runtime performance objectives and maintain the integrity of the system when they are operating in unpredictable and dynamic environments. There is a large body of literature that has proposed control engineering solutions for different application domains, handling different performance variables and control objectives. However, the relevant literature is scattered over different conference proceedings, journals and research communities. Consequently, conducting a survey to analyze and classify the existing literature is a useful, yet a challenging task. This paper presents the results of a systematic survey that includes classification and analysis of 161 papers in the existing literature. In order to capture the characteristics of the control solutions proposed in these papers we introduce a taxonomy as a basis for classification of all articles. Finally, survey results are presented, including quantitative, cross and trend analysis. <s> BIB008 </s> PID-based controls in computing systems: a brief survey and some research directions <s> MINIMAL LITERATURE REVIEW <s> How can you take advantage of feedback control for enterprise programming? With this book, author Philipp K. Janert demonstrates how the same principles that govern cruise control in your car also apply to data center management and other enterprise systems. Through case studies and hands-on simulations, youll learn methods to solve several control issues, including mechanisms to spin up more servers automatically when web traffic spikes. Feedback is ideal for controlling large, complex systems, but its use in software engineering raises unique issues. This book provides basic theory and lots of practical advice for programmers with no previous background in feedback control.Learn feedback concepts and controller design Get practical techniques for implementing and tuning controllers Use feedback design patterns for common control scenarios Maintain a caches hit rate by automatically adjusting its size Respond to web traffic by scaling server instances automatically Explore ways to use feedback principles with queueing systems Learn how to control memory consumption in a game engine Take a deep dive into feedback control theory <s> BIB009 </s> PID-based controls in computing systems: a brief survey and some research directions <s> MINIMAL LITERATURE REVIEW <s> United States. Defense Advanced Research Projects Agency. The Ubiquitous High Performance Computing Program <s> BIB010 </s> PID-based controls in computing systems: a brief survey and some research directions <s> MINIMAL LITERATURE REVIEW <s> 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. Non-functional 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. <s> BIB011 </s> PID-based controls in computing systems: a brief survey and some research directions <s> MINIMAL LITERATURE REVIEW <s> Besides a fair distribution of limited resources among competing plants in a networked embedded control system (NECS) an efficient utilization of such scarce resources is crucial. Therefore, a novel event-based codesign concept for NECSs with limited communication bandwidth and computation capacity is presented in this paper. The codesign concept involves a joint design of an event-based controller and scheduler (EBCS) for improving the control performance provided that the limited resources are used efficiently. The NECS with a set of interacting continuous-time LTI plants is modeled as a discrete-time switched linear system. The EBCS codesign problem is then formulated as a linear matrix inequality (LMI) optimization problem minimizing an associated quadratic cost function. The EBCS strategy is then evaluated and compared with existing codesign strategies in literature for a simulation study involving a simultaneous stabilization of two mechanically coupled inverted pendulums. It should be remarked finally that the proposed EBCS strategy is generally applicable to discrete-time switched linear systems. <s> BIB012
The outset of "computing systems control" is very well described in the paper that  wrote as a follow-up to an IBM research report (RC23646, W0506-124, 29 June 2005) . According to the authors, research needs to explore "the extent to which control theory can provide an architectural and analytic foundation for building self-managing systems" and to exploit the "correspondence between the elements of autonomic systems and those in control systems", as "control theory provides a rich set of methodologies for building automated selfdiagnosis and self-repair systems with properties such as stability, short settling times, and accurate regulation". A similar attitude is observed in Part I of the book by BIB002 . To mention just a very few of the numerous works originated by those pioneering ideas, BIB001 added a control layer to the EDF (Earliest Deadline First) and the rate monotonic scheduling algorithms, BIB003 employed inputoutput models for resource allocation in data centres, BIB004 proposed a control scheme for real-time systems utilisation, BIB005 analysed admission control in web servers by using a dynamic model, and so forth; the survey by BIB006 gives a comprehensive view of research in that period. More recently, two additional trends emerged, and are gaining relevance. First, works like BIB009 stress the application-related usefulness of "control in computers" stronger than before. Second, the research focus is widening toward control-based computing systems design as a means to avoid the problems of previous approaches, where first the computing system is designed to be completely functional, and only afterwards does control move in to "optimise" -whatever this meansits operation. Bringing control into the design of systems is a very articulated task, however, requiring to address multiple objectives. It is often necessary to instrument the system to allow closing the required loops BIB007 BIB008 , to design and install specific control-based components BIB010 BIB011 , and sometimes to completely re-design (in a control-centric manner) parts that otherwise would be too critical for the desired results  BIB012 . Summarising, a research topic of great importance is nowadays not only to control computing systems, but also to make their design control-aware, and set up controls accordingly. In fact, in computing systems, most of the objects to be controlled are homogeneous to controllers, i.e., they are software themselves; and in such an arena, quite intuitively, the idea of co-design should find an application domain of election. Given the breadth of the domain, as sketched out above, this research is expected to last for quite a long time. Nonetheless, and somehow despite the variety of encountered cases, there are conceptually grounded reasons to envisage a relevant role for PI-and PID-based controls. As a consequence, there are problem-specific control structures to build and assess, domain-specific stability and performance problems to study, and implementation-related facts -particularly, but not exclusively, measurement and actuation ones -to address in a systematic manner, so as to establish best practices and system design guidelines. Viewed in general, the problem is to realise a cultural and engineering convergence for the computers and the control communities, but such a subject apparently strays form the scope of this paper. Limiting the scope to the present and expected role of PI/PID control, however, some interesting considerations can be made, and this is the purpose of the following sections.