Feedback Control of Computing Systems M1: Introduction

# Feedback Control of Computing Systems M1: Introduction

## Feedback Control of Computing Systems M1: Introduction

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

1. Feedback Control of Computing SystemsM1: Introduction Joseph L. Hellerstein IBM Thomas J Watson Research Center, NY hellers@us.ibm.com September 21, 2004

2. Controller Control Model MaxUsers Actual RIS Desired RIS e(k) + u(k) y(k) Control error: e(k)=r(k)-y(k) Controller Notes Server r(k) System model: y(k)=(0.43)y(k-1) +(0.47)u(k-1) - Example: Control of Lotus Notes Architecture Admin RPCs MaxUsers Server RIS = RPCs in System Desired RIS Actual RIS

3. Lab Exercise Block Diagram ARX* Models Reference RIS MaxUsers Actual RIS Control error: e(k)=r*-y(k) e(k) + u(k) y(k) P controller: u(k)=Ke(k) Controller Notes Server r* System model: y(k)=(0.43)y(k-1) +(0.47)u(k-1) - • Spreadsheet file ctclass-M1 • Proportional controller: Maxusers(k+1) = K(r*--y(k)) • What is the effect of K on • Accuracy: (want r*=y(k)=200) • Stability • Convergence rate • Overshoot *ARX is autoregressive with an external input

4. 59% Reduction in Total RT Database Server Buffer Pools, Sorts, Package Cache, etc. TS=26,342 TS=10,680 Memory Tuner Statistics Collector Agents Disks With Controller Without Controller Application of CT to a DBMS

5. Unstable System • Stabililty • Accuracy • Settling time • Overshoot Why Control Theory?

6. Goals, Structure, and Content • Goals • Control theory “boot camp” for CS students • Be able to formulate and solve basic control problems • Know references so can solve more complex problems • Structure • Partitioned into eight 55 minute modules, with 5 minute breaks between modules • Module organization • 40-45 minutes of interactive lecture • 15 minute labs Reference for this class: “Feedback Control of Computing Systems”, Hellerstein, Diao, Parekh, Tilbury, Wiley, 2004.

7. Course Modules • M1: Introduction (Chapter 1) • Content: Control system architecture, goals, and metrics. Constructing ARX models (including initial conditions) • Lab: Simulation and analysis of Notes server with a sensor • M2: Signals and Z-Transforms (Chapter 3) • Content: z-Transform representation of time signals; inverse z-Transforms; manipulating signals; infinite signals; final value theorem; • Lab: Signal analysis • M3: Systems and transfer functions (Chapter 3) • Content: transfer function definition; translating between transfer functions and ARX models; steady-state gain; poles; stability criteria; estimating settling times; • Lab: Analysis of the Notes server • M4: Analyzing composed systems (Chapter 4) • Content: Combining transfer functions in series; simplifying block diagrams; feedback transfer functions; • Lab: Analysis of a Notes feedback control system with and without a sensor

8. Adding signals: If {a(k)} and {b(k)} are signals, then {c(k)=a(k)+b(k)} has Z-Transform A(z)+B(z). U(z) Y(z) G(z) A(z) + C(z) + U(z) U(z) W(z) Y(z) Y(z) B(z) G(z) G(z)H(z) H(z) Transfer functions in series is equivalent to ssg of G(z) is Key Results from M2-M4 Stable if |a|<1, where a is the largest pole of G(z)

9. Outline • M5: Control analysis (Chapters 8, 9) • Content: Basic controllers; impulse response; step response • Lab: Analysis of controllers for Notes server system • M6: Control design (Chapters 8, 9) • Content: Pole placement design methodology • Extended group lab: Analysis of a load balancing system • M7: Real world examples (Various references) • Content: DB2 utilities throttling; DB2 self-tuning memory management • M8: Advanced topics (Chapter 11) • Content: Gain scheduling, self-tuning regulators, minimum variance control, fuzzy control • Homework; Project

10. Content • Covers 60% of the material presented in a semester class at Columbia U • Excludes • Modeling: System identification, multiple input multiple output (MIMO) models, non-linear models • Control: MIMO control, empirical tuning, adaptive control, stochastic control • Tools: MATLAB • Running examples: Apache HTTP server, M/M/1/K queueing system, streaming, load balancing

11. M1: Lecture Reference: “Feedback Control of Computer Systems”, Chapter 1.

12. Disturbance Input Control System Architecture Reference Input Control Input Measured Output Controller Target System Transduced Output Transducer Components Target system: what is controlled Controller: exercises control Transducer: translates measured outputs Given target system, transducer Control theory finds controller that adjusts control input to achieve measured output in the presence of disturbances. Data Reference input: objective Control input: manipulated to affect output Disturbance input: other factors that affect the target system Transduced output: result of manipulation

13. Administrative Tasks Target System MaxUsers Reference RIS Actual RIS Measured RIS Controller Notes Server MaxUsers Sensor Block Diagram Administrative Tasks IBM Lotus Domino Server Notes Client RPC Records RPCs Server Log Notes Server Notes Client Architecture

14. Reference CPU KeepAlive CPU Apache Web Server Open Loop Controller Reference MEM MEM MaxClients Apache: Open Loop Control Closed Loop vs. Open Loop Measured CPU Reference CPU KeepAlive Controller Apache Web Server Reference MEM Measured MEM MaxClients • Adapts • Simple system model Apache: Closed Loop Control • Stable • Fast settling

15. Reference CPU Measured CPU KeepAlive Controller Apache Web Server Measured MEM Reference MEM MaxClients Types of Control • Manage to a reference value • Ex: Service differentiation, resource management, constrained optimization Regulatory Control Administrative Tasks • Eliminate effect of a disturbance • Ex: Service level management, resource management, constrained optimization Reference CPU Measured CPU KeepAlive Controller Apache Web Server Measured MEM Reference MEM MaxClients Disturbance Rejection • Achieve the “best” value of outputs • Ex: Minimize Apache response times Measured CPU KeepAlive Controller Apache Web Server Optimization Measured MEM MaxClients

16. Unstable System Stability Accuracy Short settling Small overshoot Properties of Control Systems

17. Model of System Dynamics Transfer Function 100 80 60 Predicted RIS 40 20 0 0 20 40 60 80 100 Measured RIS Control Theory in Two Slides: System Identification MaxUsers Actual RIS Notes Server

18. Poles of H(z) Integral Control Law K=5 K=1 K=.1 Control Theory in Two Slides: Control Design + r* Controller G(z) Notes Server N(z) Sensor S(z) - H(z) = Closed Loop Transfer Function

19. M1: Labs

20. Lab 1: Yawning is Contagious • Description of system • Room full of people • Characteristics • People yawn because they need more oxygen • Yawning consumes more oxygen than normal breathing • Can open windows to reduce yawning, but it’s winter • Control objective • Regulate yawning to a desired frequency while maximizing temperature • Questions • What is an architecture of the system? A block diagram? • Discuss control policies • What does it mean for this system to be unstable? What would make it unstable?

21. air Operation of the Yawn System: Open Window open window

22. air Operation of the Yawn System: Closed Window closed window

23. Disturbance input Control Input Measured Output Reference Input + Controller Target System - Feedback For Yawn System • Answers • Yawn response (air in; yawn out) • Who ever sets the window height • Desired yawn rate • Volume of air • Add/remove people, opening door • Actual yawn rate • What is the • Target System • Controller • Reference input • Control input • Disturbance input • Measured output

24. Lab 2: Modifications to the Lotus Notes Simulation d(k) e(k) + + v(k) w(k) y(k) u(k) Controller Notes Server Notes Sensor r* + - K=1, r(k)=200, d(k)=10 Control error: e(k)= r*-y(k) I controller: v(k)=v(k-1)+Ke(k) System model: w(k)=(0.43)w(k-1) +(0.47)u(k-1) Disturbance input: u(k) = v(k) + d(k) Sensor: y(k)=(0.8)y(k) +0.72w(k)-0.66w(k-1)

25. Considerations in Simulating Dynamical Systems • Initial conditions • What are the starting values for signals? • Use of offset values versus • ARX models typically reflect variations around an operating point. • Offset is the original value minus the operating point