What Does Control Theory Bring to Systems Research? Xiaoyun Zhu, Mustafa Uysal, Zhikui Wang, Sharad Singhal, Arif Merchant Hewlett-Packard Laboratories Palo Alto, CA 94304, USA {firstname.lastname}@hp.com Pradeep Padala, Kang Shin University of Michigan Ann Arbor, MI 48109, USA {ppadala, kgshin}@umich.edu ABSTRACT Feedback mechanisms can help today’s increasingly complex computer systems adapt to changes in workloads or operating conditions. Control theory offers a principled way for designing feedback loops to deal with unpredictable changes, uncertainties, and disturbances in systems. We provide an overview of the joint research at HP Labs and University of Michigan in the past few years, where control theory was applied to automated resource and service level management in data centers. We highlight the key benefits of a control-theoretic approach for systems research, and present specific examples from our experience of designing adaptive resource control systems where this approach worked well. In addition, we outline the main limitations of this approach, and discuss the lessons learned from our experience. Categories and Subject Descriptors D.2.10 [SOFTWARE ENGINEERING]: Design Methodologies. General Terms Algorithms, Management, Performance, Design, Experimentation, Theory. Keywords Control theory, systems research, model, dynamics, and stability. 1. INTRODUCTION Control theory provides a powerful mechanism for dealing with unpredictable changes, uncertainties, and disturbances in systems using feedback. Feedback mechanisms can be found in many engineering as well as biological systems. Although feedback- based techniques have also been developed for computing systems [25, 26] and networks [24] in the past, formal control theory is rarely used. In conventional systems research, feedback algorithms are typically designed based on the system designer’s domain knowledge and intuition instead of a quantitative model for the behavior of the system being controlled, and parameter values in these algorithms are often chosen in an ad-hoc fashion. What control theory brings to systems research is a rigorous methodology for modeling, analysis, design, and evaluation of feedback systems. Figure 1 illustrates a standard feedback control loop. We refer to the system being controlled as the target system, which has a set of metrics of interest (referred to as measured output) and a set of control knobs (referred to as control input). The controller periodically adjusts the value of the control input such that the measured output can match its desired value (referred to as reference input) specified by the system designer. That is, it aims to maintain the difference between the two (referred to as control error) at zero, in spite of the disturbance in the system, something affecting the measured output that is not under control. Figure 1. Standard feedback control loop. In the past decade, control theory has been applied to performance control in computing systems. A number of good overviews can be found in [2, 4, 9]. The types of systems that have benefited from such an approach include multi-media systems [14], Web servers [1, 8], proxy caches [18], database servers [22], multi-tier Web sites [10], and real-time systems [17]. There has also been growing interest in applying control theory to power management of data center servers and clusters due to the increasing energy cost in recent years [7, 13]. In particular, researchers at HP Labs and University of Michigan have applied a control-theoretic approach to automated resource and service level management in data centers. Areas of successful applications include performance isolation and differentiation in storage systems [12], CPU utilization control for resource partitions [28] and response-time-driven workload management [30] on HP-UX systems, performance control of a three-tier application running in distributed virtual machines [27], performance assurance and differentiation for multiple co-hosted multi-tier applications [15, 20, 21], and coordinated power management for data centers [23]. In this article, we summarize the lessons we learned from this experience. In particular, we describe key strengths of the control- theoretic approach that make it a powerful tool for building feedback loops in computing systems, and present specific examples from our own work. In addition, we discuss some limitations in this approach that remain open problems. 2. OVERVIEW Next-generation enterprise data centers and cloud computing environments are being designed with a utility computing paradigm in mind, where all hardware resources are pooled into a common shared infrastructure and applications share these resources as their demands change over time. In this new paradigm, multiple applications share dynamically allocated resources. These applications are also consolidated to reduce infrastructure and operating costs while simultaneously increasing resource utilization – virtualized infrastructures are becoming commonplace in consolidated environments. As a result, data center administrators are faced with growing challenges to meet service level objectives (SLOs) in the presence of dynamic resource sharing and unpredictable interactions across many applications. These challenges are: target system disturbance controller reference input (r) - control error (e) control input (u) measured output (y)