Computers on Cruise Control Creating Adaptive Systems with Control Theory Ricardo Portillo The University of Texas at El Paso

Slides:



Advertisements
Similar presentations
Feedback Control Real- time Scheduling James Yang, Hehe Li, Xinguang Sheng CIS 642, Spring 2001 Professor Insup Lee.
Advertisements

CprE 458/558: Real-Time Systems
Feedback Control Real-Time Scheduling: Framework, Modeling, and Algorithms Chenyang Lu, John A. Stankovic, Gang Tao, Sang H. Son Presented by Josh Carl.
Managing Web server performance with AutoTune agents by Y. Diao, J. L. Hellerstein, S. Parekh, J. P. Bigu Jangwon Han Seongwon Park
Introductory Control Theory I400/B659: Intelligent robotics Kris Hauser.
Chapter 4: Basic Properties of Feedback
DEXA 2005 Control-based Quality Adaptation in Data Stream Management Systems (DSMS) Yicheng Tu†, Mohamed Hefeeda‡, Yuni Xia†, Sunil Prabhakar†, and Song.
Esma Yildirim Department of Computer Engineering Fatih University Istanbul, Turkey DATACLOUD 2013.
Copyright © 2005 Department of Computer Science CPSC 641 Winter PERFORMANCE EVALUATION Often in Computer Science you need to: – demonstrate that.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 19 Scheduling IV.
University of Minho School of Engineering Centre Algoritmi Uma Escola a Reinventar o Futuro – Semana da Escola de Engenharia - 24 a 27 de Outubro de 2011.
280 SYSTEM IDENTIFICATION The System Identification Problem is to estimate a model of a system based on input-output data. Basic Configuration continuous.
A Heuristic Bidding Strategy for Multiple Heterogeneous Auctions Patricia Anthony & Nicholas R. Jennings Dept. of Electronics and Computer Science University.
Performance Evaluation
WM Software Process & Quality Generic Processes - Slide #1  P. Sorenson SPiCE Reference Model - how to read Chapter 5 Capability Levels (process.
1 PERFORMANCE EVALUATION H Often in Computer Science you need to: – demonstrate that a new concept, technique, or algorithm is feasible –demonstrate that.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
LDU Parametrized Discrete-Time Multivariable MRAC and Application to A Web Cache System Ying Lu, Gang Tao and Tarek Abdelzaher University of Virginia.
© 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Automated Workload Management in.
Applying Control Theory to Stream Processing Systems Wei Xu Bill Kramer Joe Hellerstein.
CH 1 Introduction Prof. Ming-Shaung Ju Dept. of Mechanical Engineering NCKU.
1. 2 What is Six Sigma? What: Data driven method of identifying and resolving variations in processes. How: Driven by close understanding of customer.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Business Process Performance Prediction on a Tracked Simulation Model Andrei Solomon, Marin Litoiu– York University.
CHAPTER 12 ADVANCED INTELLIGENT SYSTEMS © 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang.
Naixue GSU Slide 1 ICVCI’09 Oct. 22, 2009 A Multi-Cloud Computing Scheme for Sharing Computing Resources to Satisfy Local Cloud User Requirements.
System & Control Control theory is an interdisciplinary branch of engineering and mathematics, that deals with the behavior of dynamical systems. The desired.
Business Analysis and Essential Competencies
Book Adaptive control -astrom and witten mark
Committee of Sponsoring Organizations of The Treadway Commission Formed in 1985 to sponsor the National Commission on Fraudulent Financial Reporting “Internal.
Brief Review of Control Theory
Budget-based Control for Interactive Services with Partial Execution 1 Yuxiong He, Zihao Ye, Qiang Fu, Sameh Elnikety Microsoft Research.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.
ICOM 6115: Computer Systems Performance Measurement and Evaluation August 11, 2006.
A Utility-based Approach to Scheduling Multimedia Streams in P2P Systems Fang Chen Computer Science Dept. University of California, Riverside
1 Chapter 11 Compensator Design When the full state is not available for feedback, we utilize an observer. The observer design process is described and.
Managing Web Server Performance with AutoTune Agents by Y. Diao, J. L. Hellerstein, S. Parekh, J. P. Bigus Presented by Changha Lee.
Digital Control CSE 421.
Matlab Tutorial for State Space Analysis and System Identification
Control Loops Tune a Fish. Control Loops Tuning of a control loop involves selecting loop parameters to ensure stable control under all operating conditions.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
System Model Construction Prof. J. Stankovic University of Virginia Spring 2015.
Hierarchical Management Architecture for Multi-Access Networks Dzmitry Kliazovich, Tiia Sutinen, Heli Kokkoniemi- Tarkkanen, Jukka Mäkelä & Seppo Horsmanheimo.
 Galorath Incorporated 2004 AccuScope – A Tool For Relative Comparisons Lee Fischman & Kenneth Fong Galorath Incorporated SCEA 2004 Manhattan Beach,
Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2 lines Confidentiality/date line: 13pt Arial Regular, white.
Control Engineering. Introduction What we will discuss in this introduction: – What is control engineering? – What are the main types of control systems?
1 Creating Situational Awareness with Data Trending and Monitoring Zhenping Li, J.P. Douglas, and Ken. Mitchell Arctic Slope Technical Services.
1 © NOKIA FILENAMs.PPT/ DATE / NN Performance Study of a SMPP Traffic Generator Tool Kai Wu Nokia NMP/MSW Supervisor: professor Jorma Virtamo.
Spark on Entropy : A Reliable & Efficient Scheduler for Low-latency Parallel Jobs in Heterogeneous Cloud Huankai Chen PhD Student at University of Kent.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Chapter 33 Estimation for Software Projects
Digital Control CSE 421.
Decision Support and Business Intelligence Systems
Control Systems EE 4314 Lecture 12 March 17, 2015
Self-Tuning Memory Management of A Database System
Software Engineering (CSI 321)
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Control Theoretical Model for QoS Adaptations
Computer Systems Performance Evaluation
Brief Review of Control Theory
Smita Vijayakumar Qian Zhu Gagan Agrawal
Introduction To software engineering
Software Engineering I
Chapter 33 Estimation for Software Projects
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Computer Systems Performance Evaluation
Chapter 26 Estimation for Software Projects.
Fuzzy Logic Based on a system of non-digital (continuous & fuzzy without crisp boundaries) set theory and rules. Developed by Lotfi Zadeh in 1965 Its advantage.
Presentation transcript:

Computers on Cruise Control Creating Adaptive Systems with Control Theory Ricardo Portillo The University of Texas at El Paso

The Ultimate Goal: Performance Performance Goals  Response Time; Throughput; Execution Time; CPU Utilization How do we increase performance?  Tune the application to the system  Tune the system to the application I’m going to talk about this

Tuning the System to the Application 1. Determine the resource needs of the application 2. Determine what system parameters affect the application’s performance 3. Tune these parameters for optimal management of the application’s resources

The Problem: Computer Complexity ► Computers and applications are growing larger ► Systems are becoming more heterogeneous ► Workload characteristics change rapidly

The Solution: Automation Requirements ► Monitor if performance goals are being met ► Adapt when performance changes ► Guarantee that an adaptation will produce the desired effect at the right time

Analogous Scenario The cruise control in you car Requirements:  Monitor desired velocity is being met  Adapt accelerator when velocity changes  Guarantee that changes produce the desired velocity Cruise Control is implemented with Control Theory!

What is Control Theory? Control Theory is: ► A branch of engineering and mathematics ► Deals with systems that change over time Main Goal: Given a desired output from a system, manipulate system inputs to constantly achieve that output. Given a desired output from a system, manipulate system inputs to constantly achieve that output. Fundamental Concept: The Feedback Loop The Feedback Loop

The Feedback Loop Controller Target System Disturbance Input Measured Output Desired Output Control Input  Desired/Measured Output: Performance Metrics  Control Input: Tuning Parameters  Disturbance Input: Workload Changes

What’s Inside the Controller? ► A difference equation describing the next output as a function of the current input and output: y(k+1) = a*y(k) +b*u(k) y(k+1) = Desired Performance y(k) = Current Performance u(k) = Parameter value to meet desired performance ► Can be rewritten as: u(k) = [y(k+1) - a*y(k)] / b u(k) = [y(k+1) - a*y(k)] / b

The Controller Controller u(k) = [y(k+1) - a*y(k)] / b Desired Output y(k+1) Control Input u(k) Measured Output y(k) Receive Current performance y(k) Desired performance y(k+1) Produce Required parameter value u(k)

Difference Equation Flexibility ► Want to look more than one time step in the past? Use an ARX model: y(k+1) = a 1 y(k)+…+a n y(k-n+1)+b 1 u(k)+…+b m u(k-m+1) ► Want more than one performance goal satisfied? Produce a separate equation for each performance goal: CPU(k+1) = a 11 CPU(k) + a 12 MEM(k)+b 11 u 1 (k)+b 12 u 2 (k) MEM(k+1) = a 21 CPU(k) + a 22 MEM(k)+b 21 u 1 (k)+b 22 u 2 (k)

Getting your Difference Equation 1) Determine your system scope 2) Choose your representative workload 3) Run your experiments: ► Constantly change your parameters while workload is running ► Keep track of the current parameter and performance values and of subsequent performance values 4) Perform a scatter plot analysis on your data to estimate the coefficients of your equation 5) Evaluate your equation and repeat if necessary

Server Example 1) Determine your system scope: - Performance Output = CPU Utilization (range 0-1) - Control Input = Number of Users (NU) (range 0-N) - CPU(k+1) = a*CPU(k) + b*NU(k) 2) Choose your representative workload: Some server benchmark (e.g. TPC-C) Some server benchmark (e.g. TPC-C) 3) Run experiments 1) Start up server benchmark 2) Record CPU(k) 3) Change NU(k) 4) Goto step 2 until benchmark ends

Experimental Results After least-squares regression analysis: CPU(k+1) = *CPU(k)+0.19*NU(k) kCPU(k)NU(k)CPU(k+1) N/A

Controller NU(k) = [ *CPU(k)] / 0.19 Desired Output CPU(k+1) -> (e.g. CPU = 0.6) Control Input NU(k) Measured Output CPU(k) Server System Server Feedback Loop

Problem: Difference Equation may only work for the next timestep k+1 ► Assume coefficients a = b = 1 =>y(k+1) = y(k) + u(k) => u(k) = y(k+1) – y(k) ► Assume at k = 1; y(k) = 1 and you want goal y(k+1) = 2 u(1)= 2 – 1 = 1 u(1)= 2 – 1 = 1 -> u(1)=1 will produce y(k+1)=2 -> Performance goal met at k=2 ► What’s the value of y(k) at k=3? y(3) = y(2) + u(2) = = 3 -> Goal not met at k=3! ► As k grows ? y(k+1) = y(k) + 1 Performance metric will keep increasing until u(k) is remodified

Example that at least converges ► Assume coefficients a = b = 0.5 =>y(k+1) = 0.5*y(k) + 0.5*u(k) => u(k) = [y(k+1) – 0.5*y(k)] / 0.5 ► Assume k = 1; y(k) = 1 and you want goal y(k+1) = 2 u(1) = [2 –.5*1]/.5 = 3 u(1) = [2 –.5*1]/.5 = 3 -> u(1) = 3 will produce y(k+1) = 2 -> Performance goal met at k=2 ► What’s the value of y(k) at k=3? y(3) =.5*y(2) +.5*u(2) =.5*2 +.5*3 = 2.5 Goal not met at k=3! ► But… as k grows ? y(k+1) = {2.75, 2.87, 2.93, 2.96, 2.98,…} Performance metric converges to 3 if left unchecked ► A system is stable if performance converges when control input changes ► A system is accurate if it converges to the right performance value

Criteria for a Good Controller ► Stability: Measured performance must converge to some value when control inputs are modified ► Accuracy: Measured performance must converge to the performance goal when control inputs are modified ► Short Settling: Measured performance must converge to the performance goal quickly when control inputs are modified

How can We Evaluate the Criteria? ► Convert your difference equation into a non- recursive function by applying a Z-transform ► Apply Control Theory theorems to your non- recursive function to assess:  If your equation always converges (Stability)  To what value will it converge (Accuracy)  How fast will it converge (Settling Time)

Advanced Control Theory ► Gain Scheduling: Allows different controllers to be swapped at runtime. ► Self-Tuning Regulators: Enables the creation of difference equations at runtime using recursive least-squares analysis. ► Fuzzy Controllers: Applies heuristics written in symbolic logic when modifying control inputs. Used when system characterization is qualitative instead of quantitative.

Control Theory in Practice ► Data Networks: Much work in data flow control for TCP protocols ► Multimedia: Work on maintaining real-time performance constraints on data streams ► Server and DB Software: Most popular application of CT recently. DB2 contains CT based performance tuning ► Autonomic Computing Initiative: Applies holistic CT approach to large systems. Started in 2001 by IBM.

Future of CT in Computing ► Apply CT not only for regulatory performance control but also to performance optimization (e.g. with Fuzzy controllers) ► Automate the design of controllers (e.g. with Self-tuning regulators) ► Incorporate artificial intelligence to create and manage adaptive systems at runtime (e.g. with agent based computing)

In Summary ► Systems are becoming too complex to manage without automation ► Control Theory provides a systematic method of integrating adaptation into a system ► Control Theory is well established and easily maps to computing environments