1 / 25

Feedback Control of Computing Systems M6: Control Design

Feedback Control of Computing Systems M6: Control Design. Joseph L. Hellerstein IBM Thomas J Watson Research Center, NY hellers@us.ibm.com September 23, 2004. Determine the values of control gains that achieve the design objectives. Motivating Example.

Download Presentation

Feedback Control of Computing Systems M6: Control Design

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. Feedback Control of Computing SystemsM6: Control Design Joseph L. Hellerstein IBM Thomas J Watson Research Center, NY hellers@us.ibm.com September 23, 2004

  2. Determine the values of control gains that achieve the design objectives. Motivating Example u(k) = u(k-1)+(KP+KI)e(k)+KPe(k-1) + Controller Notes Server Notes Sensor - The problem Design a control system that is stable, accurate, settles quickly, and has small overshoot.

  3. M6: Lecture

  4. Outline • Control design methodology • Simple application • In-class lab: Designing a load balancing system Reference: “Feedback Control of Computer Systems”, Chapters 8,9.

  5. 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 for LTI Systems Stable if |a|<1, where a is the largest pole of G(z)

  6. Control Design • Purpose • Determine the value of the control gains • Steps • Specify the control objectives, such as settling time, maximum overshoot. • Determine the desired poles from the objectives • Find the modelled transfer function of the system for which the controller is being designed • The denominator is expressed in terms of the control gains • Solve for the control gains by equating terms in the denominator of step 3 with the expanded polynomial from step 2.

  7. y(k) = 0.43y(k-1)+0.47u(k-1) u(k) = u(k-1)+(KP+KI)e(k)+KPe(k-1) Controller Notes Server + - Example of Applying the Design Methodology: Step 1 Specify the control objectives Settling times should be no more than 3 time units.

  8. y(k) = 0.43y(k-1)+0.47u(k-1) u(k) = u(k-1)+(KP+KI)e(k)+KPe(k-1) Controller Notes Server + - Example of Applying the Design Methodology: Step 2 Determine the desired poles from the objectives Must specify two poles since the closed loop system is second order. Use 0.1 as the second pole. Settling time is determined by the largest pole.

  9. Example of Applying the Design Methodology:Step 3 y(k) = 0.43y(k-1)+0.47u(k-1) u(k) = u(k-1)+(KP+KI)e(k)+KPe(k-1) Controller Notes Server + - Find the modelled transfer function in terms of the control gains

  10. Example of Applying the Design Methodology: Step 4 y(k) = 0.43y(k-1)+0.47u(k-1) u(k) = u(k-1)+(KP+KI)e(k)+KPe(k-1) Controller Notes Server + - Solve for the control gains

  11. M6: Group Lab

  12. Methodology for Building Control Systems • Draw and describe the system (e.g., components, interactions) • Determine the control objectives (regulation? disturbance rejection?) • Draw a control block diagram of the system • Do a simple simulation of the control system (comparing with the real system if possible) • Find the transfer functions and validate with the simulation • Do a control design • Check the design with the simulation and the real system

  13. Designing a Load Balancing System for 2 Servers queue depth requests Balancer 1 Server 1 Completions Requests Work Queue Queue Depths Completions Balancer 2 Server 2 requests queue depth Operation Incoming requests are placed in work queue. Balancers take requests at a rate so as to balance queue depths between the servers. Controllers know the queue depth of the other server (although information may be delayed). Servers may have additional work that adds to their queue depths. But servers do not drop requests (at least in the load range studied).

  14. Designing a Load Balancing System for 2 Servers queue depth requests Balancer 1 Server 1 Completions Requests Work Queue Queue Depths Completions Balancer 2 Server 2 requests queue depth Questions How should the balancers be designed so that loads are balanced and steady state is achieved quickly? How does additional work in one server affect the other server? What is the impact of delays in exchanging queue depth information? What happens if one system is faster than the other system?

  15. Step 2: Determining the Control Objectives queue depth Completions Balancer 1 Server 1 requests Work Queue Requests Queue Depths Completions Balancer 2 Server 2 requests queue depth What is the control objective? Regulation? Disturbance rejection? Optimization?

  16. Step 3: Construct the Control Block Diagram queue depth Completions Balancer 1 Server 1 requests Work Queue Requests Queue Depths Completions Balancer 2 Server 2 requests queue depth Target system? Controller? Reference input? Measured output? Control input? What do we know about the transfer functions for the servers?

  17. A Possible Control Diagram D1(z) Server 1 Balancer 1 + E1(z) U1(z) + V1(z) R1(z) G1(z) K1(z) Y1(z) + - + Y(z) 0.5 + - V2(z) U2(z) G2(z) K2(z) Y2(z) + R2(z) + + E2(z) Server 2 Balancer 2 D2(z)

  18. Step 4: Construct a Simple Simulation • See ShortClass-M6 • Assume first order system for servers • Consider P and I control

  19. Step 5a: Identify the transfer functions to study D1(z) Balancer 1 + Server 1 E1(z) G1(z) K1(z) + Y1(z) + + - 0.5 - + G2(z) K2(z) Y2(z) + + E2(z) Balancer 2 Server 2 + D2(z) What are the input signals? What are the output signals?

  20. Step 5a (continued): Identify the Transfer Functions D1(z) Balancer 1 + Server 1 E1(z) G1(z) K1(z) + Y1(z) + + - 0.5 - + G2(z) K2(z) Y2(z) + + E2(z) Balancer 2 Server 2 + D2(z) From Di(z) to Ei(z): Effect of disturbance on the system on which the disturbance occurred From Di(z) to Ej(z): Effect of disturbance on the other system.

  21. Ei(z) Step 5b: Construct the Transfer Functions D1(z) Balancer 1 + Server 1 E1(z) G1(z) K1(z) + Y1(z) + + - 0.5 - + G2(z) K2(z) Y2(z) + + E2(z) Balancer 2 Server 2 + D2(z) Express Yi(z) interms of Yj(z) and the transfer functions and then do a lot of algebra.

  22. Step 5b: Construct the Transfer Functions D1(z) Questions What is the control error if the servers, balancers, and distrubances are identical? What controller will ensure a zero control error even if the systems and disturbances are different? Why? Balancer 1 + Server 1 E1(z) G1(z) K1(z) + Y1(z) + + - 0.5 - + G2(z) K2(z) Y2(z) + + E2(z) Balancer 2 Server 2 + D2(z)

  23. Step 5b: Why I-Control Ensures Balanced Systems D1(z) Balancer 1 + Server 1 E1(z) G1(z) K1(z) + Y1(z) + + - 0.5 - + G2(z) K2(z) Y2(z) + + E2(z) Balancer 2 Server 2 + D2(z) See how theory compares with simulation.

  24. Assignment: 2 Weeks • Find the poles of the load balancing system for identical servers that have poles at 0.5. • Now change the controller and do a PI design. • Expand to more systems • Study the effect of delays, especially if delays are not the same between systems

  25. Summary • Approach to control design • Limited to systems that are second order in closed loop • (More general approaches typically recall MIMO models.) • Load balancing case study • Optimization instead of regulation • But still uses linear time invariant models • Systematic methodology makes use of simulation, analysis, and (hopefully) real systems

More Related