1 / 17

Introduction to Control Theory and Its Application to Computing Systems

Introduction to Control Theory and Its Application to Computing Systems. Tarek Abdelzaher , University of Illinois Yixin Diao , IBM Research Joseph L. Hellerstein, Microsoft Developer Division Chenyang Lu, Washington University Xioayun Zhu, Hewlett Packard Laboratories June 2, 2008.

alessa
Download Presentation

Introduction to Control Theory and Its Application to Computing Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Control Theory and Its Application to Computing Systems TarekAbdelzaher, University of Illinois YixinDiao, IBM Research Joseph L. Hellerstein, Microsoft Developer Division Chenyang Lu, Washington University Xioayun Zhu, Hewlett Packard Laboratories June 2, 2008

  2. Tutorial Agenda • Control theory fundamentals • Self-tuning memory management in IBM’s DB2 • Control of real-time systems using model-predictive control • Automated workload management in virtualized data centers • Managing power and performance in data centers • Research challenges SIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.

  3. Tutorial Agenda • Control theory fundamentals • Control architecture and taxonomy • Simple analytics • Application summaries • Regulating load for IBM’s Lotus Domino email server • Throttling administrative work for IBM’s DB2 • Optimizing throughput for Microsoft’s .NET thread pool • Self-tuning memory management in IBM’s DB2 • Control of real-time systems using model-predictive control • Automated workload management in virtualized data centers • Managing power and performance in data centers • Research challenges SIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.

  4. Elements of a Control System Disturbance Input Reference Input Control Error Control Input Measured Output + Controller Target System - Transduced Output Transducer Given target system, transducer Control theory finds controller that adjusts control input to achieve measured output in the presence of disturbances. Components Target system: what is controlled Controller: exercises control Transducer: translates measured outputs Data Reference input: objective Control error: reference input minus measured output Control input: manipulated to affect output Disturbance input: other factors that affect the target system Transduced output: result of manipulation SIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.

  5. Administrative Tasks Administrative Tasks Target System Reference RIS Target System MaxUsers Actual RIS Measured RIS MaxUsers Reference RIS Actual RIS Measured RIS + Closed Loop Controller Server Sensor Open Loop Controller Server Sensor - • Stable • Fast settling Open Loop System Closed Loop vs. Open Loop • Adapts • Simple system model Closed Loop System SIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.

  6. MaxUsers Target System Reference RIS Measured RIS Controller Server Sensor + - • Eliminate effect of a disturbance • Ex: Service level management, resource management, constrained optimization Disturbance Rejection Administrative Tasks MaxUsers Target System Reference RIS Measured RIS Controller Server Sensor + - Types of Control • Manage to a reference value • Ex: Service differentiation, resource management, constrained optimization Regulatory Control Administrative Tasks MaxUsers Target System • Achieve the “best” value of outputs • Ex: Minimize Apache response times Measured RIS Controller Server Sensor Optimization SIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.

  7. Unstable System Stability Accuracy Short Settling Small Overshoot The SASO Properties of Control Systems SIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.

  8. Controller Block Diagram MaxUsers Actual RIS Desired RIS e(k) + u(k) y(k) Controller Server r(k) - Control Theory By Example – IBM Domino Server Architecture Good Admin RPCs MaxUsers Server Desired RIS Actual RIS (RPCs in System) Bad SIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.

  9. Dynamical Analysis of Discrete Time Systems 5 5 5 a=1.2 a=0.4 a=0.9 0 0 0 -5 -5 -5 5 5 5 a=-1.2 a=-0.4 a=-0.9 0 0 0 -5 -5 -5 0 5 10 0 5 10 0 5 10 Server Z-Transform Transfer Function (TF) Output at time k is proportional to ak, for pole a. Pole: Fast systems have small poles Oscillations result if neg or im poles Ratio of steady state output to steady state input Gain: 9 SIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.

  10. Control Design Poles of FR(z) KI=0.1 Example: Control Law KI=5 KI=1 KI=0.1 + r(k) e(k) u(k) y(k) Controller G(z) Server N(z) - Closed Loop Transfer Function

  11. U(z) Y(z) G(z) Target System Controller R(z) T(z) + G(z) K(z) - H(z) Transducer Steady state gain of G(z): Adding signals: Key Results From Linear Systems A(z) {c(k)=a(k)+b(k)} has Z-Transform A(z)+B(z). + C(z) + B(z) Transfer functions in series U(z) W(z) Y(z) G(z) H(z) is equivalent to U(z) Y(z) G(z)H(z) Transfer function of a feedback loop Stable if |a|<1, where a is the largest pole of G(z) SIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.

  12. DB2 BACKUP RUNSTATS REBALANCE DBA Application 2: Throttling Administrative Work in IBM’s DB2 Drops by >70%!! Utilities have a big impact on production performance. Administrative policy There should be no more than an x% performance degradation of production work as a result of executing administrative utilities SIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.

  13. CPU Priority Sleep mechanism 5 4 3 Production Throughput 2 1 0 0 200 400 600 800 1000 1200 1400 1600 1800 0 500 1000 1500 2000 2500 500 1000 1500 2000 2500 Time (sec) Choosing an Actuator CPU Priority is ineffective for controlling BACKUP 2000 1 0.8 0.6 Normalized Effector Value 0.4 0.2 0 0 200 400 600 800 1000 1200 1400 1600 1800 2000 0 Time (sec) SIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.

  14. y u 1 Control Architecture % Impact R: Impact Limit E: Error U: Sleep % Y: Pageometer (pages/sec) : Model parameters Y*: Baseline perf % Impact Pages/sec Assume linear effect of throttling on Y Online modeling provides a transducer that translates from Pages/sec (Y) to % Impact (M) SIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.

  15. Optimizing Throughput in the Microsoft .NET ThreadPool QueueUserWorkItem() Concurrency Level Controller ThreadPool Completion Rate (throughput) • Current ThreadPool • Objective: Maximize CPU utilization and thread completion rates • Inputs: ThreadPool events, CPU utilization • Techniques • Thresholds on inter-dequeue times, rate of increasing workers, change in rate of increasing workers • States: Starvation, RateIncrease, RateDecrease, LowCPU, PauseInjection • New approach • Objective: Maximize thread completion rate • Inputs: ThreadPool events • Technique: Hill climbing SIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.

  16. Hill Climbing Controller Discrete Derivative Large ControlGain • Want large gain so move quickly, but not overshoot. • Making good moves depends on • throughput variance • shape of curve Small ControlGain CurrentHistory LastHistory NewConcourrencyLevel for large ControlGain LastConcurrencyLevel = History mean NewConcurrencyLevel for small ControlGain CurrentConcurrencyLevel (50 work items:100ms with 10%CPU, 90% wait. 2.2GHz dual core X86.)

  17. State 2a – InTransition CurrentHistory.Add(data) Hybrid Control State Diagram WaitForSteadyState IsInTransition() ChangePointWhileLookingForMove Same as ChangePointWhileInitializing State 2 – Looking for move. CurrentHistory.Add(data) CompletedInitializing IsStableHistory(LastHistory): LastControlSetting = CurrentControlSetting CurrentControlSetting = ExploreMove() DirectedMove IsSignificantDifference(CurrentHistory, LastHistory): LastControlSetting = CurrentControlSetting CurrentControlSetting = DirectedMove() LastHistory = CurrentHistory CurrentHistory = null State 1 - Initializing LastHistory. LastHistory.Add(data) StuckInState IsStableHistory(CurrentHistory) & CurrentHistory.Count > SufficientlyLargeHistory: LastControlSetting = CurrentControlSetting CurrentControlSetting = ExploreMove() LastHistory = CurrentHistory CurrentHistory = null ChangePointWhileInitializing IsChangePoint(LastHistory): LastHistory = data CurrentControlSetting = ExploreMove() ReverseBadMove CurrentHistory.Count > MinimumHistory & LastHistory.Mean() > CurrentHistory.Mean(): Swap(CurrentControlSetting, LastControlSetting) ChangePointInQueueWaiting IsChangePoint(QueueOfWaiting) State 1a – InTransition. SIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.

More Related